发现使用git进行网站部署,尝试 /.git查看是否git泄漏。
git泄漏
当前大量开发人员使用git进行版本控制,对站点自动部署。 如果配置不当,可能会将.git文件夹直接部署到线上环境,这就引起了git泄露漏洞。
GitHack
项目地址:https://github.com/lijiejie/GitHack GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,还原重建工程源代码。
脚本工作原理:
- 解析.git/index文件,找到工程中所有的: ( 文件名,文件sha1 )
- 去.git/objects/ 文件夹下下载对应的文件
- 使用zlib解压文件,按原始的目录结构写入源代码
hint.php内容如下:
assert()函数
编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。程序员断言在程序中的某个特定点该的表达式值为真。如果该表达式为假,就中断操作。
strops()函数
strpos() 函数查找字符串在另一字符串中第一次出现的位置。且对大小写敏感。
思路很简单,对函数闭合,读取templates中的flag.php内容。
在page后面传参
','') === false and system('cat templates/flag.php')('
使assert为假,然后整个assert断言为真,执行后面的函数。