文章预览
朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把“ 亿人 安全 “ 设为星标 ”, 否则可能就看不到了啦 原文由作者授权,首发在奇安信攻防社区 https://forum.butian.net/share/1749 MyBatis 默认是支持OGNL 表达式的,尤其是在动态SQL中,通过OGNL 表达式可以灵活的组装 SQL 语句,从而完成更多的功能。在特定的情况下可能会存在RCE的风险。 0x01引言 前段时间看了一道CTF题目ezsql 传送门:http://www.yongsheng.site/2022/03/29/d3ctf/ 里面的解题过程大概是Mybatis调用时存在SQL注入,然后还存在OGNL注入。 看完文章后有一些疑惑: 为什么SQL注入能解析ognl表达式达到RCE的效果? 题目中是通过Provider注解进行sql配置的,xml配置和类似@Select配置也会存在类似的问题吗? 使用#{}预编译后也会存在类似的风险吗? 带着这些疑惑,下面从mybatis的解析流程入手,分析这个c
………………………………