JavaSec Remote Method Guesser
看了eki师傅的文章,rmi内容还是挺多的,有时间整理一下
攻击方法总结
攻击类型
适用jdk版本
需要条件
加载远程类
<7u21、6u45
无
加载远程类
任意
SecurityManager allow/ java.rmi.server.useCodebaseOnly=false
远程对象方法参数反序列化
<8u242
远程对象参数除int、boolean等基本类外/服务端存在反序列化链
远程对象方法参数反序列化
任意
远程对象参数除int、boolean等基本类和String类外/远程对象环境存在反序列化链
Registry方法参数反序列化
<8u121,7u13,6u141
Registry端存在反序列化链
远程对象方法结果
任意
调用端存在反序列化环境
DGC方法返回值存在反序列化
<8u121,7u13,6u141
调用端存在反序列化链
JRMI CALL 报错反序列化
任意
调用端存在反序列化链
Registry bind/rebind 触发JRMI CA ...
newbeemall审计(下)
newbeemall 审计(上) | H4cking to the Gate . (h4cking2thegate.github.io)
之前没写完的接着写
越权越权分为三部分讲解:1. 未授权访问;2. 垂直越权;3. 水平越权
Java中做角色控制的组件常见的有Apache shiro和Spring Security,它们将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权、加密、会话管理等功能,组成了一个通用的安全认证框架。
Shiro使用广泛,shiro可以运行在web应用,非web应用,集群分布式应用中越来越多的用户使用shiro。Shiro相对独立,并且使用简单、灵活。
Spring Security(原名Acegi)也是一个开源的权限管理框架,spring security依赖spring运行。除了权限管理,它也有较多其他安全功能,体量较重,使用程度没有Shiro广泛,但它提供的安全防护能力是最全的。
案例项目仅使用interceptor(拦截器)根据URL路径做访问控制的,相对于使用成熟的框架,自写拦截器容易出现更多安全问题。
Interceptor配置在 ...
首届数据安全大赛线下 Web题目复现
复现一下线下赛的web题目
classroom用/download路由来获得源码
123456@app.route('/download/<filename>')def download(filename): if '..' in filename: filename = "uploads/demo.jpg" filename = filename.replace("_", "/") return send_from_directory("./", filename, as_attachment=True)
insert注入正常功能中有一个登录和一个注册,都存在sql注入的风险,这里给出关键代码
黑名单
123456def safe_waf(sql): blacklist = ["sys", "sql", "thread","if&qu ...
HackTM-Web
一个国外的比赛
Blog精妙的反序列化,触发点在index.php中
12$user = unserialize(base64_decode($_COOKIE["user"]));echo $user->get_profile();
可用的类如下
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615 ...
RCTF2022 ezbypass
之前的题目,复现一下
ezbypass附件是个jar包,本地搭建一下,方便调试
绕filter1234567891011121314151617public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException { if (!this.isWhite(request) && !this.auth()) { response.getWriter().write("auth fail"); } else { chain.doFilter(request, response); }}public boolean isWhite(ServletRequest req) { HttpServletRequest request = (HttpServletR ...
N1CTF-J
orrs一开始在github找了很久都没有找到这个项目,后来开了在线环境后,在下方看到了作者的名字oretnom23
后来找到了这个开源项目的地址,可以下载源码
1https://www.sourcecodester.com/php/15121/online-railway-reservation-system-phpoop-project-free-source-code.html
github上还找到了这个项目的漏洞报告
12https://github.com/debug601/bug_report/tree/main/vendors/oretnom23/online-railway-reservation-systemhttps://github.com/twseptian/orrsv1.0-sql-injection-unauthenticated
newbeemall审计(上)
前言找个springboot项目练一练
环境搭建审计的项目是github上 9.5k start的开源项目 newbee-mall。由于最新版的项目已修复多个漏洞,本文使用的是 Oct 17, 2019 的版本,项目地址 https://github.com/newbee-ltd/newbee-mall/tree/36807c87d13ee9ca08aff75197063b8836d8711d
使用IntelliJ IDEA打开项目文件夹,配置好SDK后IDEA会以maven项目打开并自动下载依赖包。
Spring属性文件路径:/src/main/resources/application.properties,其中可修改端口和mysql数据库地址
123server.port=8089...spring.datasource.url=jdbc:mysql://localhost:3306/newbee_mall_db?...
配置文件路径:/src/main/java/ltd/newbee/mall/config/NeeBeeMallWebMvcConfigurer.java,其中 ...
OFCMS 后台SQL注入
4630436162ade97ba2718b7d0c4b3b6351ade09e539dfebeb5402828e29e64b02e4fe5520a3c0007df39e242a8e6b57dd48e9f032b56b8e5dd707c68ec252ffb616c3496d03dba40a42c73fdb55cfa7e19da6927dc8de8d947a46d733c3685a489e9d38151f940d4895d5bdbd7d15d4f2d1cda5d43f4251ef18b8bdb46759a03622633dd1f4796d807be470617bfa85831ddb9bcaee379257d3a2c0e552b3493de7d8319137b66ce2ac3f731a9a7dee6ecbeebe37765483882151eb5736c2a9d5123a3eebd37177ee79ca2ea06443538becadd21e70b2b163984d2b9c0a1f55606eb495cef5836804839752cc054add34067d8506285b5c51 ...
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 report.ejsdocker-compose.ymlDockerfile
题目是一个在线blog,flag存放于admin的一篇post中,另外提供了一个bot用来模 ...
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 == ...