解题链接:http://106.75.72.168:9999/
打开网页只能看到这个界面
然后看看源码
有一个flag.xmas.js
访问试试
没有这个东西,试试flag.js
返回了一大长串混效果的js代码
然而并不知道怎么用
后来从网上看到这种题用git泄露做
先尝试用githacker
https://github.com/BugScanTeam/GitHack
指令:python Githacker.py http://106.75.72.168:9999/.git/
看看目录里有什么
打开看看
就是刚才混淆过的代码,依然没什么用
本题的考点原意是.git/logs/HEAD文件的利用,而githack并没有对其中的hash提取,因此遗漏了部分的object
这里使用JGitHack是可以获取到这些遗漏的object的
https://github.com/WangWen-Albert/JGitHack
解压,进去release
指令:java -jar JGitHack.jar
输入地址:http://106.75.72.168:9999/ ,hack
看到其中有很多object,手工提取object
使用git的底层命令,cat-file和ls-tree

可以看到第一个文件是第二个文件的parent
可见他们的tree的hash也是不一样的,说明其中有文件改变,这里继续看两个tree
两个文件名一样,但是哈希值不一样
下载下来看看
对比一下两者的不同,这里用到diff语句
https://blog.csdn.net/zhangmeimei_pku/article/details/79483324
由于历史原因,diff有三种格式:
* 正常格式(normal diff) 无参数
* 上下文格式(contextdiff) -c
* 合并格式(unifieddiff) -u

看看文件如何
貌似看出点眉目了,差异的地方正好是flag
剩下的直接全部找出来就可以了
1
兄弟JGitHack现在没法用了么?为什么我这边一直报错呀
flag{82efc37f1cd5d4636ea7cadcd5a814a2}