0


ctfshow web151-161(文件上传一)

我这一生如履薄冰,你说我还能到对岸吗???

web151

法一:

只允许png文件,那可以把他改为php:

然后上传php文件

然后蚁剑连一下即可:

法二:

由于是前端校验,可以抓包后改一下后缀。

上传成功

蚁剑连一下即可

web152

题目描述:后端不能单一校验

法一:

先按照web1的方法试一下:

结果显示文件类型不合规。这就用到了MIME:MIME 类型 | 菜鸟教程 (runoob.com)

所以,我们只需把Content-type:改为image/png就可以了

法二:

直接上传123.php.png在抓包中把.png删掉即可

web153

先用上一题的方法试一下

但是用大小写绕过可以成功

但是当访问时,变成了自动下载了,就等于解析不了

在这里用到了.user.ini 和.htaccss文件

.htaccss:

1、.htaccess文件(或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。

2、 概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

3、 笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。

php.ini是php的一个全局配置文件,对整个web服务起作用;而.user.ini和.htaccess一样是目录的配置文件,.user.ini就是用户自定义的一个php.ini,我们可以利用这个文件来构造后门和隐藏后门

auto_prepend_file = <filename>         //包含在文件头
auto_append_file = <filename>          //包含在文件尾

这里的服务器为nginx服务器,所以只能使用.user.ini文件

然后再上传1.png

然后连接蚁剑。

注意要连:/upload/index.php

web154

先按照以前的方法,试一下。

发现不行

文件内容不合规,说明检测了文件的内容

试一下php短标签:
<? echo '123';?> #前提是开启配置参数short_open_tags=on
<?=(表达式)?> 等价于 <?php echo (表达式)?> #不需要开启参数设置
<% echo '123';%> #开启配置参数asp_tags=on,并且只能在7.0以下版本使用
<script language="php">echo '123'; </script> #不需要修改参数开关,但是只能在7.0以下可用。

web155

同web154

web156

依旧按照上一题的做法

发现[被过滤

可以将[]换成{}

上传成功

web157

经过测试把;过滤了

还过滤了$_POST{}

我们可以直接读flag

<?=system("cat ./flag.php")?>

还不成功,应该还过滤了一些东西

过滤了php

把flag.php换成f*上传成功,然后直接访问/upload/index.php

web158

还是按照上一题的方法

web159

经过测验,过滤了()

我们可以构造<? echo `cat f*`?>

上传成功。

web160

文件日志包含:

文件日志包含漏洞-CSDN博客

经过检测反引号`被过滤

nginx的日志文件会有信息

所以我们只需访问nginx的日志文件即可/var/log/nginx/access.log

经检测log被过滤了

但是我们仍可以写成"/var/lo"."g/nginx/access.lo"."g"

所以最后可以写成<?=include"/var/lo"."g/nginx/access.lo"."g"?>

然后在User-Agent里写入木马

访问即可

web161

按照上一题的方法上传

文件类型不合规。

经检测要在前面加GIF89a

上传成功,然后就按照上一题的步骤解就可以了

然后再上传一句话木马

连接即可

总结:

151 152:js验证+MIME

153:JS+.user.ini

154 155:js+.user.ini+短标签

156:js+.user.ini+()替换成{}+短标签

157 158 159: js+.user.ini+过滤+短标签

160:js+文件日志包含+.user.ini+过滤+短标签+UA头写后门代码

160:js+文件日志包含+.user.ini+过滤+短标签+文件头检测+UA头写后门代码

标签: 安全

本文转载自: https://blog.csdn.net/m0_74057302/article/details/136447828
版权归原作者 AZ_aa 所有, 如有侵权,请联系我们删除。

“ctfshow web151-161(文件上传一)”的评论:

还没有评论