通達OA任意使用者登入
通達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.登入成功。