“百度杯”CTF比赛 十月场 Login

本文详细介绍了参与“百度杯”CTF比赛十月场的Login挑战,从发现隐藏注释到尝试SQL注入未果,再到通过分析HTTP报文找到并修改参数show以获取源码。通过对源码的分析,揭示了通过unserialize、gzuncompress和base64_decode等手段获取flag的过程。

“百度杯”CTF比赛 十月场 Login

1

进去就是一个长得还可以的登入界面,查看源码没看到注释,以为没有,开始对其进行sql注入测试,在 burp suite多次尝试,没找到注入点与注入语句。返回的结果只有error。
// test1 test1 这是藏在源码下方需要下移才看得到的注释;
没啥实际意义,两个:可能是账号密码
试一下登入成功

2

返回页面几乎啥也没有,源代码的也是什么都没显示,刷新截取报文看看有什么。以下是截取的信息,查看是否有可疑参数:

HTTP/1.1 200 OK

Date: Fri, 17 Apr 2020 06:33:54 GMT

Content-Type: text/html;charset=utf-8

Content-Length: 69

Connection: close

Vary: Accept-Encoding

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Cache-Control: no-store, no-cache, must-revalidate, post-check=0,
pre-check=0

Pragma: no-cache

show: 0

Vary: Accept-Encoding

X-Via-JSL: 63469a6,-

X-Cache: bypass

   (╯‵□′)╯︵┴─┴

大概看了下,其他参数都不太好改,多出来一个show不太常见,而且值为0,计算机中大多数都是遵循非零即真的规则,可以理解为show并未展示。故在发送请求时候添加show:1的值,如下图:在这里插入图片描述
结果返回·包中包含了登入界面的源代码,进行代码分析

 <?php
	include 'common.php';
	$requset = array_merge($_GET, $_POST, $_SESSION, $_COOKIE);
	class db
	{
   
   
		public $where;
		function __wakeup()
		{
   
   
			if(!empty($this->where))
			{
   
   
				$this-><
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值