The cult of 8 bit复现
[Real World CTF 2023] The cult of 8 bit一道rwctf正赛的web题,考点是some attack和xsleak [toc] 题目描述 Valentina is trapped in the 8-bit cult, will you be able to find the secret and free her? nc 47.254.41.26 9999 attachment 源码分析12345678910111213141516171819bot/bot.jscode/ app.js routes/api.js src/ db.js middleware.js views/ home.ejs login.ejs post.ejs register.ejs ...
RCTF2022 Web方向复现
filechecker_mini一个flask应用,附件给出源码 123456789101112131415161718192021222324252627282930313233343536373839from flask import Flask, request, render_template, render_template_stringfrom waitress import serveimport osimport subprocessapp_dir = os.path.split(os.path.realpath(__file__))[0]app = Flask(__name__)app.config['UPLOAD_FOLDER'] = f'{app_dir}/upload/'@app.route('/', methods=['GET','POST'])def index(): try: if request.method...
JavaSec 反序列化篇-shiro
Shiro-550(CVE-2016-4437)0x01 漏洞原理Apache Shiro框架提供了记住我(RememberMe)的功能,关闭浏览器再次访问时无需再登录即可访问。shiro默认使用CookieRememberMeManager,对rememberMe的cookie做了加密处理,在CookieRememberMeManaer类中将cookie中rememberMe字段内容先后进行序列化、AES加密、Base64编码操作。服务器端识别身份解密处理cookie的流程则是: 获取rememberMe cookie ->base64...
JavaSec 反序列化篇-CC链
[toc] CC012345678910111213141516171819202122232425262728293031323334353637383940/*Gadget chain: ObjectInputStream.readObject() AnnotationInvocationHandler.readObject() AbstractInputCheckedMapDecorator.setValue() AnnotationInvocationHandler.invoke() TransformeredMap.checkSetValue() ChainedTransformer.transform() ConstantTransformer.transform() InvokerTransformer.transform() ...
Json parse解析差异导致的安全问题
[toc] 0x01 前言json 解析是当前web开发中必不可少的组件,而在现代多语言微服务架构中,json解析可能依赖于多个不同的标准库实现,而不同的组件通常存在一些差异,parser之间的差异与多阶段请求处理相结合可能会引入严重的漏洞。 0x02 不同的规范 IETF JSON RFC (8259 and prior): This is the official Internet Engineering Task Force (IETF) specification. ECMAScript Standard: Changes to JSON are released in lockstep with RFC releases, and the standard refers to the RFC for guidance on JSON. However, non-spec conveniences provided by the JavaScript interpreter, such as quoteless strings and comments, have...
0CTF/TCTF-2022 Web复现
Where are you from?一道TCTF的题目,考点ajp走私+幽灵猫 环境搭建由于本题没有docker,只能自己本地搭一个 Tomcat 9.0.30 服务器该漏洞修复版本为9.0.31,这里选用9.0.30 在server.xml中使用默认配置开启ajp端口8009(不对外暴露,只有反代可以访问) Apache 2.4.43 反向代理作反代,/cat路由代理到8009端口上 index.jsp12345678910111213141516171819<html><body><h2> <% out.println("hhhhhhhhh, it's tomcat!!"); String remote_addr = request.getRemoteAddr(); if (remote_addr.equals("8.8.8.8")) { String flag =...
Apache Httpd AJP请求走私 CVE-2022-26377
[toc] 漏洞描述Apache HTTP Server的mod_proxy_ajp模块与tomcat ajp解析模块存在差异,当用户配置了mod_proxy_ajp模块与后端tomcat服务器通信时,攻击者能够在正常的HTTP请求中走私一条自定义HTTP请求到后端tomcat。攻击者可利用该漏洞实现对tomcat AJP端口的访问,比如自定义attributes属性值来攻击存在幽灵猫漏洞但AJP协议端口未对外开放的tomcat服务器。 影响范围受影响版本: Apache HTTP Server < 2.4.54 漏洞分析AJP协议分析ajp数据包格式 1234567891011121314AJP13_FORWARD_REQUEST := prefix_code (byte) 0x02 = JK_AJP13_FORWARD_REQUEST method (byte) protocol (string) req_uri (string) remote_addr ...
Tomcat AJP 文件包含漏洞(CVE-2020-1938)
[toc] 漏洞概述CVE-2020-1938 又名GhostCat ApacheTomcat服务器中被发现存在文件包含漏洞,攻击者可利用该漏洞读取或包含Tomcat 上所有 webapp 目录下的任意文件 该漏洞是一个单独的文件包含漏洞,依赖于 Tomcat 的 AJP(定向包协议)。AJP 自身存在一定缺陷,由于Tomcat在处理AJP请求时,未对请求做任何验证,通过设置AJP连接器封装的request对象的属性, 导致产生任意文件读取漏洞和代码执行漏洞 影响范围1234Tomcat 9.x < 9.0.31Tomcat 8.x < 8.5.51Tomcat 7.x < 7.0.100Tomcat 6.x 环境搭建Tomcat 9.0.30 服务器 该漏洞修复版本为9.0.31,这里选用9.0.30 在server.xml中使用默认配置开启ajp端口8009 Apache 2.4.43 反向代理 作反代,/cat路由代理到8009端口上 漏洞分析AJP ConnectorApache...
Tomcat任意文件上传 CVE-2017-12615
[toc] 一. 漏洞概述2017年9月19日,Apache Tomcat 官方确认并修复了两个高危漏洞,漏洞 CVE 编号:CVE-2017-12615 ,该漏洞受影响版本为7.0-7.80之间,官方评级为高危,通过精心构造的攻击请求,向用户服务器上传恶意 JSP 文件,通过上传的 JSP 文件 ,可在用户服务器上执行任意代码,存在高安全风险。 二. 漏洞基本信息漏洞编号: CVE-2017-12615 漏洞名称: CVE-2017-12615-远程代码执行漏洞 官方评级: 高危,实际测试漏洞危害较低 漏洞描述: CVE-2017-12615:远程代码执行漏洞 当 Tomcat 运行在 Windows 操作系统时,且启用了 HTTP PUT 请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP...
JavaSec 反序列化篇-URLDNS链
URLDNS算是一条比较简单的利用链,这条链不依赖第三方库,它无法执行系统命令,成功利用的结果也只是实现服务器的一次url解析,主要用这条链来判断服务器是否存在反序列化。 URLDNS 反序列化分析1)Source 入口类重写readObject方法 2)Gadget Chain 入口类可传入任意对象(这种类一般为集合类) 3)Sink 执行类可被利用执行危险或任意函数 这条链的入口类是java.util.HashMap...