泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现

admin 2023年8月3日16:17:55评论147 views字数 778阅读2分35秒阅读模式
泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现

环境配置

l 系统:Winserver2019

l 数据库:MySQL5.7.26

l JDK:java 1.8.0_371

l 复现版本:ecology9_V10.57

泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现

源码分析

通过查看补丁

ecologyWEB-INFmyclassesweaversecurity

rulesruleImpSecurityRuleForOutDocForSql.class ,

其代码如下所示:

泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现

首先对路径做了判断,然后对isFromOutImg和fileid做了比较。如果isFromOutImg为1以及fileid为空且转换为整型的值小于0,则把“pression reject”的错误写进日志

查看FileDownloadForOutDoc.class代码,其代码如下所示:

泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现

从请求包中获取fileid的参数值后,没有做任何的处理就拼接到了select语句中。并且对select语句调用了RecordSet的executeQuery()方法,追踪进去看看,其代码如下所示:

泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现

该方法调用了自身的重载方法,其代码如下所示:

泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现

前面部分都是在对线程进行一些基础配置。往下看到第253行代码,对var1也就是我们前面拼接的select语句进行预处理操作。因为我们传进来的var5是new Object[0](长度为0的空数组,一种类型标记),所以不会进入到后面的for循环。

接着进入if语句,

调用PreparedStatement的executeQuery()方法来执行查询语句。因此补丁包里对fileid参数的处理有效的避免了SQL注入。

泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现

漏洞验证

构造的数据包如下所示:

泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现

发送构造好的数据包,确定存在时间盲注。

分享文章,私信获取相关代码学习资料

泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现

泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现
公众号:
刑天攻防实验室

扫码关注 了解更多内容

泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现

原文始发于微信公众号(刑天攻防实验室):泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月3日16:17:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   泛微OA FileDownloadForOutDoc.class SQL注入漏洞分析及复现https://cn-sec.com/archives/1929306.html

发表评论

匿名网友 填写信息