XX資訊系統弱口令下滲透過程與解決方案
背景
筆者在負責資訊系統安全過程中,簡單實施WEB系統滲透測試過程。常見場景問題:
1. 弱口令
在網路安全中,弱口令(weak password)指的是那些容易被他人猜測到或被破解工具輕易破解的密碼。這些密碼通常缺乏足夠的複雜性和安全性,無法有效保護使用者的賬戶和資料安全。在OWASP中屬於A07:2021 – Identification and Authentication Failures
以下是對弱口令的詳細解釋:弱口令沒有嚴格和準確的定義,但通常認為僅包含簡單數字和字母組合的口令,如“123”、“abc”、“123456”等,以及那些與使用者個人資訊高度相關的口令(如生日、名字拼音等),都屬於弱口令範疇。
弱口令通常具有以下特點:
- 簡單性:口令長度短,結構簡單,僅包含數字、字母或它們的簡單組合。
- 可預測性:口令與個人資訊高度相關,如生日、名字、常用詞彙等,容易被他人猜測。
- 普遍性:一些常見的、易於記憶的口令被廣泛使用,增加了被破解的風險。
弱口令一旦被破解,將使使用者面臨嚴重的安全風險,包括:
- 個人資訊洩露:攻擊者可能獲取使用者的敏感資訊,如身份證號、銀行卡號等。
- 財務損失:攻擊者可能利用破解的賬戶進行非法交易,導致使用者財務損失。
- 隱私侵犯:攻擊者可能窺探使用者的私人通訊、瀏覽記錄等隱私資訊。
2、越權訪問安全漏洞
越權訪問安全漏洞(Broken Access Control,簡稱BAC)是Web應用程式中一種常見的安全漏洞,由於其存在範圍廣、危害大,被OWASP列為Web應用十大安全隱患的第一名。該漏洞指的是應用在檢查授權時存在紕漏,使得攻擊者在獲得低許可權使用者賬戶後,能夠利用一些方式繞過許可權檢查,訪問或操作其他使用者的資料或執行更高許可權的操作。
越權訪問安全漏洞的分類
水平越權訪問:
定義:一種“基於資料的訪問控制”設計缺陷引起的漏洞。由於伺服器端在接收到請求資料進行操作時沒有判斷資料的所屬人或所屬部門,導致攻擊者能夠訪問或操作同級別其他使用者的資料。
例項:在一個線上論壇中,普通使用者A透過修改URL中的使用者ID引數,成功訪問了同級別使用者B的帖子。
垂直越權訪問:
定義:一種“基於URL的訪問控制”設計缺陷引起的漏洞,又稱為許可權提升攻擊。攻擊者能夠利用漏洞進行更高階別的訪問或控制其他使用者的資料。
例項:在一個電子商務網站中,普通使用者透過某種方式獲得了管理員許可權,進而訪問了敏感的管理員資料或執行了高階管理操作。
滲透過程
1. 透過猜測使用者名稱test/弱口令123456
進行登入認證
成功進入到首頁
看上去缺少部分資料許可權,可以進一步分析
2. 資訊暴露
Request URL: https://XXX.cn/device_test/s3storage/getC2S3Url
Request Method: GET
Status Code: 200
Referrer Policy: strict-origin-when-cross-origin
響應體返回
previewFile/
我們得知URL https://XXXX.cn/device_test/previewFile/
進一步訪問,發現系統是基於Springboot應用,使用了Minio檔案儲存
3. 透過分析系統請求URL,逐個分析各個介面請求與入參
再訪問 https://xxxx.cn/device_test/ws/getSubject
返回當前登入人資訊與access token
{"categoryIds":null,"orgInstanceIds":null,"orgIds":["8d21dab45da443af9c2ee52ece8411b7","FIbPekkmQI63swaiarxtnyQ"],"roles":["default","lcglz"],"appid":"Rx_Nr3nkSb-H1XfFjYAA9g","name":"test","id":"vVqNnBaoTaqYicGuoicznnrA","accessToken":"eyJraWQiOiJ3Y1d5MWtyX1RQLUx2amY2N29HWVBnIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJ1aWQiOiJ2VnFObkJhb1RhcVlpY0d1b2ljem5uckEiLCJhYyI6InRlc3QiLCJpc3MiOiJjMiIsInVuIjoi5rWL6K-V6LSm5Y-3Iiwib2lkIjpbIjhkMjFkYWI0NWRhNDQzYWY5YzJlZTUyZWNlODQxMWI3IiwiRkliUGVra21RSTYzc3dhaWFyeHRueVEiXSwiZXhwIjoxNzA3Mzg4OTM0LCJhaWQiOiJSeF9OcjNua1NiLUgxWGZGallBQTlnIiwicm8iOlsiZGVmYXVsdCIsImxjZ2x6Il0sImlhdCI6MTcwNjc4NDEzNH0.TdDcSfuI5-LicNowvilPJriVBOEeoxiRbgNp7VqjnjySvh-wbiQvUKWeF1J4dW1Y8q8k9BFOsI4aCRCsxrMxv19Sy49fpG3ECE6lretGz6ieiEvFr9p1GfgNxoxthEhP9HRL_z0PE94zkK6Az490ODE6fti4t5z-cEpo9GjhB4s","userId":"vVqNnBaoTaqYicGuoicznnrA","realname":"測試賬號"}
檔案上傳接⼝資訊洩露
POST https://xxxx.cn/device_test/excel/uploadHTTP/1.1
Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468
User-Agent: Fiddler
Cookie: device_testRx_Nr3nkSb-
H1XfFjYAA9g_C2AT=eyJraWQiOiJwVXJkRGVpWlJYcUFsMDVKMWdybzZRIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJ1aWQiOiJ2VnFObkJhb1
RhcVlpY0d1b2ljem5uckEiLCJhYyI6InRlc3QiLCJpc3MiOiJjMiIsInVuIjoi5rWL6K-V6LSm5Y3Iiwib2lkIjpbIjhkMjFkYWI0NWRhNDQzYWY5YzJlZTUyZWNlODQxMWI3IiwiRkliUGVra21RSTYzc3dhaWFyeHRueVEiXSwiZXhwIjoxNzA3Nzg3
NzU0LCJhaWQiOiJSeF9OcjNua1NiLUgxWGZGallBQTlnIiwicm8iOlsiZGVmYXVsdCIsImxjZ2x6Il0sImlhdCI6MTcwNzE4Mjk1NH0.nwQsCaerUXqsHIW0ARspjbRZqhky2_
r-p2Pn-pI2jW83LP3Z0UnqUxgkH2h4nxIcyY3N5RJP_QkqGD3BDYwIRMZHW8hhrZ6Uu0AJcE8Oglfvudi6ETB6DNYp2HhKtVtY13Cvum9hF8kfF_
AJ0UvI-2FEdThxeG_ILw9ui_268; device_testRx_Nr3nkSb-
H1XfFjYAA9g_C2RT=9f30054cce608b9aaaaf3c897b8ba552; JSESSIONID=7dd3aaaf-9aef-4e71-a81a-c9d02269a787
Content-Length: 19256
---------------------------acebdf13572468
Content-Disposition: form-data; name="file"; filename="重點監測縣市導⼊模板.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
HTTP/1.1 500
Server: nginx
Date: Tue, 06 Feb 2024 01:51:16 GMT
Content-Type: application/json
Content-Length: 164
{"timestamp":1707184276967,"status":500,"error":"Internal Server Error","message":"java.lang.NullPointerException: Name is
null","path":"/device_test/excel/upload"}
已成功獲取檔案上傳後URL
POST https://xxxx.cn/device_test/s3storage/uploads/filesHTTP/1.1
Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468
User-Agent: Fiddler
Cookie: device_testRx_Nr3nkSb-
H1XfFjYAA9g_C2AT=eyJraWQiOiJwVXJkRGVpWlJYcUFsMDVKMWdybzZRIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJ1aWQiOiJ2VnFObkJhb1
RhcVlpY0d1b2ljem5uckEiLCJhYyI6InRlc3QiLCJpc3MiOiJjMiIsInVuIjoi5rWL6K-V6LSm5Y-
3Iiwib2lkIjpbIjhkMjFkYWI0NWRhNDQzYWY5YzJlZTUyZWNlODQxMWI3IiwiRkliUGVra21RSTYzc3dhaWFyeHRueVEiXSwiZXhwIjoxNzA3Nzg3
NzU0LCJhaWQiOiJSeF9OcjNua1NiLUgxWGZGallBQTlnIiwicm8iOlsiZGVmYXVsdCIsImxjZ2x6Il0sImlhdCI6MTcwNzE4Mjk1NH0.nwQsCaerUXqsHIW0ARspjbRZqhky2_
r-p2Pn-pI2jW83LP3Z0UnqUxgkH2h4nxIcyY3N5RJP_QkqGD3BDYwIRMZHW8hhrZ6Uu0AJcE8Oglfvudi6ETB6DNYp2HhKtVtY13Cvum9hF8kfF_
AJ0UvI-2FEdThxeG_ILw9ui_268; device_testRx_Nr3nkSb-
H1XfFjYAA9g_C2RT=9f30054cce608b9aaaaf3c897b8ba552; JSESSIONID=7dd3aaaf-9aef-4e71-a81a-c9d02269a787
Content-Length: 19256
---------------------------acebdf13572468
Content-Disposition: form-data; name="file"; filename="重點監測縣市導⼊模板.xlsx"
HTTP/1.1 200
Server: nginx
Date: Tue, 06 Feb 2024 02:04:50 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 418
[{"digest":null,"fileid":"tmQjJLqlQCOVUP1Yyun0aQ","filesize":18990,"id":"tmQjJLqlQCOVUP1Yyun0aQ","mimetype":"application/vnd.ope
nxmlformats-officedocument.spreadsheetml.sheet","name":"重點監測縣市導⼊模
板.xlsx","path":null,"serviceId":null,"url":"device_develop/2024-02-
06/1707185090469%24%24%E9%87%8D%E7%82%B9%E7%9B%91%E6%B5%8B%E5%8E%BF%E5%B8%82%E5%AF%BC%E5%85%A5%E
6%A8%A1%E6%9D%BF.xlsx","visitCount":null}]
HTTP/1.1 200
Server: nginx
Date: Tue, 06 Feb 2024 02:20:16 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 286
[{"digest":null,"fileid":"g8ycqNeLRiqoz2G9169liw","filesize":4995570,"id":"g8ycqNeLRiqoz2G9169liw","mimetype":"application/pdf","na
me":"1661909291339187230.pdf","path":null,"serviceId":null,"url":"device_develop/2024-02-
06/1707186016312%24%241661909291339187230.pdf","visitCount":null}]
使用者姓名洩露
![image image](https://img2023.cnblogs.com/blog/15172/202407/15172-20240724105404347-1042935653.png)
響應體
{"contents":[{"procinstid":"5069B7389B6C45BAA345700FE4DE1518","formkey":"","taskdefkey":"sid-B55B27AC-0258-4080-AC79-B65666A82442","taskstate":"todo","executionid":"5069B7389B6C45BAA345700FE4DE1518","candidate":["使用者【xxxx】"],"deletereason":"","startUserId":"e33098a8d6564b52a30d8db9116bb41d","startUserName":"寸XXX","businesskey":"3nVBmjN_SGShnD8xqxQOHA","modulename":"XXXX-2024-01-29-發起計劃停機審批流程","id":"722A3616DFBB4B6491530589425570FF","taskid":"F0548F4D4611439CA893F12DD474BD45","procdefid":"device_overhaul_stop:4:8B40557B2AF24A079A5E4CF841CE3B76","createtime":1706766538000,"priority":50,"revision":1,"appid":"fYy0yzdPQS2bw84KT1Hu1Q","name":"裝置動力車間負責人","tenantId":"","taskTitle":"","category":"users","moduleid":"device_overhaul_stop","remark1":"同意"},{"procinstid":"15187F8CE8EB4F689DCA5C0FE201033A","formkey":"","taskdefkey":"sid-B55B27AC-0258-4080-AC79-B65666A82442","taskstate":"todo","executionid":"15187F8CE8EB4F689DCA5C0FE201033A","candidate":["使用者【XXXX】"],"deletereason":"","startUserId":"e33098a8d6564b52a30d8db9116bb41d","startUserName":"寸XX","businesskey":"HG1aOZcQRJO2awsrd8Yf-w","modulename":"XXXXX-2024-02-01-發起計劃停機審批流程","id":"4CE0E56F1B5C49E3A53657B4B534489D","taskid":"8228ADE71F2E4F9FB3EBA58DC6DF0752","procdefid":"device_overhaul_stop:4:8B40557B2AF24A079A5E4CF841CE3B76","createtime":1706765789000,"priority":50,"revision":1,"appid":"fYy0yzdPQS2bw84KT1Hu1Q","name":"裝置動力車間負責人","tenantId":"","taskTitle":"","category":"users","moduleid":"device_overhaul_stop","remark1":"同意"}],"pageIndex":1,"pageSize":3,"total":2,"totalPage":1}
4.越權訪問安全漏洞
所有使用者手機號洩露,測試用例:普通賬戶應沒有許可權的訪問未經授權的介面
http://IP或域名/ls/userlist/form/c2/userMain?page=1&rows=100&sidx=userRegdate+desc&sord=&cond=%7B%7D
通用接⼝暴露所有使用者頭像與手機號等敏感資訊
https://xxxx/device_test/CustomUserOrg/getAllUsers
解決方案
一. 弱口令預防措施
為了避免弱口令帶來的安全風險,使用者應採取以下預防措施:
- 設定複雜口令:口令應至少包含8個字元,並混合使用英文大小寫字母、數字和特殊符號。避免使用與個人資訊相關的口令。
- 定期更換口令:建議使用者定期更換口令,以降低長期使用同一口令被破解的風險。
- 啟用多因素認證:在支援多因素認證的平臺上啟用該功能,增加賬戶的安全性。
- 不透露口令:不在不安全的場合透露口令,避免透過電子郵件、即時通訊工具等方式傳送口令。
弱口令是網路安全中的一大隱患,使用者應提高安全意識,採取有效措施保護自己的賬戶和資料安全。
二. 越權訪問安全漏洞
為了有效防範越權訪問安全漏洞,可以從以下幾個方面入手:
- 加強許可權控制:
- 對使用者角色和許可權進行細化和限制,確保不同使用者只能訪問其所需的最小化許可權資源。
- 實施強制訪問控制策略,限制使用者的操作範圍和深度。
- 嚴格輸入驗證:
- 對所有使用者輸入進行嚴格的驗證和過濾,確保輸入資料的合法性和安全性。
- 使用引數化查詢和預編譯語句等技術防止SQL隱碼攻擊等攻擊行為。
- 會話管理:
- 採用強密碼策略,限制密碼的複雜性和長度。
- 實施多因素身份認證機制,提高賬戶的安全性。
- 定期更換會話令牌,縮短會話有效期,降低被攻擊的風險。
- 錯誤處理與日誌審計:
- 對錯誤處理進行細化和完善,確保異常或錯誤條件被正確處理和記錄。
- 實施嚴格的日誌審計機制,對所有操作行為進行記錄和監控,以便及時發現和追蹤攻擊行為。
- 安全編碼規範:
- 在開發階段就考慮安全性,透過程式碼審查確保程式碼的安全性。
- 避免在程式碼中直接硬編碼許可權或角色,而是使用配置檔案或資料庫來管理許可權。
- 安全框架和庫的使用:
- 使用已經經過驗證的安全框架和庫來構建應用程式,這些框架和庫通常包含了許多用於防範越權等安全漏洞的最佳實踐。
- 安全教育和培訓:
- 提高開發團隊和運維團隊的安全意識,讓他們瞭解越權等安全漏洞的風險和防範措施。
- 透過定期的安全教育和培訓,提高團隊的安全意識和技能水平。
三. MinIO資訊洩露的安全風險與防止措施
安全風險
- 敏感資訊洩露:
- MinIO的資訊洩露漏洞(如CVE-2023-28432)可能導致儲存的敏感資料(如MINIO_SECRET_KEY、MINIO_ROOT_PASSWORD等)被未經授權的使用者獲取。
- 這些金鑰和密碼如果被惡意利用,攻擊者可以輕易訪問和控制系統,進一步獲取更多敏感資訊或執行惡意操作。
- 業務中斷和資料損壞:
- 資訊洩露可能引發連鎖反應,如被攻擊者用於發動拒絕服務攻擊(DDoS),導致MinIO服務不可用,進而影響業務執行。
- 攻擊者還可能篡改或刪除儲存的資料,造成資料損壞或丟失。
防止措施
- 及時升級:
- 官方已釋出修復漏洞的新版本,受影響使用者應儘快將MinIO升級到安全版本(如RELEASE.2023-03-20T20-16-18Z及以後版本)。
- 定期檢查並應用所有安全更新和補丁,以確保系統的安全性。
- 加強訪問控制:
- 配置嚴格的訪問控制策略,確保只有授權使用者才能訪問MinIO服務。
- 使用強密碼策略,避免使用弱口令,並定期更換密碼。
- 啟用加密傳輸:
- 確保所有與MinIO的通訊都透過HTTPS等加密協議進行,以防止資料在傳輸過程中被截獲或篡改。
- 定期審計和監控:
- 定期對MinIO的訪問日誌進行審計,檢查是否有異常訪問行為。
- 使用監控工具實時監控MinIO服務的執行狀態和效能指標,及時發現並處理潛在的安全問題。
四. Spring Boot資訊洩露的安全風險與防止措施
安全風險
- 原始碼洩露:
- 如果Spring Boot專案的原始碼管理不當,可能會被惡意使用者獲取,進而分析出系統的漏洞和敏感資訊。
- 配置資訊洩露:
- Spring Boot專案中的配置檔案(如application.properties或application.yml)可能包含資料庫密碼、API金鑰等敏感資訊,如果這些檔案被洩露,將帶來嚴重的安全風險。
- 跨站指令碼(XSS)和跨站請求偽造(CSRF)攻擊:
- 如果Spring Boot專案未採取適當的安全措施,可能會受到XSS和CSRF等攻擊,導致使用者資料被竊取或篡改。
防止措施
- 程式碼混淆和加密:
- 使用Java程式碼混淆工具(如ProGuard、YGuard)對Spring Boot專案的原始碼進行混淆處理,增加攻擊者分析程式碼的難度。
- 對敏感資料進行加密儲存和傳輸,確保即使資料被洩露也無法被輕易解密。
- 安全配置:
- 確保Spring Boot專案的配置檔案得到妥善管理,避免將敏感資訊直接儲存在程式碼庫中。
- 使用環境變數或外部配置檔案來管理敏感資訊,確保這些資訊在部署時不會洩露。
- 整合Spring Security:
- 在Spring Boot專案中整合Spring Security框架,實現身份驗證、授權、加密和審計等安全功能。
- 配置合理的安全策略,如使用HTTPS、設定強密碼策略、啟用CSRF防護等。
- 定期安全審計和漏洞掃描:
- 定期對Spring Boot專案進行安全審計和漏洞掃描,及時發現並修復潛在的安全問題。
- 關注安全社群和官方安全公告,及時獲取最新的安全漏洞資訊和修復建議。
參考
- 2011-2019年Top100弱口令密碼字典 https://k8gege.org/p/16172.html
- OWASP Top 10 – 2021 https://owasp.org/Top10/
今天先到這兒,希望對雲原生,技術領導力, 企業管理,系統架構設計與評估,團隊管理, 專案管理, 產品管理,資訊保安,團隊建設 有參考作用 , 您可能感興趣的文章:
構建創業公司突擊小團隊
國際化環境下系統架構演化
微服務架構設計
影片直播平臺的系統架構演化
微服務與Docker介紹
Docker與CI持續整合/CD
網際網路電商購物車架構演變案例
網際網路業務場景下訊息佇列架構
網際網路高效研發團隊管理演進之一
訊息系統架構設計演進
網際網路電商搜尋架構演化之一
企業資訊化與軟體工程的迷思
企業專案化管理介紹
軟體專案成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共享
高效能的團隊建設
專案管理溝通計劃
構建高效的研發與自動化運維
某大型電商雲平臺實踐
網際網路資料庫架構設計思路
IT基礎架構規劃方案一(網路系統規劃)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之採購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之效能實時度量系統演變
如有想了解更多軟體設計與架構, 系統IT,企業資訊化, 團隊管理 資訊,請關注我的微信訂閱號:
作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。
該文章也同時釋出在我的獨立部落格中-Petter Liu Blog。