edu实战-从信息泄露到登录绕过

前言

        emmmmm....懒得写直接上才艺

信息收集

        前期对目标资产进行了一遍比较"细致"的信息收集,发现某处站点存在备份文件泄露,哎哟我这不叒掏着了吗

已投已辜负

        我是个比较懒的人,恰巧当时懒癌发作了,拿到源码后第一件事去找了他的config.php文件,拿到数据库的账号密码后本想尝试登录数据库的,可惜不支持远程连接

        于是我就把密码拿到后台尝试登录了,我也不知道我当时为什么会这么想,但是我没想到他居然进去了!

        到这里我就不想搞了太困了,于是直接就写报告交上去了,过了好些天我再去看,审核老哥说密码错误,我嘞个擦,这修复效率这么快吗????

已投没辜负

        由于密码被改导致漏洞被驳回了,我就差1个金币换证书了啊!!!!!!于是乎我又去审代码了,这次直接去看signto.php文件,没想到有意外收获

        以GET请求获取key和type的值分别当做name和super然后进入if判断参数key为superadmin并且参数type为"KEY"直接跳转./也就是后台地址

$_SESSION["ADMIN_NAME"]	 = trim($_GET["key"]);
$_SESSION["ADMIN_SUPER"] = trim($_GET["type"]);

if($_SESSION["ADMIN_NAME"]=="superadmin" && $_SESSION["ADMIN_SUPER"]=="KEY" && substr_count($_SERVER["HTTP_REFERER"], "xx")==1){
	
	$_SESSION["ADMIN_GRADE"] = 8;

	$sql = "sql";
    $rst = $db->query($sql);
    if ($row = $db->fetch_array($rst)) {
        $superCount = $row["cnt"];
    } else {
        $superCount = 0;
    }

    if($superCount==0){
    	$sql = "sqlsql";
		if ($db->query($sql)){

			$_SESSION["ADMIN_ID"] = $db->getMax("admin", "id");
			
			header("Location: ./");
			exit();
		}
    }else{

    	$sql ="sqlsqlsql";
		$rst = $db -> query($sql);
		if ($row = $db -> fetch_array($rst)){
			$_SESSION["ADMIN_ID"] = $row["id"];
		}

    	header("Location: ./");
		exit();
    }
}

        那么直接Burp抓包,构造Payload :/signto.php?type=superadmin&type=KEY,在重发器发包直接绕过登录进入后台

结尾

        这次纯属撞大运了,OK既然已经找到漏洞了,那又可以休息了,收工!晚安!

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值