ctf-web知识点整理

前言

ctf中web安全考察点知识点多种多样,现笔者不才,斗胆试着整理一下,也是对自己近一年来web所学做一次总结,由于整理并非非常完善,故此文将持续更新。

低版本php+nginx 解析漏洞

正文

事情要从某个午后说起,那时我正在日一个xx站,这个站nginx版本是1.6.2,php版本是5.3.3,开了GPC,我反复折腾了几天下来,有了数据库权限,有了任意文件下载,但是审了半天源码下来,审不出一个shell来,很绝望地上传了一个图片马,后面加了个/.php访问,它。。竟然执行了!?
5.png

对cve-2017-0199与cve-2017-8759的浅析

前言

首先说一下为什么偏偏选了这两个cve来复现+分析,其实是因为这两个cve复现比较容易,而且是目前apt团体主要用于apt打击的工具,而且于我个人而言,也是第一次分析word漏洞(当然这两个只是word的逻辑漏洞,并不是溢出漏洞,相对来说比较容易分析)。

没想到的是分析这两个漏洞的过程并不是一帆风顺,甚至可以说是坑坑洼洼了ORZ。也为了后人的学习以及自己将来的学习,故写下这篇文章。

810线下赛复盘

pwn

前言

将atoi_got修改成printf_plt,威力无穷~

线下赛只有一个pwn题,但这一个pwn题却出的非常好,虽然防御机制没有全开,但是考察点非常之多,就其中一个漏洞的利用,就考察了如下五个知识点。

  • string overflow
  • int overflow
  • off by one
  • race condition
  • heap overlay
  • fmt

8月9日个人赛总结 && writeup

前言

还好这次比赛网络环境比较差,主办方被迫放了许多离线题,让我这只bin dog有机可乘(手动滑稽),但这次比赛也确实发现自身的web能力有限,对于一些简单的web题竟然出现无从下手的情况。。也借这次比赛总结下离线环境下一些特殊操作吧。

正文

对于一些密码类的题目,手头有合适的工具最好了,但很多情况下,工具并不适用,比如这次比赛中,出现的aes解密,不清楚加密模式,需要输入iv和key,而手头的工具只可以输入key,且加密模式确定,没办法,只能去找库,不过比较幸运的是,之前安装过一个crypt的python库,看里面的源码,竟然有aes加密的说明,简单的倒推一下就能够推出解密脚本。

1
2
3
4
5
6
from Crypto.Cipher import AES
key = b'EaRncVfLgIPMaygA'
iv = b'HDkMsMEzkkzyQLTH'
cipher = AES.new(key, AES.MODE_CBC, iv)
msg = iv + base64.b64decode("kWZnRZMZv9JJLcD4v6o19iFKHOhc/S1Dv5y3r2YxhnRuWE8w/ji0jr0VFAGDbfzyQLcONBtB6pjetkHggUPv/rUmXoSfTnnWJ/cfv9deT56KoxwtXMGO4LJyXakTPE2tMcu0UexsnlhfhlqUE2vGnNnNUm996thkRlp3v36OfwgVGfT22UVjv+lpk0lKXgT2liQm/eBRilEaPw4o6P29YV7zN3AqI2y5Sa+I13o53cwO9JNOCXC28wuYSBrbOauu61VGj9MroQ3Si5swvx4p8vzyZZd5SkjIJ69AFi6pGPxnptofigIS5NRvVYLady+n0IWDj32whAPinOHcB8t3qJH1YtwNf9ly7gFQUgqCEXXDuRTcercMxe72siNNtg1LZTVQJLViD4G1ROdrh9Lic2BTe/9mAt/mKeRIaXJDHrTTu/d6xao4P995xjhSAhkD+cgbuOCgwhkpVH6cyRR+aFKFBv6UVZzob4s7ul9Xjzc9ETBaoE8CoAXLSZ5zEGs0jEbL0Hf5SdenlISyny97BFnqiGXRQCwBIacq+ytw/VK6DC2ddHAOndZ5K/zmnE0WuccCDTQ8gskaswFpbSG4q47HaN8t/VNug4NfZSGE/kbf+rW7QGlwMF66ksxhpthlkXJkICbpgnHNwsAjZnDhN1t9SDms4EIbozHaopiH79gy+h3N8lk/85OJfM0rac5CGcFlO9Tgf0ov6cGe8ABTIw1tFKZIcXWqETIbl60WCgBxmJFsBbl0ikDDyTsxSn8cNK8bVymqmL5TuTM2clBhd/rV44nA5vCGAnEKzfEHoV3YFc4gik8/nUutDmxJdjeqrd7M0Lm0QKpVPl8ATA5Tf2PKTJ9CaxIiLyazY74D2egqYZzddjq4aXXNPWgwYk5OKAZz+avRMJWu+ACx0wlih0ScOor4PMbpRqSc8oEjmeg=")
cipher.decrypt(msg)

对于zip压缩包,还是archpr好用。。

对于web弱口令还需要准备一本字典,其实早就应该准备了,包括一些bypass waf的字典,网站扫描的字典,经过这次比赛,发现对于web题而言,字典是多么重要。

对于线下赛,webshellkill是一款好工具,可以直接利用其来找容易发现的一句话后门。(不过自己也需要写一个利用命令执行自动种马的脚本)

rasctftools没有共模攻击的利用方式(这次比赛吃亏了!应该还有它没有的其他攻击方式)

线下赛的web waf需要完善。

新的pyc加密方式 stegosaurus

writeup 如下

,
隐藏