大多数的网站通常都会提供文件上传的功能,例如上传图片或是文档等,只要网站允许上传,就有可能存在上传漏洞。上传漏洞与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。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。