信息泄露
Bugku
1.source
进去就说
F12看到flag
好吧不是 天真
查看源代码发现tig个感觉是git源代码泄露
题目提示kali咱就用kali
gobuster dir -u http://114.67.175.224:12066/ -w /usr/share/wordlists/dirb/common.txt
wget -r http://114.67.175.224:12066/ .git
git reflog看日志信息
git show +文件代号(也就是开头的字符串)看文件一个个找
攻防世界
1.Mfw
进入场景 题目提示网站是由git phph bootstrap构成 看到git我联想到代码泄露
试一试是否有这个漏洞 直接在进入试一试 没想到有
用工具扫描下载进来(kali的githacker库)
下载后有个几个文件其中有个flag的文件 进去看什么也没有 没有发现有价值的东西但index.php中有一串代码看了逃不掉审计了
查看代码前我们需要知道:
基础知识
assert()函数其实是一个断言函数
这个函数在php语言中是用来判断一个表达式是否成立。返回true or false;
如果 assertion 是字符串,它将会被 assert() 当做 PHP 代码来执行。
strpos() 函数查找字符串在另一字符串中第一次出现的位置,如果没有找到则返回flase,
phpinfo函数可以显示出PHP 所有相关信息。是排查配置php是是否出错或漏配置模块的主要方式之一!只要访问到phpinfo()函数的web页面,即返回php的所有相关信息!
system()函数用于向操作系统传递控制台命令行,以WINDOWS系统为例,通过system()函数执行命令和在DOS窗口中执行命令的效果是一样的,所以只要在运行窗口中可以使用的命令都可以用SYSTEM()传递,但要注意的是输入斜线时要输入两个,以名C语言当作转义字符处理。
仔细审计知道需要绕过assert 闭合前面注释后面 看看是否有php漏洞看看是否有回显page‘).phpinfo();//
既然phpinfo()函数都可以执行我们替换调 知道git漏洞下载对文件,我们已经知道了flag位于/templates/flag.php路径下,所以payload的构建可以直接一步到位/?page=').system('cat+./templates/flag.php');//不用再用system('ls+xxx')回显路径进入flag路径得到flag