0x01 相关知识
1.文件上传漏洞产生原因是什么?
通常一些web应用程序都会有文件上传的功能。如上传图片,上传压缩包等,只要有文件上传功能能就有可能造成文件上传漏洞。
2.文件上传漏洞的危害是什么?
简单直观就是危害很大,如直接上传webshell
3.既然文件上传危害这么大 那么他的防御方法有哪些?
1) 检查文件上传路径 ( 避免 0x00 截断、 IIS6.0 文件夹解析漏洞、目录遍历 )
2)文件扩展名检测 ( 避免服务器以非图片的文件格式解析文件 )
3)文件 MIME验证 ( 比如 GIF 图片 MIME为 image/gif,CSS 文件的 MIME为 text/css 等 ) 3. 文件内容检测 ( 避免图片中插入 webshell)
4)图片二次渲染 ( 最变态的上传漏洞防御方式 , 基本上完全避免了文件上传漏洞 )
5)文件重命名 ( 如随机字符串或时间戳等方式 , 防止攻击者得到 webshell 的路径 )
参考文章:https://www.cnblogs.com/someone9/p/9180218.html
0x02 漏洞利用
1.打开靶场:
2.上传文件内容以及名称
3.点击上传test.php,发现弹窗提示:
4.f12审查元素:
发现是这个脚本限制我们上传非图片格式的文件,既然他是前端验证那就好办了,我有无数方法可以绕过
5.最简单的方法:按f12点击左上角 之后鼠标选择到浏览,找到标签位置
6.直接改οnchange="type_filter(this.files)" 为 οnchange="test"
7.然后找到test.php
ok!已经绕过 点击上传试试。
完成,上传成功。
8.访问找flag:
http://192.168.72.136/template/upload/test.php
访问成功
按ctrl+f 寻找flag:
第一个显然不是我们要找的,下一个
显然这个是我们要找的
最后贴出flag可进行复制粘粘:sadfsadfsdadf
0x03 结语
很简单