代码审计实战—DWVA-sql-low

0x00 前言

如饥似渴的学习ing。
前置章节
代码审计——sql注入漏洞概述

0x01 start

首先准备一个DVWA的源码。自己找也行,我这里有一个弄好的,直接下载就可以了。
https://blog.csdn.net/qq_36869808/article/details/83029520

1. 黑盒测试

打开DVWA-SQL,调整成low。

代码审计实战—DWVA-sql-low_第1张图片

1.1 单引号测试

代码审计实战—DWVA-sql-low_第2张图片
报错。

1.2 # 进行注释

代码审计实战—DWVA-sql-low_第3张图片

1.3 使用1’ or 1=1 #进行测试

代码审计实战—DWVA-sql-low_第4张图片

1.4 使用1’ union select 1,database()测试

代码审计实战—DWVA-sql-low_第5张图片

2.百盒测试

我们来看源码。


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 $html .= "
ID: {$id}
First name: {$first}
Surname: {$last}
"
; } mysqli_close($GLOBALS["___mysqli_ston"]); } ?>

使用搜索,select啥的。。。不过这里貌似不需要搜索。。。直接就有。

可以清楚的看到
代码审计实战—DWVA-sql-low_第6张图片
直接拿到用户输入的数据,没有进行过滤。
直接引用数据
SELECT first_name, last_name FROM users WHERE user_id = ‘$id’
这个时候就会造成攻击。
貌似有一丢丢简单了。

你可能感兴趣的:(代码审计实战—DWVA-sql-low)