CTF-安恒十二月月赛部分writeup

这次题目都比较简单蛤,连我这菜鸡都能做几道。

WEB1-ezweb2

打开网站,啥也没有,审计源代码,还是啥都没有,也没什么功能菜单,扫了一下目录,扫到了admin.php,但是提示:你不是管理员。好吧,抓个包看看

解一下码--:

将user改为admin,发现直接跳转到了admin.php页面。

这个框试了一下是可以执行命令的,ls

但是ls / 却错误,ls -l 也是错误,应该是过滤了空格通过 $IFS 可以绕过

cat /ffLAG_404 也就是cat$IFS/ffLAG_404即可读取flag

flag为:flag{6f1d95159e3b90ed28186c518dd15e8c}

WEB2-easy

是一道代码审计题

代码如下

<?php
@error_reporting(1);
include 'flag.php';
class baby
{
public $file;
function __toString()
{
if(isset($this->file))
{
$filename = "./{$this->file}";
if (file_get_contents($filename))
{
return file_get_contents($filename);
}
}
}
}
if (isset($_GET['data']))
{
$data = $_GET['data'];
preg_match('/[oc]:\d+:/i',$data,$matches);
if(count($matches))
{
die('Hacker!');
}
else
{
$good = unserialize($data);
echo $good;
}
}
else
{
highlight_file("./index.php");
}
?>

unserialize 一眼就看到了是反序列化题目,

用户类定义了一个__toString为了让应用程序能够将类作为一个字符串输出(echo $good),而且其他类也可能定义了一个类允许__toString读取某个文件。

那么构造反序列化字符串即可读取任意文件,但是题目存在正则筛选,preg_match('/[oc]:\d+:/i',$data,$matches);筛掉了[oc]:数字:。

如果正常的反序列化payload:O:4:"baby":1:{s:4:"file";s:8:"flag.php";}中前面的O:4:符合正则的条件,因此将其绕过即可。利用符号+就不会正则匹配到数字

所以payload为:O:+4:"baby":1:{s:4:"file";s:8:"flag.php";}

注:使用burp可以直接提交,使用url或者hackbar需要url编码一下

flag为flag{ad2328a2c3f0933c053fd3c6f28f6143}

MISC2-签到

关注官方微信号 回答脑筋急转弯即可 答案为蜗牛

MISC3-学习资料

题目只有一个txt可以打开

比较两个压缩包

其crc32值是相同的,因此可以使用明文攻击。将备忘录单独拿出来压缩为一个压缩包。然后和加密的压缩包进行明文攻击。

N年以后--

word隐写嘿嘿,套路1检查文档

有是有,但是找半天,后来发现flag在图片后面......

所以flag为flag{edaa144c91a4e5b817e4a18cbdb78879}

其实把word后缀改为zip,打开找word/document.xml即可

MISC4-juju

压缩包里只有一张png图,一顿测试后,发现在kali打不开

那就是说图片的文件内容肯定被改了,题目提示说有11只猪,但是png只有几只,所以大概知道是什么了

上winhex

这两个位置决定着图片的高度,如果更改它的值,图片高度也会发生变化,值越大图片越长

改了后面的参数几次还是没出来,所以直接该前一位 02为22

好了,图片够长了

base的格式,但是不是base64,是base32,解一下得到flag

所以flag为flag{a213072327f762855e475779eb081ca3}

