pigctf期末测评

MISC 1

拿到图片,先binwalk一下,如下图

果然发现png图片后面跟了个ZIP,然后提取出来打开发现了一个flag.png,然后查看16进制文件没有发现什么问题,之后查看属性发现分辨率为986470,但是大小为200kb左右,显然是不相匹配的,通过16进制编辑器修改分辨率为9861376,然后在图片的左下角发现flag,

FLAG{5mall_L1_15_5tup1d}

MISC 2

http://drops.wooyun.org/tips/7828

一道CBC字节翻转攻击问题

	<?php
$enc = "S9PsFp43k9VgyrggRHLbISjUAjwzSSPPajrF9Dzz0o/ieSZbxwGjTJ5xhAZEi5tDBjvwsQtH0BynlLC0p0F0zOZMx25M6iekcLvX//MNKSA=";
$enc = base64_decode($enc);
echo "<br>".($enc)."<br>";
$enc[47] = chr(ord($enc[47]) ^ ord("9") ^ ord ("1"));
echo "<br>".($enc)."<br>";
$c = base64_encode($enc);
$d = urlencode($c);
echo "Plaintext after attack : <br>$c<br>";
echo "Plaintext after attack : <br>$d<br>";
$e = @decrypt(base64_decode($c));
$uid = substr($e,strpos($e,"uid")+4,1);
echo 'uid:'.$uid.'<br/>';
if ($uid == 1){
echo "<br>get the flag!!!";
}
else {
echo "false!";
}
?>

得到翻转后的密文的base64加密值:

S9PsFp43k9VgyrggRHLbISjUAjwzSSPPajrF9Dzz0o/ieSZbxwGjTJ5xhAZEi5tLBjvwsQtH0BynlLC0p0F0zOZMx25M6iekcLvX//MNKSA=

修改COOKIE之后提交得到flag,

WEB 1

根据注释的提示,网页的源码由于使用extract,故存在变量覆盖,然后直接提交get请求http://45.78.61.235/web1/?auth=1,转到了一个新的页面,然后再响应头里面发现了flag

WEB 2

进入页面,看了源码、请求等待都没发现东西,然后试试robots.txt,也没有,然后想到备份文件,加上’~’发现了源码如下:

	<?php
function checkIN($number){
for($i = 0; $i < strlen($number); $i++){
$dig = ord($number[$i]);
if(($digit >= ord('1')) && ($digit <= ord('9'))){
return false;
}
} return $number == '3722304989';
} if(eregi("hacker", $_GET[id])){
echo("<p> not allowed!</p>");
exit();
} $_GET[id] = urldecode($_GET[id]);
echo $_GET[id];
if($_GET[id] == "hacker" && checkIN($_GET[num])){
echo "<p> Access granted! </p>";
echo "<p> flag:flag xxxxxxxxxxxxxxxxxx"; }
?> <br><br>
can you bypass it???

阅读之后判断是松散比较,构造下属请求如下:

http://45.78.61.235/web2/index.php?id=%68%61%63%6B%65%72&num=0xdddddddd

得到flag为

flag{Your_are_a_g00d_PHP_learner!}

REV 1

首先通过OD的关键字查找,发现了文本参考字串“wrong”

对该行附近的字串进行查看,发现跳转和获取输入的关键代码

通过输入,不同的数据,发现该算法实现的功能是将一段输入进行位置调换后异或,然后与程序自带文本进行比较。

通过几次实验输入,得到调换顺序和异或对象(斐波那契数列)。

得到最终结果:flag{H4ppyRev!}

