​带你玩转系列之Sqlmap

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: Sqlmap

正所谓Sqlmap玩得6,jianyu等你救

00x00    Sqlmap介绍

SQLMap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的url的SQL注入漏洞内置很多绕过插件,支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB等数据库的各种安全漏洞检测。

sqlmap支持五种不同的注入模式:

   基于布尔的盲注,即可以根据返回页面判断条件真假的注入;    基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断;    基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中;    联合查询注入,可以使用union的情况下的注入;    堆查询注入,可以同时执行多条语句的执行时的注入。

官方下载地址:http://sqlmap.org

需要环境:https://www.python.org

 640.jpg

00x01    SQLmap创建桌面快捷方式

桌面右键创建一个cmd快捷方式重新命名为SQLmap.exe,,点击属性模块,把起始位置改为SQLmap的绝对路径

640.png

运行程序,可通过--help获取参数帮助

640.png

00x02   Sqlmap入门参数

-p:指定测试参数,如sqlmap -u 192.168.0.1/?id=1 -pid

--dbms=mysql /oracle/ mssql:指定数据库

--delay 1:延时1秒进行注入(延迟注入)

-b: 获取banner

-g:批量从谷歌获取url进行批量注入 -g "inurl:jsp?id="

-r读取post包判断注入点 sqlmap -r C:/post.txt

-u 判断是否存在注入点 sqlmap -u 192.168.0.1/?id=1

--dbs 查询当前用户下的所有数据库 sqlmap -u 192.168.0.1/?id=1 --dbs

-tables 获取数据库中的表名 sqlmap -u 192.168.0.1/?id=1 -D sjk --tables

--colums 获取表名中的字段名 sqlmap -u 192.168.0.1/?id=1 -D sjk -T biao --colums

--dump获取字段的内容 sqlmap -u 192.168.0.1/?id=1 -D sjk -T biao -C user pass --dump

00x03    Sqlmap进阶参数

--level5:探测等级1-5级,会自动跑cookie,XFF等参数注入,一般推荐3级。

--is-dba:判断是否为dba权限

--sql-shell:直接运行sql语句

--os-cme/--os-shell:操作系统命令

--file-read:从数据库服务器中读取文件 --file-read="/etc/password"

--file-write: 写入操作 --sql-query="select "一句话" --file-write="ma.php"

--file-dest:写入绝对路径

---roles:列出数据库管理员

--union-check:是否支持union注入

--union-cols:union 查询表记录

--union-test:union语句测试

--union-use:采用union 注入

--proxy:添加代理 --proxy=127.0.0.1:1080

---threads:多线程

--user-agent:自定义user-agent

--referer=REFERER:HTTP referer头

--eval=EVALCODE:所使用HTTP参数污染

--hostname:主机名

--schema:枚举DBMS模式

--count:检索所有条目数

--search:搜索列,表或数据库名称

--reg-read: 阅读一个Windows注册表项值

--reg-add:增加一个Windows注册表项值数据

--reg-del:删除一个Windows注册表项值数据

--reg-key=REGKEY:Windows注册表键

--reg-value=REGVAL: Windows注册表键值

-- reg-data=REGDATA:Windows注册表的键值项数据

--reg-type=REGTYPE:Windows注册表键的值类型

--hex:使用十六进制数据检索功能

--output-dir=ODIR :自定义输出的目录路径

--check-waf:启发式检查WAF / IPS / IDS保护

--os-pwn:反弹shell

--random-agent:使用随机选定的User-Agent头

00x04    Tamper脚本使用

利用tamper脚本来绕过WAF

