从源代码中可以看出路径参数未做任何的过滤限制,简单的判断文件是否存在或者是否为目录,读取文件内容全部内容经过base64编码返回前端。
java-sec-code是由java开发,使用的框架为springboot,下载到本地后直接使用IDEA导入项目。 选择maven工程选项。 导入项目后需要在本地数据库能建立名为java_sec_code的数据库(项目使用的数据库为mysql,本人使用的版本为5.5.6),数据库建立成功后使用项目文件夹resources下create_db.sql脚本文件建立表和导入数据。 修改...
代码审计入门之java-sec-code(四) aboood 2021-10-05 21:59:34 155430 本文由 aboood 创作,已纳入「FreeBuf原创奖励计划」,未授权禁止转载 1.SpEL表达式注入漏洞 Spring Expression Language(简称SpEL)是一种强大的表达式语言,支持在运行时查询和操作对象图。语言语法类似于Unified EL,但提供了额外的功能,特别是...
回到java-sec-code项目代码,查看模板注入漏洞演示代码velocity方法,模板参数template由前端传入未做任何过滤,当攻击者传入精心构造的代码时就会造成命令执行,使用payload:http://localhost:8080/ssti/velocity?template=%23set($e=%22e%22);$e.getClass().forName(%22java.lang.Runtime%22).getMethod(%22getRuntim...
代码审计入门之java-sec-code(四) aboood 2021-10-05 21:59:34 154159 本文由 aboood 创作,已纳入「FreeBuf原创奖励计划」,未授权禁止转载 1.SpEL表达式注入漏洞 Spring Expression Language(简称SpEL)是一种强大的表达式语言,支持在运行时查询和操作对象图。语言语法类似于Unified EL,但提供了额外的功能,特别是...