Can_can_need
打开是一个网页,没什么发现,直接先爆破目录
找到疑似存放源码的文件
检测到病毒不让我下载😂,linux里去下
在源码的js目录下存在一句话木马
读取到flag
Ez_htaccess123456789101112131415161718192021222324252627282930313233<?php $files = scandir('./'); foreach($files as $file) { if(is_file($file)){ if ($file !== "index.php") { unlink($file); } } } if(!isset($_GET['content']) || !isset($_GET['filename'])) { ...
前言在学长的指点下我们新生队也是拿到了省赛二等奖的好名次,人生中第一次CTF大赛拿奖就是二等奖了,我们队真是太厉害了!
Web1
一打开网页,发现什么都没有
扫描目录得到一个压缩包跟一个txt,txt里是假的flag
再打开压缩包,其中c2VyaWFsaXpl.php能接受flag参数然后反序列化,由此可以构造序列化内容
123456789101112131415<?phpclass Flag{ public $cmd='whoami'; public function __destruct() { system($this->cmd); }}unserialize($_GET['flag']);$p=new Flag();$p->cmd="cat /flag";echo serialize($p);?>
得到payload:O:4:”Flag”:1:{s:3:”cmd”;s:9:”cat /flag”;}
W ...
起因唐部搞完抢课脚本后又打起了抢图书馆座位的主意,让我也一起看看
经过登陆密码加密通过抓包得到提交登录表单的参数为
12345678{ 'username': "2024xxxxxx", 'password':"0cefd4baf9...", 'authcode': "2146", 'rememberMe': 'true', 'execution': "d5304484-5bfd-4715-b9f4...", '_eventId': 'submit', }
其中execution可在登录页源码中得到
源码中找到了对密码进行加密的位置
使用了security.js里的函数进行的加密
由于里面的加密太过复杂,笔者没能力改成python代码(菜)
但是python中的execjs库能运行 ...
前言在4399闲逛的时候看到个画风可爱的h5小游戏,由于不看广告根本玩不下去的设定过于逆天,遂决定好好研究这款游戏的广告结算流程,结果居然出乎我的意料
经过
首先打开调试,发现一直debug
之后在这篇文章中找到了绕过方法:https://www.jianshu.com/p/a3a0949a4e9a
成功进入调试
看一次广告,在控制台中找到了相关代码的位置
然而index.js已经被混淆,完全看不出执行逻辑
原来是用一个列表存放了所有关键字
换个方法,在打印“代码:10000,消息:开始播放”处打个断点,在右边的调用堆栈处查看,看看之前执行了哪些代码
在app.js里发现了跟广告奖励相关的代码
而且此处的
123case 1: a.default.console.debug("广告播放结束"), Rt.send(s, 3, 100);
正对应了控制台中的“调用原创统计 3 100”
在switch处打个断点,然后发现case是根据ed值进行的判断
当广告中断时,e的只为-2,在之后的case中也可以印证这一点
于是可以尝试将e的值直接改为2, ...
2020-BDJCTF-Web-easy_search
打开是个登录框,使用常见的sql注入语句都无效,而且根据题目描述也不是考察sql注入,所以扫描一遍目录
扫描目录发现index.php.swp文件,是vim生成的临时备份文件,打开即可得到index.php的源码
分析可得登录成功的条件是password经过md5后的前六位要为6d0bc1
编写脚本得到password
登陆成功,但是没有任何信息
在响应头中找到了url地址
看到网页中显示了用户名,于是考虑SSTI模板注入
网页文件为shtml,搜索到注入方法
执行命令查看根目录
可以返回,但没找到flag
在上一级目录中找到flag文件,得到flag
2020-网鼎杯-朱雀组-Web-phpweb
一道php反序列化题
每隔5秒会向后端发送一个post请求,调用一个函数,并传递参数
构造的payload被过滤了
所以想办法查看过滤的字符,可以用file_get_contents函数来获取文件内容
得到index.php里的内容,发现有个Test类,给func传递p
联想到题目考察的是反序列化,可以想到 ...
misc做累了听会歌吧
打开音频发现摩斯密码
解码出flag,看着像十六进制但解码不出来,应该就是flag了吧
学点python吧
打开发现文件倒序,用python将文件字节反转后搜索到flag
签个到base32再base64后得到flag
耗子尾汁压缩包伪加密,打开后得到张图片
在备注这里有emoji表情,盲猜base100
黑阔!这是黑阔
到处乱点,发现发送的图片后面跟着flag
webez_ffffffile
文件包含漏洞读取flag
ez_web
手动打开开发者工具,找到flag(一开始还以为是假的,但是找不到其他的了)
rz_rce
用列表绕过强比较,再用shell中的特殊变量绕过匹配
ez_http???
刚开始发送的是{“message”:”123”}这样的json数据,还疑惑为什么还让我发message,之后才想到直接发文本message就行了
ez_serialize
构造pop链,其实一开始忘加system()了,ls没结果,我还以为是在环境变量里,但是phpinfo()里也没找到
MISC[信息收集] 签到?
直接白送
1coctf{We1c0me_t0_C0CTF}
[信息收集] 签到!
利用复制框找到隐写文字位置
复制到任意位置粘贴即可得到
12coctf{Wow0Wow_Y0uAreSteg0MonSter}
[编码] 每逢佳节Base轻
根据题目中8*8=64可知是base64编码
1coctf{c1eda03f-15e0-43fd-be79-ba67477c6c26}
[编码] 老师,我可太想进步了由内容可知是社会主义核心价值观编码
1coctf{Daaay_Dayyyy_up_up!!!!!}
[编码] 求佛与佛论禅
1coctf{But_There_1s_n0_L19ht}
[编码] BrainMonster
前两个在https://www.splitbrain.org/services/ook 中直接秒了
中间那个在这里找到了转换的方法,
用vscode直接替换
解密成功,拼起来就是
1coctf{The ...