tapmer=0x2char               将每个编码后的字符转换为等价表达               
tapmer=apostrophemask               单引号替换为Utf8字符               
tapmer=apostrophenullencode               替换双引号为%00%27               
tapmer=appendnullbyte               有效代码后添加%00               
tapmer=base64encode               使用base64编码               
tapmer=between               比较符替换为between               
tapmer=bluecoat               空格替换为随机空白字符,等号替换为like               
tapmer=chardoubleencode               双url编码               
tapmer=charencode               将url编码               
tapmer=               
tapmer=0x2char               将每个编码后的字符转换为等价表达               
tapmer=apostrophemask               单引号替换为Utf8字符               
tapmer=apostrophenullencode               替换双引号为%00%27               
tapmer=appendnullbyte               有效代码后添加%00               
tapmer=base64encode               使用base64编码               
tapmer=between               比较符替换为between               
tapmer=bluecoat               空格替换为随机空白字符,等号替换为like               
tapmer=chardoubleencode               双url编码               
tapmer=charencode               将url编码               
tapmer=charunicodeencode               使用unicode编码               
tapmer=charunicodeescape               以指定的payload反向编码未编码的字符               
tapmer=commalesslimit               改变limit语句的写法               
tapmer=commalessmid               改变mid语句的写法               
tapmer=commentbeforeparentheses               在括号前加内联注释               
tapmer=concat2concatws               替换CONCAT为CONCAT_WS               
tapmer=equaltolike               等号替换为like               
tapmer=escapequotes               双引号替换为\\\\               
tapmer=greatest               大于号替换为greatest               
tapmer=halfversionedmorekeywords               在每个关键字前加注释               
tapmer=htmlencode               html编码所有非字母和数字的字符               
tapmer=ifnull2casewhenisnull               改变ifnull语句的写法               
tapmer=ifnull2ifisnull               替换ifnull为if(isnull(A))               
tapmer=informationschemacomment               标示符后添加注释               
tapmer=least               替换大于号为least               
tapmer=lowercase               全部替换为小写值               
tapmer=modsecurityversioned               空格替换为查询版本的注释               
tapmer=modsecurityzeroversioned               添加完整的查询版本的注释               
tapmer=multiplespaces               添加多个空格               
tapmer=nonrecursivereplacement               替换预定义的关键字               
tapmer=overlongutf8               将所有字符转义为utf8               
tapmer=overlongutf8more               以指定的payload转换所有字符               
tapmer=percentage               每个字符前添加%               
tapmer=plus2concat               将加号替换为concat函数               
tapmer=plus2fnconcat               将加号替换为ODBC函数{fn               CONCAT()}               
tapmer=randomcase               字符大小写随机替换               
tapmer=randomcomments               /**/分割关键字               
tapmer=securesphere               添加某字符串               
tapmer=sp_password               追加sp_password字符串               
tapmer=space2comment               空格替换为/**/               
tapmer=space2dash               空格替换为–加随机字符               
tapmer=space2hash               空格替换为#加随机字符               
tapmer=space2morecomment               空格替换为/**_**/               
tapmer=space2morehash               空格替换为#加随机字符及换行符               
tapmer=space2mssqlblank               空格替换为其他空符号               
tapmer=space2mssqlhash               空格替换为%23%0A               
tapmer=space2mysqlblank               空格替换为其他空白符号               
tapmer=space2mysqldash               空格替换为–%0A               
tapmer=space2plus               空格替换为加号               
tapmer=space2randomblank               空格替换为备选字符集中的随机字符               
tapmer=symboliclogical               AND和OR替换为&&和||               
tapmer=unionalltounion               union               all               select替换为union               select               
tapmer=unmagicquotes               宽字符绕过GPC               
tapmer=uppercase               全部替换为大写值               
tapmer=varnish               添加HTTP头               
tapmer=versionedkeywords               用注释封装每个非函数的关键字               
tapmer=versionedmorekeywords               使用注释绕过               
tapmer=xforwardedfor               添加伪造的HTTP头

更多sqlmap用法:https://github.com/sqlmapproject/sqlmap/wiki/Usage

 

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 NoSQL MongoDB
掌握MongoDB索引优化策略:提升查询效率的关键
在数据库性能调优中,索引是提升查询效率的利器。本文将带你深入了解MongoDB索引的内部工作原理,探讨索引对查询性能的影响,并通过实际案例指导如何针对不同的查询模式建立有效的索引。不仅将涵盖单一字段索引,还会探讨复合索引的使用,以及如何通过分析查询模式和执行计划来优化索引,最终实现查询性能的最大化。
|
存储 JSON 区块链
【HarmonyOS NEXT开发——ArkTS语言】购物商城的实现【合集】
HarmonyOS应用开发使用@Component装饰器将Home结构体标记为一个组件,意味着它可以在界面构建中被当作一个独立的UI单元来使用,并且按照其内部定义的build方法来渲染具体的界面内容。txt:string定义了一个名为Data的接口,用于规范表示产品数据的结构。src:类型为,推测是用于引用资源(可能是图片资源等)的一种特定类型,用于指定产品对应的图片资源。txt:字符串类型,用于存放产品的文字描述,比如产品名称等相关信息。price:数值类型,用于表示产品的价格信息。
652 5
|
数据格式 Python
【Python】已解决:Excel无法打开文件test.xIsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
【Python】已解决:Excel无法打开文件test.xIsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
1524 0
|
前端开发 NoSQL Java
面试官:如何防止短信盗刷和短信轰炸?
面试官:如何防止短信盗刷和短信轰炸?
1131 1
|
机器学习/深度学习 数据挖掘 数据处理
深度学习之卫星图像中的环境监测
基于深度学习的卫星图像环境监测是指通过使用深度学习模型处理和分析来自卫星的遥感数据,以实现对地球环境的自动化监测和分析。这项技术极大提升了环境监测的效率、精度和规模,应用于气候变化研究、生态保护、自然灾害监测、城市扩张评估等多个领域。
612 0
|
编解码 人工智能 自然语言处理
让大模型理解手机屏幕,苹果多模态Ferret-UI用自然语言操控手机
【5月更文挑战第29天】苹果推出Ferret-UI,一个结合图像识别和自然语言处理的多模态大语言模型,允许用户通过自然语言指令操控手机。该系统能适应不同屏幕布局,识别UI元素并执行相应操作,有望变革手机交互方式,提升无障碍体验,并在测试和开发中发挥作用。但需面对屏幕多样性及准确性挑战。[论文链接](https://arxiv.org/pdf/2404.05719.pdf)
691 3
|
安全 Linux 网络安全
Kali渗透测试:使用browser_autopwn2模块进行渗透攻击
Kali渗透测试:使用browser_autopwn2模块进行渗透攻击
257 0
|
机器学习/深度学习 存储 监控
基于YOLOv8的多目标检测与自动标注软件【python源码+PyqtUI界面+exe文件】【深度学习】
基于YOLOv8的多目标检测与自动标注软件【python源码+PyqtUI界面+exe文件】【深度学习】
|
机器学习/深度学习 数据可视化
R语言中生存分析模型的时间依赖性ROC曲线可视化
R语言中生存分析模型的时间依赖性ROC曲线可视化
|
JSON 小程序 Ubuntu
Linux系统中利用MQTT连接腾讯云的方法
Linux系统中利用MQTT连接腾讯云的方法
388 0
Linux系统中利用MQTT连接腾讯云的方法