LOW
一、直接输入含木马连接的文件测试

- 直接上传文件后,发现可以直接上传
- 将提示的路径粘贴到URL后,页面空白,没有报错,那就是操作成功了
- 在使用蚁剑连接

- 这里成功连接了
二、代码审计

- 后端直接将用户上传的文件存储
- 没有对文件类型判断
- 没有对内容校验
- 直接使用了初始名命名
三、后端服务器没有做任何防护操作,存在文件上传漏洞
删除上传的文件防止对后需操作造成影响
Medium
一、直接上传返现提示有过滤

- 判读是使用白名单过滤的
- 使用抓包工具查看情况

-
这里先想到的是这里的
Content-Type字段中的内容 -
推测后端会判端请求包中的字段,这里直接修改为image/jpeg尝试

- 点击放行,发现成功上传,显示了路径

- 在使用蚁剑连接测试

- 连接成功
二、代码审计

- 可以看出这里先获取了文件名,大小,
MIME字段的内容, - 只有对
MIME字段的类型判断文件的合法性 - 这里判断了文件大小没什么作用
三、后端主要通过MIME字段中的信息来判断上传文件的类型的合法性
High
一、尝试抓包来试试

- 修改
Content-Type字段为image/jpeg看看

- 页面提示有问题,证明不是校验
MIME,换个思路试试
二、构造一个图片马试,在包含有木马文件和正常图片的目录下打开cmd
copy 图片名 /b + 木马文件 /a 输出后的文件
# 这是我的操作
copy hjk.jpg /b + 2.php /a 3.jpg

- 之后就在文件加中生成了
3.jgp文件
- 尝试上传这个文件看看

- 成功上传,那就表名后端对文件内容没有做过滤和审查,那就访问看看
- 将路径拼接到url地址后,发现返回的是图片,不是想要的结果
- 发现上传的图片没有被当成php代码解析,那就使用文件包含的方法来尝试解析图片马
- 这里你可将等级换成low级别访问文件,也可以不切换(那就要靠路文件包含关卡的过滤了)
# 注意地址
http://192.168.75.1/DVWA/vulnerabilities/fi/?page=../../hackable/uploads/3.png
-
使用蚁剑连接
-
由于HIgh等级的操作中,全局逻辑会验证会话的合法性,这里就需要添加cookie值,确保合法

三、代码审计

- 获取文件后缀名,文件大小,文件内容
- 判断文件后缀名是否正确,以及对文件大大小做了要求
- 主要使用了
getimagesize()函数判断图片的合法性 getimagesize()判断图片的宽度,类型,MIME类型,只最图片有用
四、存在上传漏洞,后端的函数只有对图片类型和长宽,MIMIE判断,没有对整体内容判断过滤
Impossible
代码审计

- 基础的验证(High级别的防护)
- 重新编码图片,重新生成新的图片并且保存到临时的路径中(过滤了木马程序)
- 使用MD5方式重命名文件名
- 不在页面中显示详细的路径位置,只是通过连接显示
2078

被折叠的 条评论
为什么被折叠?



