通達OA任意用戶登錄漏洞復現
漏洞簡介:
在 logincheck_code.php 文件,變量 UID 為攻擊者可控,攻擊者可改變 UID 參數,從而控制該 SQL 語句返回 USER 表中指定 uid參數的用戶信息,便可通過偽造參數來達到登錄任意用戶的目的。
該漏洞可獲取任意用戶session,包括系統管理員
影響版本:
通達OA2017
11.X<11.5版本
參考鏈接:
https://www.cnblogs.com/Rain99-/p/12762755.html
https://www.cnblogs.com/null1433/p/12765914.html
http://www.tongda2000.com/oa/myoa2019/manual/03管理員手冊/安裝及卸載.html
漏洞poc:
通達OA環境:https://pan.baidu.com/s/1QFAoLxj9pD1bnnq3f4I8lg 提取碼:ousi
漏洞工具:https://github.com/NS-Sp4ce/TongDaOA-Fake-User
使用方法:python3 POC.py -v (2017|11) -url url
漏洞復現:
1.環境搭建。(安裝步驟參考第三個鏈接)
2.訪問http:192.168.159.139/general/login_code.php,並使用burp抓包獲取code_uid。
3.再訪問 http://192.168.159.139/logincheck_code.php,將GET包轉換成POST包。
4.改為POST包后,將Cookie全部刪除。(如果沒有就不用這一步。)
5.將獲取的codeuid復制過來,格式如下圖所示。提交 code_uid 參數進行偽造 ,獲取 PHPSESSID。
6.最后訪問登錄后的頁面:http://192.168.1.113/general/index.php
7.替換PHPSESSID參數即可登錄成功。
拓展:
1.使用工具獲取PHPSESSID參數。
python3 POC.py -v 2017 -url http://192.168.159.139
2.訪問http://192.168.159.139/general/index.php?isIE=0&modify_pwd=0,burp抓包攔截。
3.將Cookie替換為工具獲取到的PHPSESSID參數,取消攔截。
4.登錄成功。