CTFd搭建CTF平台

作者: 分类: CTF,*nix,Python 时间: 2016-09-20 评论: 暂无评论

CTFd搭建CTF平台

0x00 前言

搭个CTF平台,看能不能带动一下学校的CTF参与度。

一个下午都在搭这个平台:O 抓瞎摸索,最后成功用Apache+mod_wsgi也算是功德圆满了。

进入正题:

  • 系统: CentOS release 6.8 (Final)
  • Apache: Apache/2.2.15 (Unix)
  • Mysql: Ver 14.14 Distrib 5.1.73
  • Python: 2.7.10

0x01 下载项目&环境配置

git clone https://github.com/isislab/CTFd.git

根据文档4个大步骤:

Install:

  1. ./prepare.sh to install dependencies using apt.
  2. Modify CTFd/config.py to your liking.
  3. Use python serve.py in a terminal to drop into debug mode.
  4. Here are some deployment options

apache和mysql的搭建我不再赘述,python系统自带是2.6,我升到2.7,可参见这里,记得还要装下PyMySQL

阅读全文»

CVE-2016-3862

作者: 分类: Security,Translation 时间: 2016-09-11 评论: 暂无评论

原文在这里CVE-2016-3862 flaw – Silently hack millions Androids devices with a photo

CVE-2016-3862 漏洞 - 仅一张图片便可无声的攻破数百万安卓设备

CVE-2016-3862 是一个远程代码执行漏洞,对于某些解析了Exif图片数据的安卓应用一张图片便足以造成危害

你是一位安卓用户?有个坏消息,在社交媒体或者可通信的应用上,一张看起无害的图片可能危害你的移动设备。

谷歌发布了最新的安全更新,用于修复 Quadrooter 漏洞,这个漏洞威胁了900多万台设备,并且一个零日漏洞(0day)可让攻击者将自己的攻击行为隐藏在图片之下。

这个漏洞被编号为CVE-2016-3862,是一个在远程媒体服务器上实现远程代码执行的漏洞。实现方式是通过解析了Exif图片数据的安卓应用来打开一张内含危害的图片。

“可交换的图像文件格式(正式的说法叫Exif,由JEIDA/JEITA/CIPA规定规格)是一种标准,这种标准规定了格式为用数码相机(智能手机)记录的图片、声音、和辅助标签,扫描器和其他系统的图像处理和用数码相机记录的音频文件”维基百科上这么解释。

该漏洞首次曝光于来自SentinelOne公司的安全研究人员Tim Strazzere ,Strazzere解释了该漏洞可以让攻击者在受害者完全毫无察觉的情况渗透并取得设备的完全控制权或者让手机崩溃。

“Strazzere告诉我只要攻击者让一个用户打开一张在受影响的应用里(如Gchat和Gmail)的图片文件,那么他们就可以让手机崩溃或者实现远程代码执行;因此他们可以在用户不知情的情况下有效地添置恶意软件到用户设备上并控制该设备。”Forbes这么说。

受害者甚至不需要点开恶意的图片,或者点开某个连接,因为只要图片一旦被设备所解析,便会出发CVE-2016-3862这个漏洞。

“这个问题最重要的是恶意的攻击者根本不需要受害者去做任何事。由于漏洞的出发不需要用户做太多互动——一个应用必须通过特定方式加载一张图片——漏洞的出发跟收到一条来自某人简讯或者邮件一样容易。只要应用程序尝试去解析图片(通常都是自动解析直至完成),就使漏洞生效了。”Strazzere 这么说。

阅读全文»

2016西安“华山杯”部分Writeup

作者: 分类: CTF 时间: 2016-09-11 评论: 暂无评论

2016西安“华山杯”部分Writeup

Web


打不过~

删掉disabled="true",加上type="submit",随便提交一个,抓包,发现返回的header头里有

Str: OGM0MzU1NTc3MTdhMTQ4NTc4ZmQ4MjJhYWVmOTYwNzk=

base64解一下再解个md5就拿下了。

系统管理

发现有提示:

<!-- $test=$_POST['username']; $test=md5($test); if($test=='0') -->

乌云有篇文章谈php弱类型的有说到,0e12353...这样的字符串等于,也就是说,我们要找到一个字串的md5是这样的形式,主义0e后面要全是数字才可以。写个脚本爆破一下子就拿到了:

md5.png

脚本代码在这里,5层循环简单粗暴

提交byGcY,提示user.php,访问得到新提示

$unserialize_str = $_POST['password']; $data_unserialize = unserialize($unserialize_str); if($data_unserialize['user'] == '???' && $data_unserialize['pass']=='???') { print_r($flag); }

是一个序列、反序列的问题,自己本地构造一下:

$t=array(
    'pass'=>'???',
    'user'=>'???'
);
$x=serialize($t);
print $x;
print gettype($x);

最后得到所要的a:2:{s:4:"pass";s:3:"???";s:4:"user";s:3:"???";}

最后到首页去连带之前的byGcY用户名一起提交,就拿下了。

序列和反序列下面还有一题,等下提供一些资料。

阅读全文»

中国菜刀原理浅分析

作者: 分类: Web 时间: 2016-09-07 评论: 2条评论

看下菜刀的原理,先连接抓包,看看都发生了什么

wireshark.png

从图中可以看到,发了一个包,然后返回结果,我们解析一下request包的具体内容,可以看到,访问一句话木马所在文件,然后传入参数@eval(base64_decode($_POST[z0]));。之后再传入z0和z1的参数,可以发现都是套了base64,我们解一下然后美化一下代码看看:

opendir.png

可以看到,先是用ini_set()set_time_limit()set_magic_quotes_runtime()来分别设置关闭显示错误信息,防止超时和关闭转移符号(This function was DEPRECATED in PHP 5.3.0, and REMOVED as of PHP 7.0.0.)

之后开始打开目录,列目录里所有文件和目录,然后返回。

分别用菜刀连接LinuxWindows系统,打开虚拟终端,分别输入lsdir,然后我们抓包看一下,分别是如下,代码基本相似,就是传入的参数有差别。

阅读全文»

i春秋-“百度杯”CTF部分Writeup

作者: 分类: CTF 时间: 2016-09-03 评论: 暂无评论

i春秋-“百度杯”CTF

code

似曾相识有没有 XD
访问?jpg=index.php,base64解一下,拿了一下index.php源码,发现phpstorm写的

index.php.png

index-source.png

扫一下目录发现workspace.xml,从里面得知flagfl3g_ichuqiu.php

dir.png

阅读全文»