您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“WEB安全中Xpath注入攻擊原理是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“WEB安全中Xpath注入攻擊原理是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
Xpath注入
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文件如下:
<users>
<user>
<firstname>Ben</firstname>
<lastname>Elmore</lastname>
<loginID>abc</loginID>
<password>test123</password>
</user>
<user>
<firstname>Shlomy</firstname>
<lastname>Gantz</lastname>
<loginID>xyz</loginID>
<password>123test</password>
</user>
則在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等數據庫無密碼且沒有限制訪問
● 加密體系
在客戶端存儲私鑰
● 三方庫/軟件
公開漏洞后沒有及時更新
讀到這里,這篇“WEB安全中Xpath注入攻擊原理是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。