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']); ?>
上传成功,同时得到文件的上传路径
然后cknife连接即可
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截了个包,
content-Type满足代码里的条件,再把名字改成2.php上传,上传成功,尝试菜刀连接:
成功
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 总结
唔,也没啥要总结的,感觉