文件上传汇总

admin 2024年8月18日00:50:01评论36 views字数 1594阅读5分18秒阅读模式

前言

很早就应该出这篇了,之前国赛出题耽搁了一下,补坑补坑
这个漏洞相信有点接触的都很清楚要干嘛的,就不解释了,直接开讲

常见的上传文件的校验方法

这个漏洞体系庞大,不知道从何讲起,所以就先根据这些校验的方法将绕过的方法说一说

客户端校验绕过

这个检测是在前端,所以直接抓个包改一下就能绕过上传文件了

服务端绕过

content-type检验

这种检验抓包修改content-type即可

文件幻数检测

在文件内容前加入对应的文件头信息,GIF89a‰PNG之类的

文件加载检测

如果图片是通过渲染的方式进行测试的话,可以将一句话木马放在图片最后,尝试一下能不能执行

后缀名

大小写

有些服务器会忽略大小写,因此可以直接修改后缀名的大小写完成绕过

扩展名

有一些后缀名可能不在黑名单里面,但是也是能被服务器解析的

1
2
3
4
jsp jspx jspf
asp asa cer aspx
php php3 php4 php5 pht phtml
exe exee

%00截断

如果存在这个漏洞的话,可以上传一个文件名为test.php%00.jpg,用它绕过漏洞

解析漏洞

这个漏洞主要是web容器在解析文件时出了漏洞,导致其他格式的文本也能当做脚本格式去执行

多后缀

Apache的解析规则是从右往左进行判断,如果后缀名为不可识别的文件,就再向左进行解析
例如假设上传了一个test.php.abc,服务器不能识别abc,所以会向左看,解析php,能解析了,于是将它解析成php文件

配置漏洞

如果在Apache的conf文件里有这样一行配置AddHandler php5-script .php,这时只要文件名里包含.php 即使文件名是 test2.php.jpg 也会以 php 来执行。
同理,如果在Apache的conf里有这样一行配置AddType application/x-httpd-php .jpg,即使扩展名是 jpg,一样能以 php 方式执行。

.htaccess

一般来说,配置文件都是全局的,但是Apache还有一种比较简单的配置当前目录和子目录的配置文件,当然想利用的前提是开启了模块的使用

1
2
AllowOverride All
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

ubuntu配置还需要加多句命令sudo a2enmod rewrite,然后还要重启服务器
假设我们能上传一个.htaccess文件并且写入

1
2
3
<FilesMatch "shell.jpg">
SetHandler application/x-httpd-php
</FilesMatch>

这样子等我们上传shell.jpg的时候就能将shell.jpg文件当做php文件执行

例题

这里给一个例题,2018年的巅峰极客有一题BabyWeb,图太久远找不回了,只讲操作好吧
首先扫描端口看到3306是开放的,然后用hudra爆破mysql拿到密码是1q2w3e4r5t6y,进入数据库后可以得到账号和密码`[email protected]/babyweb@1990,成功登录进去以后就是想办法进行文件上传去getshell了 登录进mysql以后是看到一个type字段,内容是{“0”:”png”,”1”:”jpg”,”2”:”gif”},这里就是前端取的限制上传的值,直接改php改不了,但是我们可以绕一下,改成{“0”:”png”,”1”:”jpg”,”2”:”gif”,”3”:”xxx”,”5”:”htaccess”},这样就能成功上传.htaccess`文件,且内容为

1
2
3
<FilesMatch "shell.xxx">
SetHandler application/x-httpd-php
</FilesMatch>

然后再上传shell.xxx,这样就能成功解析shell.xxx文件然后getshell

FROM:Xi4or0uji

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月18日00:50:01
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   文件上传汇总https://cn-sec.com/archives/3074999.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息