只要想得少 快乐就会追着跑🍺.|

uein

园龄:1年7个月粉丝:6关注:0

Jeecgboot-sql布尔盲注

最近大四在找实习工作,实在没什么心思学习,准备入职还被hr阴阳怪气,难受死我了

昨天看到微步发的jeecgboot的sql注入

其实主要是绕过sql黑名单检查,不止/show接口存在sql注入

漏洞分析

上一篇模板注入那里有提到sql注入黑名单检查

jimureport-spring-boot-starter-1.5.8.jar!\org\jeecg\modules\jmreport\common\b\i.class

    public static void a(String var0) {
        String[] var1 = " exec |peformance_schema|information_schema|extractvalue|updatexml|geohash|gtid_subset|gtid_subtract| insert | alter | delete | grant | update | drop | chr | mid | master | truncate | char | declare |user()|".split("\\|");
        if (var0 != null && !"".equals(var0)) {
            b(var0);
            var0 = var0.toLowerCase();
            c(var0);
            var0 = var0.replaceAll("/\\*.*\\*/", "");

            for(int var2 = 0; var2 < var1.length; ++var2) {
                if (var0.indexOf(var1[var2]) > -1 || var0.startsWith(var1[var2].trim())) {
                    a.error("请注意,存在SQL注入关键词---> {}", var1[var2]);
                    a.error("请注意,值可能存在SQL注入风险!---> {}", var0);
                    throw new JimuReportException(1001, "请注意,值可能存在SQL注入风险!--->" + var0);
                }
            }

            if (Pattern.matches("show\\s+tables", var0) || Pattern.matches("user[\\s]*\\([\\s]*\\)", var0)) {
                throw new RuntimeException("请注意,值可能存在SQL注入风险!--->" + var0);
            }
        }
    }

这个漏洞就是黑名单检查不全面,用布尔盲注绕过黑名单

上面提到的show接口

其他相关接口同样存在问题,如CVE-2023-1454的qurestSql

本文作者:uein

本文链接:https://www.cnblogs.com/uein/p/17706951.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   uein  阅读(307)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起