这篇文章记录了我刷题的过程,是ctf.show上的XSS漏洞,第316-第333
推荐一篇文章:XSS总结 - 先知社区
这篇文章列举一些自动触发的payload,可以收藏起来。
目录
准备工作
第316-333关详细说明
316关
317关
318关
319关
320关-326关
327关
328关
329关
330关
331关
332-333关
关于这个平台:CTFSHOW的XSS平台是这样的你每次提交后,后台会有一个机器人访问你的生成链接来模拟管理员触发恶意代码。
关于接受数据:两种方法
使用服务器接收办法:
index.php内容:
window.location.href= 会跳转到这个链接页面
document.cookie可以获取cookie作为参数拼接给前面的链接,给我们的提交页面
我们可以输入js代码,之后重新加载网页会被解析执行。
payload:
过滤script,换用别的标签
payload:
过滤了img 同317关
payload:
这里需要打开两次,第一次是自己的,第二次是管理员的。
payload:
过滤空格
payload:
输入用户名admin
,密码ctfshowdacaiji
登录成功,在用户管理页面即可看到flag。
注册一个账户,在账号哪里填写payload语句,之后用这个账号去登录。
payload:
后台管理员如果查看登录页面,就会触发js代码,把管理员的cookie发送出去。
利用抓包工具修改用户管理界面的cookie,从而获得管理员的权限,查看到flag
抓取到的cookie会快速失效。需要在失效前一步完成所有操作,直接拿到管理员的页面
paylaod:
多了个修改密码界面,借用这个新功能修改密码,直接使用XSS修改管理员的密码
之后admin 123登录
payload:
这次改成了post提交修改密码 admin 123 登录
paylaod:
POST /api/amount.php HTTP/1.1
Host: 4d7c45ce-f143-4223-9112-c8b9252ee7ee.challenge.ctf.show
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://4d7c45ce-f143-4223-9112-c8b9252ee7ee.challenge.ctf.show/transfer.php
Cookie: PHPSESSID=o5fl99p64lkmj65shn593sqd4i
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 16
u=test&a=1000000
这是转款的数据包,存在逻辑漏洞
随便注册一个账号 test 123
再注册一个带有paylaod的语句
然后购买flag
还有两外一种思路:给自己转负款,相当于加钱。
创作不易,各位路过大佬点个赞,支持一下,谢谢!!!