- 復現環境
服務器window2008 軟件版本11.3
11.3版本下載地址:
鏈接:https://pan.baidu.com/s/1QFAoLxj9pD1bnnq3f4I8lg
提取碼:ousi
- 漏洞分析
通過官網發布的補丁對比確認新版本修改了如下文件:
在logincheck_code.php文件中
代碼第28行,變量UID為攻擊者可控,攻擊者可改變UID參數,從而控制該SQL語句返回USER表中指定uid參數的用戶信息。
在172行對用戶信息進行session賦值,攻擊者只需繞過代碼中的redis驗證,便可通過偽造參數來達到登錄任意用戶的目的。
在第12行隨機生成了一串codeuid,然后在第35行通過set_cache方法將該標識id插入到redis緩存中,最后在第37行將codeuid進行了輸出。
- 本地復現
一 首先訪問
http://192.168.1.113/general/login_code.php
獲取到 code_uid
二 再訪問
http://192.168.1.113/logincheck_code.php
用post請求提交code_uid 參數進行偽造
獲取到PHPSESSID參數
三 最后訪問登入后頁面
http://192.168.1.113/general/index.php
把cookie改成偽造的參數即可登入成功