最近忙于工作沒有抽出時間來分享滲透測試文章,索性今天由我們Sinesafe的進階滲透大牛給大家詳細講下主要在業務中發現邏輯和越權的漏洞檢測方法,希望大家能對自己的網站安全進行提前預防和了解,再次提醒做安全測試前必須要有正規的授權才能進行測試,提供網站的安全性保障權益。

3.11.1. Xpath定義
XPath注入攻擊是指利用XPath解析器的松散輸入和容錯特性,能夠在 URL、表單或其它資訊上附帶惡意的XPath 查詢代碼,以獲得權限資訊的通路權并更改這些資訊。XPath注入攻擊是針對Web服務應用新的攻擊方法,它允許攻擊者在事先不知道XPath查詢相關知識的情況下,通過XPath查詢得到一個XML文檔的完整内容。
3.11.2. Xpath注入攻擊原理
XPath注入攻擊主要是通過建構特殊的輸入,這些輸入往往是XPath文法中的一些組合,這些輸入将作為參數傳入Web 應用程式,通過執行XPath查詢而執行入侵者想要的操作,下面以登入驗證中的子產品為例,說明 XPath注入攻擊的實作原理。
在Web 應用程式的登入驗證程式中,一般有使用者名(username)和密碼(password) 兩個參數,程式會通過使用者所送出輸入的使用者名和密碼來執行授權操作。若驗證資料存放在XML檔案中,其原理是通過查找user表中的使用者名 (username)和密碼(password)的結果來進行授權通路,
例存在user.xml檔案如下:
Ben
Elmore
abc
test123
Shlomy
Gantz
xyz
123test
則在XPath中其典型的查詢語句如下:
//users/user[loginID/text()=’xyz’and password/text()=’123test’]
但是,可以采用如下的方法實施注入攻擊,繞過身份驗證。如果用 戶傳入一個 login 和 password,例如 loginID = ‘xyz’ 和 password = ‘123test’,則該查詢語句将傳回 true。但如果使用者傳入類似 ‘ or 1=1 or ”=’ 的值,那麼該查詢語句也會得到 true 傳回值,因為 XPath 查詢語句最終會變成如下代碼:
//users/user[loginID/text()=”or 1=1 or ”=” and password/text()=” or 1=1 or ”=”]
這個字元串會在邏輯上使查詢一直傳回 true 并将一直允許攻擊者通路系統。攻擊者可以利用 XPath 在應用程式中動态地操作 XML 文檔。攻擊完成登入可以再通過XPath盲入技術擷取最高權限帳号和其它重要文檔資訊。
3.12. 邏輯漏洞 / 業務漏洞
3.12.1. 簡介
邏輯漏洞是指由于程式邏輯不嚴導緻一些邏輯分支處理錯誤造成的漏洞。
在實際開發中,因為開發者水準不一沒有安全意識,而且業務發展迅速内部測試沒有及時到位,是以常常會出現類似的漏洞。
3.12.2. 安裝邏輯
檢視能否繞過判定重新安裝
檢視能否利用安裝檔案擷取資訊
看能否利用更新功能擷取資訊
3.12.3. 交易
3.12.3.1. 購買
修改支付的價格
修改支付的狀态
修改購買數量為負數
修改金額為負數
重放成功的請求
并發資料庫鎖處理不當
3.12.3.2. 業務風控
刷優惠券
套現
3.12.4. 賬戶
3.12.4.1. 注冊
覆寫注冊
’嘗試重複使用者名
注冊周遊猜解已有賬号
3.12.4.2. 登入
撞庫
賬号劫持
惡意嘗試帳号密碼鎖死賬戶
3.12.4.3. 找回密碼
重置任意使用者密碼
密碼重置後新密碼在傳回包中
Token驗證邏輯在前端
3.12.4.4. 修改密碼
越權修改密碼
修改密碼沒有舊密碼驗證
3.12.5. 驗證碼
驗證碼強度不夠
驗證碼無時間限制或者失效時間長
驗證碼無猜測次數限制
驗證碼傳遞特殊的參數或不傳遞參數繞過
驗證碼可從傳回包中直接擷取
驗證碼不重新整理或無效
驗證碼數量有限
驗證碼在資料包中傳回
修改Cookie繞過
修改傳回包繞過
圖形驗證碼可OCR或使用機器學習識别
驗證碼用于手機短信/郵箱轟炸
3.12.6. Session
Session機制
Session猜測
Session僞造
Session洩漏
Session Fixation
3.12.7. 越權
水準越權
攻擊者可以通路與他擁有相同權限的使用者的資源
權限類型不變,ID改變
垂直越權
低級别攻擊者可以通路進階别使用者的資源
權限ID不變,類型改變
交叉越權
權限ID改變,類型改變
3.12.8. 随機數安全
使用不安全的随機數發生器
使用時間等易猜解的因素作為随機數種子
3.12.9. 其他
使用者/訂單/優惠券等ID生成有規律,可枚舉
接口無權限、次數限制
加密算法實作誤用
執行順序
敏感資訊洩露
3.13. 配置安全
弱密碼
位數過低
字元集小
為常用密碼
個人資訊相關(手機号 生日 姓名 使用者名)
使用鍵盤模式做密碼
敏感檔案洩漏
.git
.svn
資料庫
Mongo/Redis等資料庫無密碼且沒有限制通路
加密體系
在用戶端存儲私鑰
三方庫/軟體
公開漏洞後沒有及時更新,如果對此有進一步的想加強網站安全性以及滲透測試服務,可以咨詢專業的網站安全公司來處了解決。