pigctf期末测评的更多相关文章

  1. 计算机网络 & 网络编程 期末总结与测评题

      第一部分:网络编程部分的相关知识 Socket套接字定义: 套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开.读写和关闭等操作.套接字允许应用程序 ...

  2. 404 Note Found队 福大助手项目测评

    目录 第一部分 调研,评测 福大助手的bug IOS端 Android端 福大助手结构体系的思维导图 为什么开发人员没有发现这个bug 假设团队开发这款app,应注意哪些方面(架构.部署运维.微服务等 ...

  3. 微信小程序开发工具测评

    1月9日微信小程序正式上线.很多企业都希望能在这个.但是在技术开发的问题上,却不知道该如何下手.经过一些程序员不辞辛苦连夜测试,终于从十余款工具呕心沥血筛选出四款比较靠谱实用的微信小程序开发工具.接下 ...

  4. 博客整理——K米测评

    K米测评 1.233郑扬涛(orzyt) 博客链接:个人作业--关于K米的产品案例分析 亮点分析: 1.将整个软件各个功能模块的逻辑图都画出来了,而不是只画一个大概. 我做了个缩略图 2.第三部分 建 ...

  5. 简单java在线测评程序

    简单java程序在线测评程序 一.前言 大家过年好!今年的第一篇博客啊!家里没有网,到处蹭无线!日子过得真纠结!因为毕设的需求,简单写了一个java程序在线测评程序,当然也可以在本地测试. 二.思路 ...

  6. 游戏测评-桥梁建造系Poly Bridge破力桥?游戏测评

    最近在b站看到了谜之声的视频:大家来造桥吧! 实在是太搞笑了,看到是一款新出不久还未正式发行的游戏,兴致一来便入手玩了玩.顺手也就写下了这篇测评. POLY BRIDGE 对这个游戏名怎么起个有趣的中 ...

  7. 概率论与数理统计讲课PPT和往年期末试卷

    讲课PPT 第17课:数理统计的基本概念 注 : 我会陆续把讲课PPT放上去,大家可以下载. 往年试卷及解答 往年期末试卷及解答 注 : 供同学们参考以备考.

  8. 复旦大学2015--2016学年第二学期高等代数II期末考试情况分析

    一.期末考试成绩班级前几名 胡晓波(90).杨彦婷(88).宋卓卿(85).唐指朝(84).陈建兵(83).宋沛颖(82).王昊越(81).白睿(80).韩沅伯(80).王艺楷(80).张漠林(80) ...

  9. 复旦大学2014--2015学年第二学期(14级)高等代数II期末考试第八大题解答

    八.(本题10分)  设 $A,B$ 为 $n$ 阶半正定实对称阵, 求证: $AB$ 可对角化. 分析  证明分成两个步骤: 第一步, 将 $A,B$ 中的某一个简化为合同标准形来考虑问题, 这是矩 ...

随机推荐

  1. ubuntu opensips环境搭建

    1.安装前准备,需要安装如下工具: perl. libdbi-perl. libdbd-mysql-perl. libdbd-pg-perl. libfrontier-rpc-perl. libter ...

  2. 多线程高并发编程(10) -- ConcurrentHashMap源码分析

    一.背景 前文讲了HashMap的源码分析,从中可以看到下面的问题: HashMap的put/remove方法不是线程安全的,如果在多线程并发环境下,使用synchronized进行加锁,会导致效率低 ...

  3. 曹工说Redis源码(8)--面试时,redis 内存淘汰总被问,但是总答不好

    文章导航 Redis源码系列的初衷,是帮助我们更好地理解Redis,更懂Redis,而怎么才能懂,光看是不够的,建议跟着下面的这一篇,把环境搭建起来,后续可以自己阅读源码,或者跟着我这边一起阅读.由于 ...

  4. docker 容器命令

    语法docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明: -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/ST ...

  5. Android中的SharedPreferences存储

    一.前言 不同于文件的存储方式,SharedPreferences是使用键值对的方式来存储数据的.也就是说,当保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以通过这个键把 ...

  6. CSS基础之简单介绍

    网页诞生初期,没有描述样式的语言,创建了很多用于描述样式的标签.但这些标签破坏了html作为一门结构语言的表现. 于是,W3C在1995年开始起草CSS,提出将结构和样式分离的解决方案. 元素 元素是 ...

  7. Pytorch中的自动求梯度机制和Variable类

    自动求导机制是每一个深度学习框架中重要的性质,免去了手动计算导数,下面用代码介绍并举例说明Pytorch的自动求导机制. 首先介绍Variable,Variable是对Tensor的一个封装,操作和T ...

  8. 【JMeter_15】JMeter逻辑控制器__仅一次控制器<Once Only Controller>

    仅一次控制器<Once Only Controller> 业务逻辑: 在每个线程内,该控制器下的内容只会被执行一遍,无论循环多少次,都只执行一遍.<嵌套在循环控制器之内时是个例外,每 ...

  9. 从新冠疫情出发,漫谈 Gossip 协议

    众所周知周知,疫情仍然在全球各地肆虐.据最新数据统计,截至北京时间 2020-05-28,全球累计确诊 5698703 例,累计死亡 352282 例,累计治愈 2415237 例. 从上面的统计数据 ...

  10. linux最小化安装命令补全

    bash-completion 需要安装bash-completion才能补全,安装后,重新打开一个窗口就能生效.