文件|【技术分享】Web应用渗透实验策略与方法研究总结之文件上传攻击
文章插图
随着计算机网络技术的进步,Web应用在各个领域都有着不错的发展。它具有很强的可移植性,只要有浏览器并能够连接到互联网就可以直接使用,并且具有很强的灵活性,前台后台操作分明,即使是管理员也可以远程操作后台,而部署成本更是远远低于普通C/S结构的应用软件,尤其是各类CMS(内容管理系统)的出现,使得建站更加简单、快捷。
Web应用在给人们带来便利的同时,也带来了前所未有的巨大安全风险。而渗透测试作为一种高效的Web安全测试方法,正在普遍应用于Web应用程序安全测试工作中。
本期由美亚网安技术专家为我们讲解Web应用渗透中极为常见的文件上传漏洞。文件上传漏洞通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞带来的危害常常是毁灭性的。
上传攻击的条件1.目标网站具有上传功能
上传攻击实现的前提是:目标网站具有上传功能,可以上传文件,并且文件上传到服务器后可被存储。
2.上传的目标文件能够被 Web 服务器解析执行
由于上传文件需要依靠中间件解析并执行,因此上传文件后缀应为可执行格式。
例:在Apache+PHP环境下,要求上传的 Web 木马采用.php后缀名(或能有以PHP方式解析的后缀名),并且存放上传文件的目录要有执行脚本的权限,以上两种条件缺一不可。
3.知道文件上传到服务器后的存放路径和文件名称
【 文件|【技术分享】Web应用渗透实验策略与方法研究总结之文件上传攻击】
许多Web应用都会修改上传文件的文件名称,这时就需要结合其他漏洞获取这些信息,如果不知道上传文件的存放路径和文件名称,即使上传成功也无法访问,因此,如果上传成功但不知道真实路径,那么攻击过程没有任何意义。
上传攻击防护的绕过1.客户端JavaScript检测及绕过
JS防护思路
在用户点击上传按钮后,客户端对上传的文件后缀名进行检测,并根据后缀名执行接下来的操作。
例:
1.如果没有检测到文件名,则弹框提示:“请选择要上传的文件”。
2.如果后缀名为 .jpg、.png,则判断为正确,执行上传流程。
3.如果不为上述后缀名,则弹框提示“这种文件类型不允许上传!”
此种手段仅允许合法的后缀名通过,所以也叫作JS的白名单防护方式。
JS防护绕过方式
1.浏览器可通过禁用JS方式,禁止防护脚本执行。(同样可以删除防护代码、修改防护代码来绕过)
2.通过抓包工具抓取上传的数据包,修改后缀。
2.服务器端MIME检测及绕过服务器端MIME防护原理
在HTTP协议中,会利用Content-Type标识本次上传的内容类型,这个类型由客户端的浏览器根据本次上传文件的后缀名自动生成。
文章插图
假设本次只允许上传图像格式文件,则允许上传文件的Content-Type值为 image/jpg、image/gif、image/png,如果攻击者上传的文件为“木马.php”,那么他的Content-Type值为application/octet-stream,则只需要检测Content-Type值是否为允许上传的类型,如果不是,则阻止上传。
文章插图
图一:服务器端MIME防护示例源码
MIME 防护的绕过方式
1.HTTP抓包后修改Content-Type类型,Content-Type类型由浏览器生成,因此可将Content-Type类型替换为可被允许的类型,从而绕过服务器后台检查,可利用burpsuit进行抓包修改Content-Type值绕过。
推荐阅读
- 空中上网|中国电信推出空中上网产品
- 奥瑞金:预制菜系列产品研发及其包装业务已推出首批产品
- 景气度|2022,七“贱”下天山
- 安九|网红安九售假雅诗兰黛,条形码无商品信息,多个平台鉴定为假货
- 知识店铺|百度文库:知识店铺开店量突破50万家,发布亿元优质内容激励计划
- 业务|哈啰出行新公司业务含小客车租赁
- 基地|永嘉县岩坦镇将打造浙南最大农产品电商基地!
- 美股|热门中概股美股盘前多数下跌,拼多多、京东等跌超2%
- 雷士照明集团副总裁兼电商总经理曾宇衡:直播电商加强了品牌与消费者互动|定制快讯| 雷士照明
- 视频平台|创作激励“姗姗来迟”,视频号“还能饭否”?