CTF-安恒18年十二月月赛部分writeup的更多相关文章

  1. CTF-安恒18年十一月月赛部分writeup

    安恒十一月月赛writeup 昨天做了一下十一月的题目,不才只做出来几道 签到web1 这个是十月的原题,因为忘了截图所以只能提供思路 Web消息头包含了登陆框的密码 输入密码后进入上传页面,上传一句 ...

  2. CTF-安恒19年二月月赛部分writeup

    CTF-安恒19年二月月赛部分writeup MISC1-来玩个游戏吧 题目: 第一关,一眼可以看出是盲文,之前做过类似题目 拿到在线网站解一下 ??41402abc4b2a76b9719d91101 ...

  3. CTF-安恒19年一月月赛部分writeup

    CTF-安恒19年一月月赛部分writeup MISC1-赢战2019 是一道图片隐写题 linux下可以正常打开图片,首先到binwalk分析一下. 里面有东西,foremost分离一下 有一张二维 ...

  4. 【CTF】2019湖湘杯 miscmisc writeup

    题目来源:2019湖湘杯 题目链接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade=1&id= ...

  5. 安恒杯2月月赛-应该不是xss

    1. 打开题目一看,是个留言板 2. 查看源码发现有几个js文件 依次打开发现在main.js里存在这样一段代码 3. 访问 /#login是登录的界面,/#chgpass是修改密码的界面,其中修改密 ...

  6. 安恒杯11月月赛web题目-ezsql详细记录

    通过此题目可以学习到 1.通过load_file+like来盲注获取文件内容 2.php魔术方法__get函数的用法 3.bypass  linux命令过滤 题目中给了注册和登录的功能,没有源码泄露 ...

  7. 2018安恒杯11月月赛 MISC

    题目放评论了 Numeric password 这次隐写没有按照套路出牌,很强. 记录一下 看来自主学习的能力很有待提高. 打开Numeric password.txt 中华文化博大精深,近日在教小外 ...

  8. 安恒2018年三月月赛MISC蜘蛛侠呀

    到处都是知识盲区hhh 下载了out.pcap之后,里面有很多ICMP包 看到ttl之后联想到西湖论剑里面的一道杂项题,无果 看WP知道可以使用wireshark的tshark命令提取流量包里面的文件 ...

  9. 【CTF】CTFHub 技能树 文件头检查 writeup

    PHP一句话木马 <?php @eval($_POST["pass"]);?> <?php eval($_REQUEST["pass"]);? ...

随机推荐

  1. socket概念 套接字

    理解socket soxket因为TCP是面向流的,你发的信息如果很多很快,TCP这样就会形成黏包 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socke ...

  2. C#:安装Windows服务,动态指定服务名及描述(转载)

    来源:http://www.cnblogs.com/Fooo/p/3476675.html Installer.cs public Installer() { InitializeComponent( ...

  3. Python学习---JSON学习180130

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON是用字符串来表示Javascript对象: Json字符串就是js对象的一种表现形式(字符串的形式 ...

  4. Python学习---装饰器的学习1210

    装饰器的基础 学习前提: 作用域 + 函数的理解 + 闭包  [学习,理解] 代码编写原则: 对修改开放对扩展开放 装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前 ...

  5. 沉淀再出发:web服务器和应用服务器之间的区别和联系

    沉淀再出发:web服务器和应用服务器之间的区别和联系 一.前言 关于后端,我们一般有三种服务器(当然还有文件服务器等),Web服务器,应用程序服务器和数据库服务器,其中前面两个的概念已经非常模糊了,但 ...

  6. 第九次,mp3

  7. [EffectiveC++]item15:Provide access to raw resources in resource-managing class

    在资源管理类中提供对原始资源的访问

  8. 51nod 1437 迈克步

    题目链接 先利用单调栈or其他方法找到一个元素g[i]作为最小值的区间,设为[L, R]. 那么长度为R-L+1的组的最大值ans=max(ans,g[i]).但是有一个问题: 比如6这个元素是长度为 ...

  9. 020.1.1 collections集合工具类

    内容:常见需求以及使用—逆转比较器顺序,最值和同步方法 collections类的方法都是静态方法 强行逆转比较器的顺序例子: //##主函数.java List<String> list ...

  10. Linux系统下常用的磁盘管理命令——du / df / fdisk / mount / xxd

    之前使用虚拟机体验Linux操作系统的使用,一般使用默认的磁盘分区设置,也很少涉及磁盘管理操作,且总有删除重装作为后盾.在安装Ubuntu双系统后,在使用过程中遇到了磁盘分区不合理导致的/boot分区 ...