Ricky Hao

HTCF部分Writeup

杂项签到

  • 首先我们拿到流量包,在这里按照包长度排序一下就能找到用来加密的python脚本以及加密后的flag。

  • 接下来,我们将flag用base64解密,然后直接使用脚本的decrypt函数就可以恢复出flag明文。

RESTFUL

  • 这题主要使用的就是HTTP的PUT方法。其实Google下RESTFUL就能明白该怎么做。

  • 使用Burpsuite将访问题目的数据包拦截,并把头改为PUT /money/12451即可。

兵者多诡

  • 通过尝试发现该页面的fd参数存在LFI本地文件包含。

  • 尝试构造fd=php://filter/read=convert.base64-encode/resource=home就可以得到网页源码,其中.php会自动补全。

  • 上传经过zip加密后的payload:“,并且上传的时候要更改为png格式。

  • 访问fd=zip://uploads/$imagekey.png#1&system("cat ./../xxxxx.php|base64 -");就可以得到flag
    参考:

PHP 伪协议

必须比香港记者还要快

  • 通过访问README.md找到提示的hint。

  • 从hint中可得知,用户在刚注册的时候,拥有的是管理员权限。而在之后才被降级为普通用户。

  • 那么这题就是一个竞争问题。需要在注册成功且还未降权的时候登陆,就可以得到flag。

  • 使用python脚本,开两个线程同时注册和登陆即可。

gogogo

  • 这题是NES逆向吧。在上次的某比赛有个赤色要塞的NES逆向和这个差不多。当然,作为一个WEB和MISC狗是不会逆向这种高大上的东西的。因此,开个金手指十分钟通关就能得到flag了。

  • 至于逆向的做法,大致是先找到魂斗罗原版,然后两个文件进行二进制对比,找到不同的数据,再根据NES的做法对比调色板,就能得到flag了。

pic again

  • 这是一题LSB图像隐写题。先用工具将图片中的LSB隐写数据提取,会发现在提取的到的bin文件里有 50 4B 01 02 这样的zip文件标识。经过分析之后,发现出题人将文件头给删去了,我们将其补齐就能得到一个压缩包,打开就是flag。

web选手的自我修养

  • 这题我用的是非正规解法。首先,拿到docker镜像,将其load还原,然后docker run -t -i hctf/misc150 /bin/bash 来进入容器。我们可以发现,在home目录下有一个opache后门的扫描程序。那么就能初步判断这是 PHP7 的Opcache后门。

  • 首先我们尝试使用这个扫描器,结果不断报错。估计是库的版本不对还是怎么样。。就很气。在经过几个小时的修复和尝试重写工具之后,发现这是徒劳的。。

  • 最后将 /tmp/opcche 拖出来,肉眼查找flag,找了一小时在 class-wp.php.bin 文件里找到了经过base64加密后的字符串。

  • 其实,这题更暴力的解法是 strings *.php.bin|grep base64(“hctf”) 当然,这也不是正规解法。。应该是使用工具分析opcache字节码找到真正的后门。

点赞

发表评论

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据