首页 » Web前端 » php上传进击技巧_技能分享Web应用渗透实验策略与方法研究总结之文件上传进击

php上传进击技巧_技能分享Web应用渗透实验策略与方法研究总结之文件上传进击

访客 2024-11-30 0

扫一扫用手机浏览

文章目录 [+]

随着打算机网络技能的进步,Web运用在各个领域都有着不错的发展。
它具有很强的可移植性,只要有浏览器并能够连接到互联网就可以直策应用,并且具有很强的灵巧性,前台后台操作分明,纵然是管理员也可以远程操作后台,而支配本钱更是远远低于普通C/S构造的运用软件,尤其是各种CMS(内容管理系统)的涌现,使得建站更加大略、快捷。

Web运用在给人们带来便利的同时,也带来了前所未有的巨大安全风险。
而渗透测试作为一种高效的Web安全测试方法,正在普遍运用于Web运用程序安全测试事情中。

php上传进击技巧_技能分享Web应用渗透实验策略与方法研究总结之文件上传进击

本期由美亚网安技能专家为我们讲解Web运用渗透中极为常见的文件上传漏洞。
文件上传漏洞常日是由于对上传文件的类型、内容没有进行严格的过滤、检讨,使得攻击者可以通过上传木马获取做事器的webshell权限,因此文件上传漏洞带来的危害常常是毁灭性的。

php上传进击技巧_技能分享Web应用渗透实验策略与方法研究总结之文件上传进击
(图片来自网络侵删)
上传攻击的条件

1.目标网站具有上传功能

上传攻击实现的条件是:目标网站具有上传功能,可以上传文件,并且文件上传到做事器后可被存储。

2.上传的目标文件能够被 Web 做事器解析实行

由于上传文件须要依赖中间件解析并实行,因此上传文件后缀应为可实行格式。

例:在Apache+PHP环境下,哀求上传的 Web 木马采取.php后缀名(或能有以PHP办法解析的后缀名),并且存放上传文件的目录要有实行脚本的权限,以上两种条件缺一不可。

3.知道文件上传到做事器后的存放路径和文件名称

许多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值绕过。

2.可以先将文件改为许可的类型,比如muma.jpg,上传时利用burpsuit进行抓包修正后缀进行绕过。

图二:MIME防护的绕过

3.做事器端文件扩展名检测及绕过

文件扩展名检测防护事理

(1)文件后缀重命名

只许可单一类型文件上传,例如针敌人像上传,只许可JPG格式(需把稳,此种办法下,其他格式文件也可上传,但由于后缀名会被重命名为 .jpg ,因此其他格式文件无法实行)

(2)白名单过滤

只许可一种类型的文件上传,如图片上传,只许可上传后缀JPG、PNG、GIF,其他全部阻挡。

(3)黑名单过滤

许可多种类型文件上传,如统计表格提交、基本信息文件上传等,后台代码中禁止脚本文件后缀上传。

文件扩展名检测防护绕过

(1)黑名单过滤绕过:

1)多重测试过滤文件名

参考黑名单的示例,个中针对有.php后缀名的文件禁止上传,但没有对其他格式做出限定 因此可考试测验 php4、php5、cer等后缀此类后缀名不受黑名单的限定,同时中间件仍旧按照php解析。

2)判断是否存在大小写绕过

中间件会区分文件名的大小,但操作系统并不区分文件后缀名的大小写。

假设当前黑名单禁用 php、PHP、PhP 后缀名,而PHp、pHp、pHP 等后缀名不在名单内,因此可以考试测验上传pHp后缀名的文件来进行绕过。

3)分外文件名布局( Windows 下)

布局she11. php.或shell.php-( 此种命名办法在Windows不许可,以是须要抓包修正),当上传文件的HTTP包到达Web做事器后,并在中间件进行缓存转存时,由于Windows 不识别上述后缀机制,会自动去掉.和-等分外符号,从而使攻击者可绕过黑名单防护规则。

4)%00截断

绕过办法利用的是C措辞的终止符特性,当C措辞在实行过程中碰着%00时, %00会被当成终止符,因此程序会自动截断后续信息,仅保留%00之前的内容,漏洞仅存在于PHP3.7.3之前的版本,如 shell.php.jpg(把稳 .jpg前有个空格在上传页面进行转存时,之前文件名中的空格会被当成终止符,导致空格之后的内容被忽略。
因此,终极文件名会变为shell.php ,从而绕过了文件后缀名检讨。

(2)白名单过滤绕过:

1)分外文件名布局(参考黑名单防护)

2)%00截断(参考黑名单防护)

3)利用图片及文件包含漏洞(须要审计源码)

虽然以上方法都是利用系统毛病实现的,在现实中,如果Web中间件版本过低,也会存在解析漏洞等情形,这样攻击者就能对后缀名检测实现更多的绕过办法。

本期技能分享就到这里,后续美亚网安技能专家还会给大家分享更多关于网络空间安全、大数据安全的技能干货,我们下期再见!

标签:

相关文章

介绍百度码,技术革新背后的智慧之光

随着科技的飞速发展,互联网技术已经成为我们生活中不可或缺的一部分。而在这个信息爆炸的时代,如何快速、准确地获取信息,成为了人们关注...

Web前端 2025-01-03 阅读3 评论0

介绍皮箱密码,开启神秘之门的钥匙

皮箱,作为日常生活中常见的收纳工具,承载着我们的珍贵物品。面对紧闭的皮箱,许多人却束手无策。如何才能轻松打开皮箱呢?本文将为您揭秘...

Web前端 2025-01-03 阅读4 评论0

介绍盗号器,网络安全的隐忧与应对步骤

随着互联网的快速发展,网络安全问题日益突出。盗号器作为一种非法工具,对网民的个人信息安全构成了严重威胁。本文将深入剖析盗号器的原理...

Web前端 2025-01-03 阅读2 评论0