[SUCTF 2019]CheckIn1

提示

  1. 一句话木马的多种变式(这里需要用到用javascript来写一句话木马)
  2. 注意修改文件头

先随意上传一个文件fuzz一下看能不能直接传webshell

从下面来看常见php后缀都不行,其中有一个没有加后缀过了后缀验证这一步,到了下一步,但是他还会看文件的内容不能有<?


首先不能是php文件就上传图片文件,再通过.htaccess和.user.ini来把图片文件当php运行

既然会过滤<? , 所以到这里就应该想到

  1. 用javascript来执行php <script language='php'>eval($_POST['a']);</script>

上传成功, 路径也返回出来了/uploads/c55e0cb61f7eb238df09ae30a206e5ee

接下来就要思考怎么传入.htaccess或者.user.ini了

先尝试传.htaccess

看样子因该是没有把.htaccess拉进黑名单可以传入, 但是看出来了不是图片文件(这里推断因该是会验证头信息)

这个就比较好处理, 在文件里最前面加入GIF89a他应该就会成功上传

注意, 无论什么时候content-type: 这个都是得注意的, 一般都会验证这里是否是图片类型

这里加上GIF89a尝试上传

上传成功

尝试访问上传的木马

如果不是出来的图片什么的, 就说明.htaceess起作用了, 这里用蚁剑或者菜刀之类的直接连就行了

在尝试传.user.ini

这里直接添加了文件头, 应为上面已经验证了

这里也成功上传

这里的代码意思所有的1.jpg文件都以php文件打开

所以最后两种方法都可以使用

尝试工具连接(蚁剑)

可行(记住得是上传文件的位置)

尝试rce

也是可行的

这里用的是hackbar火狐的插件

相关推荐
niucloud-admin3 分钟前
PHP SAAS 框架常见问题——服务器请求超时问题
服务器·php
HookJames10 分钟前
让 FlyingPress 的 Preload 队列变少,减轻 PHP 和数据库压力
android·数据库·php
Sayuanni%323 分钟前
五层网络模型-应用层
开发语言·网络·php
zopple12 小时前
ThinkPHP5常见问题及解决方案
python·php·laravel
RNEA ESIO13 小时前
PHP进阶-在Ubuntu上搭建LAMP环境教程
开发语言·ubuntu·php
zopple14 小时前
Laravel vs ThinkPHP:PHP框架终极对决
开发语言·php·laravel
常利兵19 小时前
大文件上传不再卡顿:Spring Boot 分片上传、断点续传与进度条实现全解析
spring boot·后端·php
念何架构之路19 小时前
图解常见网络I/O复用模型
服务器·网络·php
@insist12320 小时前
网络工程师-实战配置篇(一):深入 BGP 与 VRRP,构建高可靠网络
服务器·网络·php·网络工程师·软件水平考试
黑牛儿1 天前
PHP 8.3性能暴涨实测|对比8.2,接口响应提速30%,配置无需大幅修改
android·开发语言·后端·php