BUU-0CTFpiapiapia(反序列化字符串逃逸)

本文讲述了在登录平台的安全审计中发现备份文件泄露,通过代码审计找到flag变量指向,利用序列化和反序列化实现字符串逃逸,最终在profile.php中获取config.php内容的过程。

前言

考点是反序列化字符串逃逸

wp

首先这个题,一进来就是一个登录平台,就属于一种基本的web网站的搭建,先登录再去后台,一般来说,可以sql注入之类的,但是我们习惯先看F12的源码,然后用御剑和dirsearch工具去扫描后台或者文件的泄露。

发现存在备份文件泄露,www.zip,得到源码

开始代码审计

config.php中发现了flag变量,看来题目目的是让我们读取config.php了。

我们来看下每个页面:
index.php

<?php
	require_once('class.php');
	if($_SESSION['username']) {
   
   
		header('Location: profile.php');
		exit;
	}
	if($_POST['username'] && $_POST['password']) {
   
   
		$username = $_POST['username'];
		$password = $_POST['password'];

		if(strlen($username) < 3 or strlen($username) > 16) 
			die('Invalid user name');

		if(strlen($password) < 3 or strlen($password) > 16) 
			die('Invalid password');

		if($user->login($username, $password)) {
   
   
			$_SESSION['username'] = $username;
			header('Location: profile.php');
			exit;	
		}
		else {
   
   
			die('Invalid user name or password');
		}
	}
	else {
   
   
    }
?>

register.php:

<?php
	require_once('class.php');
	if($_POST['username'] && $_POST['password']) {
   
   
		$username = $_POST['username'];
		$password = $_POST['password'];

		if(strlen($username) < 3 or strlen($username) > 16) 
			die('Invalid user name');

		if(strlen($password) < 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值