DVWA系列之22 low级别上传漏洞
更新:HHH   时间:2023-1-7


大多数的网站通常都会提供文件上传的功能,例如上传图片或是文档等,只要网站允许上传,就有可能存在上传漏洞。上传漏洞与SQL注入相比,其风险更大,***利用上传漏洞的主要目的是将WebShell上传到网站中,从而达到控制网站甚至整个服务器的目的。在看过的很多******实践案例中,上传漏洞和SQL注入都是两种并重的主流***手法。

在DVWA中选择Upload,首先分析low级别的代码:

首先站点通过upload参数以POST方式来接收被上传的文件,然后指定文件上传路径为“网站根目录/hackable/uploads”,文件上传到网站之后的名字仍沿用原先的名字。

接下来利用$_FILES变量来获取上传文件的各种信息。$_FILES变量与$_GET、$_POST类似,它专门用于获取上传文件的各种信息。

  • “$_FILES['uploaded']['name']”,用于获取客户端文件的原名称,

  • “$_FILES['uploaded']['tmp_name']”, 用于获取文件被上传后在服务端储存的临时文件名。

语句“move_uploaded_file($_FILES['uploaded']['tmp_name'], $target_path)”表示将上传后的文件移动到变量$target_path所指定的新位置,如果这个函数成功执行,则输出“succesfully uploaded!”,否则输出“Your p_w_picpath was not uploaded”。

可以看出,在low级别中,没有对上传的文件进行任何过滤,因而我们可以直接将php***文件上传到服务器中。比如上传一个名为an75.php的webshell文件,文件上传之后的路径为:http://127.0.0.1/dvwa/hackable/uploads/an75.php。

返回web开发教程...