XSS漏洞形成的原因?

跨站脚本攻击 ,Web程序中最常见的漏洞。

指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的. 比如获取用户的Cookie,导航到恶意网站,携带木马等。

XSS漏洞有几种类型

反射型

不经过数据库,是从目标服务器通过错误信息、搜索结果等等方式“反射”回来

比如可以将某购物网站包含xss脚本的链接诱导用户点击 (见假设1)

存储型

和反射xss最大不同在于 存储型可以以永久的存放在目标服务器数据库 此攻击方式常见论坛可以在发帖的过程中插入恶意脚本 被保存到服务器后 其他用户一旦浏览则被恶意脚本注入执行 (见假设2)

DOM 待了解

基于 DOM 的 XSS 攻击是指通过恶意脚本修改页面的 DOM 结构 纯粹发生在客户端的攻击

CSRF

CSRF不直接获取用户的cookie 而Xss 则会直接获取用户的Cookie 如果用户访问了某一个银行的网站忘记登出了 然后又访问了一个恶意网站 而恶意网站中存在以下代码 则发生CSRF

<html>
<head>
  <script type="text/javascript">
    function steal()
    {
             iframe = document.frames["steal"];
             iframe.document.Submit("transfer");
    }
  </script>
</head>
<body onload="steal()">
 <iframe name="steal" display="none">
   <form method="POST" name="transfer" action="<http://www.myBank.com/Transfer.php>">
     <input type="hidden" name="toBankId" value="11">
     <input type="hidden" name="money" value="1000">
   </form>
 </iframe>
</body>
</html>

XSS漏洞的DVWA实操

入门

因为初级没有任何过滤 Js脚本得以执行 可以获取cookie

<script>alert(document.cookie)</script>
//除了cookie还能采集localStorage.getItem('access_token')

Untitled

在实战可以借存储型xxs漏洞可达到远程获取其他用户session盗取账户使用权