通達OA任意用戶登錄和后台GetShell漏洞復現


本文僅為了學習交流,嚴禁非法使用!!!
(隨筆僅為平時的學習記錄,若有錯誤請大佬指出)

1.分析一下存在漏洞文件 logincheck_code.php



從代碼中我們可以控制的有UID,CODEUID然后判斷$login_codeuid是否存在,不存在或者為空就退出,然后將獲取的UID,帶入到sql語句進行查詢,后面會驗證查詢的結果,如果信息核對正確,則將個人信息放入到SESSION中,UID=1的時候默認是管理員,而UID我們可以輸入一個1,就可以滿足查詢ql,而我們現在要繞過if (!isset($login_codeuid) || empty($login_codeuid)){exit();},全局搜索一下$login_codeuid可不可以控制

2.分析一下/general/login_code.php,發現存在$login_codeuid


如果$login_codeuid為空,則給$login_codeuid賦一個隨機值,並且使用echo打印出來

3.那我們的思路是:先去訪問/general/login_code.php,獲得$login_codeuid,再去訪問logincheck_code.php,同時POST傳入獲取的$login_codeuidUID=1,獲得返回包的PHPSESSID,在使用火狐瀏覽器偽造COOKiE,登錄后台

4.漏洞復現

將獲得的code_uid保存下來,進行下一步

將獲取的PHPSESSID保存下來,使用火狐瀏覽器偽造COOKIE,同時訪問/general/index.php,便可以進入后台

5.后台GetShell(靶機環境windows7 通道OA用的是MYOA2017)

依次點擊系統管理-附件管理-添加存儲目錄,選擇根目錄

6.依次點擊組織-系統管理員-附件(下圖標注)

7.直接上傳shell.php不能成功,開啟抓包,上傳shell.php.進行繞過,windows系統會自動去掉.,不符合windows的命名

8.使用冰蠍進行連接

9.實戰(由以上的思路,進入到某站的OA后台管理系統)

10.修復建議
升級通達 OA 到最新版
參考文章
https://www.chabug.org/audit/1516.html
https://blog.csdn.net/sun1318578251/article/details/105728541/

此文檔僅供學習,參與違法行為與筆者無關。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM