前端专场|青训营笔记|Web安全

154 阅读4分钟

一、常见的安全事件

1、“钓鱼”

(1)诱惑性标题

(2)仿冒真实网站

(3)骗取用户账号

(4)骗取用户资料

2、“篡改”网页

(1)关键字:Hacked by

(2)搜索引擎语法

Intitle:keyword标题中含有关键词的网页

Intext:keyword正文中含有关键词的网页

Site:domain在某个域名和子域名下的网页

3、“暗链”

(1)隐藏在网站当中链接

(2)网游/医疗/博彩/色情

(3)提高网站排名(SEO)

4、Webshell

(1)网页

(2)功能强大

(3)asp/php/ljsp

(4)后门程序

二、XSS

1、什么是XSS

(1)全称:Cross Site Script

(2)中文名称:跨站脚本

(3)危害:盗取用户信息、钓鱼、制造蠕虫等。

(4)定义:黑客通过“HTML注入”篡改网页插入了恶意脚本当用户在浏览网页时,实现控制用户浏览器行为的一种攻击方式。

2、XSS分类

(1)存储型:XSS脚本存储在数据库中,访问网页,触发XSS,可以通过访问网页源代码的方式来找到触发的位置点,可以配合使用火狐浏览器的firebug插件

(2)反射型:访问携带XSS脚本的链接,浏览器向后端发送请求,后端程序向URL中的XSS脚本数据写入响应页面并返回给浏览器,浏览器渲染响应页面触发XSS。  

存储型与反射型区别:前者是从数据库中提取XSS脚本数据,后者是直接从URL中提取XSS脚本数据。

(3)DOM型:访问携带XSS脚本的链接,浏览器通过javascript从URL中提取XSS脚本数据并写入DOM中,触发XSS。

三、CSRF

1、CSRF是什么

(1)全称:Cross-site request forgery

(2)中文名称:跨站请求伪造

(3)危害:执行恶意操作(“被转账”、“被发垃圾评论”、制造蠕虫”等)

(4)定义:利用用户已登录的身份,在用户毫不知情的情况下,以用户的名义完成非法操作。

2、CSRF原理分析

(1)举例

用户可以从自己账户转账-->黑客不能从他人账户转账-->黑客构造恶意网页-->用户主动访问恶意网页,转账到黑客账户

(2)过程

通常Cookie当中会存放用户凭证信息-->浏览器在发送任何请求时,会自动带上已有的cookie-->通过Cookie识别用户身份后,执行转账操作

四、点击劫持

(1)定义:通过覆盖不可见的框架误导受害者点击而造成的攻击行为。

(2)特点:

隐蔽性较高

骗取用户操作

“UI-覆盖攻击”

利用iframe或者其它标签的属性

五、URL跳转

(1)定义:借助未验证的URL跳转,将应用程序引导到不安全的第三方区域从而导致的安全问题。

(2)实现方法

Header头跳转

Javascript跳转

META标签跳转

六、SQL注入(SQL Injection)

(1)定义:SQL注入攻击是通过将恶意的 SQL查询或添加语句插入到应用的输入参数中,再在后台 SQL服务器上解析执行进行的攻击,是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击。

(2)特点

猜解后台数据库,这是利用最多的方式,盗取网站的敏感信息。

绕过认证,列如绕过验证登录网站后台。

注入可以借助数据库的存储过程进行提权等操作。

七、命令注入

1、命令可以做什么(以DOS命令为例)

(1)查看本地网络

(2)查看系统用户

(3)查看当前目录

(4)字符串查找

(5)复合命令:

命令拼接&,依次执行拼接的命令

管道符|,前面命令的输出作为后面命令的输入

2、WEB应用如何命令注入?

(1)调用可执行系统命令的函数

(2)函数或函数的参数可控

(3)拼接注入命令

八、文件操作

1、常见文件操作

(1)文件上传:上传头像、上传附件

(2)文件下载:下载应用、下载附件

2、你所不知道的文件操作

(1)文件上传:上传Webshell、上传木马

(2)文件下载:下载系统任意文件、下载程序代码

3、常见文件操作漏洞

(1)文件上传漏洞:正常功能,互联网产品不可或缺,如:上传头像、上传附件,如果文件处理不当,那么就可上传执行脚本、木马文件,如: webshell、木马exe。

文件处理不当:可以上传可执行脚本、脚本拥有执行权限

(2)任意文件下载:正常功能,互联网产品不可或缺,如:下载APP,下载附件,如果文件处理不当,服务器当中任意文件,如: php/aspx/jsp文件。

文件处理不当:未验证下载文件格式、未限制请求的路径

(3)文件包含漏洞:节约代码量,让程序美观,如:重复代码写入一个文件,如果文件处理不当,用户上传的恶意文件,或者远程文件,如:jpg/txt/php文件。