2019-fafu-ctf非常小的一部分wp

Web

签到题

打开题目链接:http://172.31.19.49/web1/ ,给了php代码
2019-fafu-ctf非常小的一部分wp
即要求用post传入name和password,用弱类型比较,两者不能相等,但是要md5和sha1值一致,所以用数组形式传值。
2019-fafu-ctf非常小的一部分wp
补:这里利用的是php取数组的MD5和sha1值出现错误,返回null,使两者相等
2019-fafu-ctf非常小的一部分wp


login1

打开题目链接:http://172.31.19.49/web2/
2019-fafu-ctf非常小的一部分wp
审查网页源代码和数据包都没有特殊之处,只有login和Register指向的链接包含具体文件
2019-fafu-ctf非常小的一部分wp
发现可以用本地文件包含漏洞(LFI),
2019-fafu-ctf非常小的一部分wp
把所有相关代码读出来后进行审查,使用了sql,但是没有注入点,也不能远程连接服务器。

用dirsearch扫描后台,发现有/.git/目录,用githack把文件还原,有个以flag开头命令的php文件,打开就是flag了
2019-fafu-ctf非常小的一部分wp


黑曜石浏览器

看到这题的时候第一反应挺开心,以为是NCTF的那题,打开发现被魔改了。

不过还是先去真正的官网找了下UA,改成「Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) HEICORE/49.1.2623.213 Safari/537.36」,再次访问,发现没什么变化,但是感觉不太可能,就把fiddler开起来抓,发现数据包里面加了个header hint,果然chrome还是有点毒瘤,把不合标准的头过滤了
2019-fafu-ctf非常小的一部分wp
然后加上get参数file去访问,发现也有LFI漏洞,把index.php源码读出来
2019-fafu-ctf非常小的一部分wp
发现似乎有反序列化漏洞,但是直接读class.php就看到又给了个f1a9.php,有点迷惑。
2019-fafu-ctf非常小的一部分wp
再去读f1a9.php的源码,
2019-fafu-ctf非常小的一部分wp
实属迷惑行为。
2019-fafu-ctf非常小的一部分wp


Crypto

sha256

打开题目文件
2019-fafu-ctf非常小的一部分wp
感觉过去应该是暴力枚举然后碰撞出flag,应该就四位,然后就是找字符范围了,总感觉没有特殊字符,就没加@!
然后用易语言配合精易的算法跑了下,跑了64^4次(a-z、A-Z、0-9),但是跑到比赛结束(三四个小时后)还没跑完的取sha256。
赛后,出题人说我漏了特殊字符,哭了 ,改用py写了下,先加了@!,一两分钟出结果,还是没撞到,然后说漏了个$,终于撞上了,感受下代码,要是觉得写法有点low,请师傅们轻点喷。
2019-fafu-ctf非常小的一部分wp
突然想起上次信安puzzle,用c语言暴力枚举一遍,也是几小时还不出结果,事后想想应该是方法不对,四元四次方程组应该先通分(可能也是错的,当我乱说把)。

跑出来后提交上去也是错的,这个锅我就不背了,跟出题人给的flag一样。


剩下的因为太菜做不出来,有机会再补把。
2019-fafu-ctf非常小的一部分wp