文件上传进阶绕过(二)4个技巧和靶场实战

★★ 免责声明★★

文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

0、环境准备

请移步《文件上传靶场实战:upload-labs第1-3关》

1、.号绕过原理

Windows系统下,文件后缀名最后一个点会被自动去除。 靶场实验:Pass-07

2、特殊符号绕过原理

Windows系统下,如果上传的文件名中test.php::$DATA会在服务器上生成一个test.php的文件,其中内容和所上传文件内容相同,并被解析。 靶场实验:Pass-08

3、路径拼接绕过原理

在没有对上传的文件进行重命名的情况下,用户可以自定义文件名并在服务器中上传新建,就会造成对应的绕过黑名单。

例如:用户新建 1.php.+空格+. deldot删除最后一个点之后,不再进行删除,trim删除空格,那么最终上传的文件名为 1.php.,利用Windows自动去除最后一个点,导致成功上传1.php。靶场实验:Pass-09

4、双写绕过原理

代码编写过程中,只对黑名单中的内容进行空替换,因为只替换一次所以造成双写绕过。str_ireplace() 函数替换字符串中的一些字符(不区分大小写)。靶场实验:Pass-10

str_ireplace() 函数必须遵循下列规则:

如果搜索的字符串是一个数组,那么它将返回一个数组。

如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。

如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换

如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用。

注释:该函数不区分大小写。请使用 str_replace() 函数来执行区分大小写的搜索。

注释:该函数是二进制安全的。

来源:https://www.runoob.com/php/func-string-str-replace.html

5、Pass-07

5.0、攻击思路

上传一句话木马的文件info.php,打开Burp Suite拦截,在文件名后面加上点号【英文符号】,然后点Forward提交成功。

5.1、BurpSuite拦截
5.2、木马解析成功

回到文件上传页面,右击新标签页面打开,木马解析成功。

6、Pass-08

6.0、攻击思路

上传一句话木马的文件info.php,打开Burp Suite拦截,在文件名后面加::$DATA,然后点Forward提交成功。

6.1、BurpSuite拦截
6.2、木马解析成功

回到文件上传页面,右击新标签页面打开,需要手动删除路径中的::$DATA,木马解析成功。

7、Pass-09

7.0、攻击思路

上传一句话木马的文件info.php,打开Burp Suite拦截,在文件名后面加【.空格.】. .,然后点Forward提交成功。

7.1、BurpSuite拦截
7.2、木马解析成功

回到文件上传页面,右击新标签页面打开,木马解析成功。

8、Pass-10

8.0、攻击思路

上传一句话木马的文件info.php,打开Burp Suite拦截,在文件后缀名修改为双写.php-->.pphphp,然后点Forward提交成功。

8.1、BurpSuite拦截
8.2、木马解析成功

回到文件上传页面,右击新标签页面打开,木马解析成功。

9、下期内容预告

下期继续分享文件上传进阶绕过技巧(三)和靶场实战,敬请关注我的公众号:大象只为你,持续更新中...

相关推荐
Clockwiseee3 小时前
php伪协议
windows·安全·web安全·网络安全
Lspecialnx_8 小时前
文件解析漏洞中间件(iis和Apache)
网络安全·中间件
学习溢出9 小时前
【网络安全】逆向工程 练习示例
网络·安全·网络安全·渗透测试·逆向工程
孤独的履行者12 小时前
入门靶机:DC-1的渗透测试
数据库·python·网络安全
Blankspace学13 小时前
Wireshark软件下载安装及基础
网络·学习·测试工具·网络安全·wireshark
CVE-柠檬i17 小时前
Yakit靶场-高级前端加解密与验签实战-全关卡通关教程
网络安全
轨迹H1 天前
kali设置中文输入法
linux·网络安全·渗透测试·kali
cr.sheeper1 天前
Vulnhub靶场Apache解析漏洞
网络安全·apache
Autumn.h1 天前
文件解析漏洞
web安全·网络安全·中间件