这次比赛恰逢别的学校考试,感觉题目有点水,但还是得记录一下
这道题目一开始我死扣xss发现无路可循后面经别人小小提醒之后,原来是个炒鸡弱智的反序列化题目,不多说
上图,在robots.txt
里面发现几个可疑的页面,可能有用先记录着,直接访问flag.php
是个假的flag。。
经过别人的提示,是反序列化以后,多抓几个包看一下
在upload页面
上传图片文件,然后返回查看图片的页面发现里面多了一个关于picture
参数的cookie
解码发现是个json格式
的东西
这就跟反序列化联系起来了,这是一个数组类型的反序列化但直接反序列化会有报错,如下
发现是在当前目录用的函数读取页面,于是就要目录穿越一波,于是便有了下面的操作
$a[] = '../../controllers/Basecontrol.php';
$b[] = '../../flag.php';
$c[] = '../../controllers/User.php';
$d[] = '../../controllers/Controllers.php.php';
echo urlencode(base64_encode(serialize($a)));
把他们一个个弄到picture
的cookie
里面,把回显出来的base64编码
一遍遍解码,得到源码,起初一直以为后续还要代码审计。。。结果解码flag.php的源码的时候出现了真的flag
。。。。。尼玛坑爹,都做好审计准备了
$flag = "flag{N4me_sPac4_Is_Int3r3st1ng}";
echo "flag{This_1S_A_F4ke_f1aG}";
以后看来要勤抓包
简单的上传题目
先随意上传一个文件发现只能上传图片,那我就用copy命令弄一个图片马上去
上传发现
出现路径,网页可以打开,但这个后缀名有点奇怪于是我继续尝试改后缀名为phtml
,发现名称又变成了pegml
于是猜测是否可能是之过滤前三个字母后缀名,这样就可以利用Apache
的特性让他执行php代码,于是我把后缀名再改为phtml.php
,这次的后缀名变成pegml.php
前面的东西Apache
肯定不认得,只能乖乖执行PHP了。。
于是连一下菜刀成功
这个题目是mongdb注入
,好像大神们都做过啊,就我这渣渣没见过。。。。直接贴图
查看页面原代码发现几个页面有title参数
,就是他了
payload
:
http://101.71.29.5:10000/?title[$ne]=1
原因好像是$ne这个东西有缺陷,
此类攻击是在条件语句中注入代码,使生成的表达式判定结果永远为真,从而绕过认证或访问机制
因为$ne
是MongoDB
用来判定条件是否不相等的,所以它会查询登录集合中的所有用户名称不等于1且密码也不等于1的记录。因此,本次查询将返回登录集合中的所有用户。换成SQL的表述法,就等同于以下查询语句:
SELECT * FROM logins WHERE username <> 1 AND password <> 1
简单讲讲吧,我有点懒就不想多说了
两个题目流量分析题目的思路都是一致的先找到应用层的每一次会话,然后在响应里面找到对应的传送信息,两个题目都是图片。。
这是其中一个包里面的图片,直接利用html
的功能就好
得到flag
另外一个包直接选择分组字节流提取出来直接保存为图片就好,然后notepad++
打开,最后一行就是flag
最后一题Misc好像是某一个比赛的原题。。。flag也没改,考了一波音频里面藏水印,加一次图片的伸缩,本人电脑没有MATLAB
就不弄了
做完这题目下午做微机实验汇编懵得一批。。。。。。头晕
欢迎大家多来踩踩我的博客:https://0verwatch.top