二月二十CTF记录
第一题 game1
此题是一个盖楼游戏题,开始在源代码没有发现flag值发现了一段请求数据 开发工具网络找到请求发送,发现js调用,用控制台命令行调用作者函数得到score和加密base64,放到get请求提交 发现请求头文件GET包含score和sign两部分其中score为分数sign为分数经过base64加密加上验证部分 如:zM + base64编码部分 + == 重新构造score和sign到请求头返回flag值
第二题 网站被黑
源码数据包均没有发现flag值,提示为黑客没有后门 御剑扫描网站后台 得到后台为ip加shell.php 进入后台burp爆破得到密码为hack,进而得到flag值
第三题 bp
根据提示选择burp爆破 下载top1000字典筛选Z开头的密码
grep 正则表达式 文件名 > 目标文件
爆破发现返回长度不变,burp勾选grep-match重新爆破 查看返回内容发现zxx123返回与其他不一样得到?code=hacker1000 得到flag
第四题 eval
<?php
include "flag.php";
$a = @$_REQUEST['hello'];
eval( "var_dump($a);");
show_source(__FILE__);
?>
构造/?hello=system(‘cac flag.php’),得到flag 或者/?hello=file(“flag.php”)
第五题 变量1
<?php
error_reporting(0);
include "flag1.php";
highlight_file(__file__);
if(isset($_GET['args'])){
$args = $_GET['args'];
if(!preg_match("/^\w+$/",$args)){
die("args error!");
}
eval("var_dump($$args);");
}
?>
构造请求?args=GLOBALS得到flag
- $GLOBALS全局变量用于在 PHP 脚本中的任意位置访问全局变量输出flag值
第六题 头等舱
直接开发者工具找到header文件,flag在里面
第七题 伪造
从女朋友聊天得到flag在一个叫小bug的人那,QQ改名为小bug,输入自己QQ得到
第八题 图片
- (固定)八个字节89 50 4E 47 0D 0A 1A 0A为png的文件头
- (固定)四个字节00 00 00 0D(即为十进制的13)代表数据块的长度为13
- (固定)四个字节49 48 44 52(即为ASCII码的IHDR)是文件头数据块的标示(IDCH)
- (可变)13位数据块(IHDR)
- 前四个字节代表该图片的宽
- 后四个字节代表该图片的高
- 后五个字节依次为:
Bit depth、ColorType、Compression method、Filter method、Interlace method - (可变)剩余四字节为该png的CRC检验码,由从IDCH到IHDR的十七位字节进行crc计算得到。
|