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

0x00 前言

如饥似渴的学习ing。
前置章节
https://blog.csdn.net/qq_36869808/article/details/83029980

0x01 start

1.黑盒测试

首先进行一个界面的测试
代码审计实战—DWVA-sql-Medium_第1张图片
这样子无法通过输入来进行判断了,但是还是可以使用抓包来进行一个注入判断。
代码审计实战—DWVA-sql-Medium_第2张图片
使用1 or 1=1 来进行判断
代码审计实战—DWVA-sql-Medium_第3张图片
代码审计实战—DWVA-sql-Medium_第4张图片
返回结果正常,证明存在数字型注入。
接下来的流程就是走常规流程,该判断字段判断字段,该找数据找数据

2.白盒测试

我们来看一下重要的源码
其实就是输入位置以及过滤方式。

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

	$id = mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $id);

这里使用mysqli_real_escape_string方法进行过滤。
代码审计实战—DWVA-sql-Medium_第5张图片
这个是过滤的方式。
但是这里是数字类型的注入,所以使用字符串的转义没有意义。

3.尝试打补丁

我想到的最简单的打补丁的方式就是
代码审计实战—DWVA-sql-Medium_第6张图片
这样讲数字转换成字符串。
测试没有发现sql注入。

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