CTF-show-文件上传


1、web151

(1)法一:抓包改后缀

题目提示是前台校验,发现能上传图片,于是准备好的一句话木马改为png后缀上传再抓包

<?php @eval($_POST['x']);?>

将文件后缀修改为php再放包,可以看到文件上传成功

修改为php后缀 上传路径

上传成功后蚁剑连接即可得到flag

蚁剑

(2)法二:禁JS

搜索about:config修改javascript.enabled为false即可

火狐

但是禁用之后无法点击”上传图片”

2、web152

提示后端校验,于是上上传准备好的一句话木马(png)上传抓包,修改后缀即可

3、web153

.user.ini配置文件

From:https://blog.csdn.net/lleo1/article/details/117263108

首先抓包改后缀无法实行,查看数据包,是Nginx于是考虑.user.ini..htaccess是Apache的)

Nginx

先上传.user.ini.png

文件

第一行为GIF的文件头

auto_prepend_file:在加载第一个PHP代码之前先行加载该配置所指示的PHP文件

auto_append_file:在每个PHP页面执行完成后所要执行的代码

抓包后删除png后缀

删除png

再上传1.png的图片马

copy 12.png /b + 1.php /a 1.png

上传后访问/upload/index若有回显则说明执行了php木马上传成功

木马上传成功

用蚁剑连接/upload/index即可得到flag

  • .user.ini配置文件详情:

From:https://www.jianshu.com/p/c2ed6b05c964

原理:

php.ini是php的核心配置文件,在php启动时被读取。.user.ini实际上是一个可由用户自定义的php.ini(除PHP_INI_SYSTEM外的模式都可以设置)

.user.ini为一个动态加载的ini文件,修改后,只需要等待user_ini.cache_ttl所设置的时间(默认为300秒)即可被重新加载

漏洞利用:

若网站不允许上传php文件,可以先上传.user.ini再上传一个图片马,再进行getshell,前提是.user.ini的文件下需要有正常的PHP文件

范围比.htaccess更广,nginx/apache/IIS只要是以fastcgi运行的php都可以用此方法


文章作者: 17mie32
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 17mie32 !
  目录