本文小編為大家詳細(xì)介紹“WEB安全中Xpath注入攻擊原理是什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“WEB安全中Xpath注入攻擊原理是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比南城網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式南城網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋南城地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。
Xpath注入
3.11.1. Xpath定義
XPath注入攻擊是指利用XPath解析器的松散輸入和容錯(cuò)特性,能夠在 URL、表單或其它信息上附帶惡意的XPath 查詢代碼,以獲得權(quán)限信息的訪問(wèn)權(quán)并更改這些信息。XPath注入攻擊是針對(duì)Web服務(wù)應(yīng)用新的攻擊方法,它允許攻擊者在事先不知道XPath查詢相關(guān)知識(shí)的情況下,通過(guò)XPath查詢得到一個(gè)XML文檔的完整內(nèi)容。
3.11.2. Xpath注入攻擊原理
XPath注入攻擊主要是通過(guò)構(gòu)建特殊的輸入,這些輸入往往是XPath語(yǔ)法中的一些組合,這些輸入將作為參數(shù)傳入Web 應(yīng)用程序,通過(guò)執(zhí)行XPath查詢而執(zhí)行入侵者想要的操作,下面以登錄驗(yàn)證中的模塊為例,說(shuō)明 XPath注入攻擊的實(shí)現(xiàn)原理。
在Web 應(yīng)用程序的登錄驗(yàn)證程序中,一般有用戶名(username)和密碼(password) 兩個(gè)參數(shù),程序會(huì)通過(guò)用戶所提交輸入的用戶名和密碼來(lái)執(zhí)行授權(quán)操作。若驗(yàn)證數(shù)據(jù)存放在XML文件中,其原理是通過(guò)查找user表中的用戶名 (username)和密碼(password)的結(jié)果來(lái)進(jìn)行授權(quán)訪問(wèn),
例存在user.xml文件如下:
則在XPath中其典型的查詢語(yǔ)句如下:
//users/user[loginID/text()=’xyz’and password/text()=’123test’]
但是,可以采用如下的方法實(shí)施注入攻擊,繞過(guò)身份驗(yàn)證。如果用 戶傳入一個(gè) login 和 password,例如 loginID = ‘xyz’ 和 password = ‘123test’,則該查詢語(yǔ)句將返回 true。但如果用戶傳入類似 ‘ or 1=1 or ”=’ 的值,那么該查詢語(yǔ)句也會(huì)得到 true 返回值,因?yàn)?XPath 查詢語(yǔ)句最終會(huì)變成如下代碼:
//users/user[loginID/text()=”or 1=1 or ”=” and password/text()=” or 1=1 or ”=”]
這個(gè)字符串會(huì)在邏輯上使查詢一直返回 true 并將一直允許攻擊者訪問(wèn)系統(tǒng)。攻擊者可以利用 XPath 在應(yīng)用程序中動(dòng)態(tài)地操作 XML 文檔。攻擊完成登錄可以再通過(guò)XPath盲入技術(shù)獲取最高權(quán)限帳號(hào)和其它重要文檔信息。
3.12
邏輯漏洞 / 業(yè)務(wù)漏洞
3.12.1. 簡(jiǎn)介
邏輯漏洞是指由于程序邏輯不嚴(yán)導(dǎo)致一些邏輯分支處理錯(cuò)誤造成的漏洞。 在實(shí)際開(kāi)發(fā)中,因?yàn)殚_(kāi)發(fā)者水平不一沒(méi)有安全意識(shí),而且業(yè)務(wù)發(fā)展迅速內(nèi)部測(cè)試沒(méi)有及時(shí)到位,所以常常會(huì)出現(xiàn)類似的漏洞。
3.12.2. 安裝邏輯
● 查看能否繞過(guò)判定重新安裝
● 查看能否利用安裝文件獲取信息
● 看能否利用更新功能獲取信息
3.12.3. 交易
3.12.3.1. 購(gòu)買(mǎi)
● 修改支付的價(jià)格
● 修改支付的狀態(tài)
● 修改購(gòu)買(mǎi)數(shù)量為負(fù)數(shù)
● 修改金額為負(fù)數(shù)
● 重放成功的請(qǐng)求
● 并發(fā)數(shù)據(jù)庫(kù)鎖處理不當(dāng)
3.12.3.2. 業(yè)務(wù)風(fēng)控
● 刷優(yōu)惠券
● 套現(xiàn)
3.12.4. 賬戶
3.12.4.1. 注冊(cè)
● 覆蓋注冊(cè)
● 嘗試重復(fù)用戶名
● 注冊(cè)遍歷猜解已有賬號(hào)
3.12.4.2. 登錄
● 撞庫(kù)
● 賬號(hào)劫持
● 惡意嘗試帳號(hào)密碼鎖死賬戶
3.12.4.3. 找回密碼
● 重置任意用戶密碼
● 密碼重置后新密碼在返回包中
● Token驗(yàn)證邏輯在前端
3.12.4.4. 修改密碼
● 越權(quán)修改密碼
● 修改密碼沒(méi)有舊密碼驗(yàn)證
3.12.5. 驗(yàn)證碼
● 驗(yàn)證碼強(qiáng)度不夠
● 驗(yàn)證碼無(wú)時(shí)間限制或者失效時(shí)間長(zhǎng)
● 驗(yàn)證碼無(wú)猜測(cè)次數(shù)限制
● 驗(yàn)證碼傳遞特殊的參數(shù)或不傳遞參數(shù)繞過(guò)
● 驗(yàn)證碼可從返回包中直接獲取
● 驗(yàn)證碼不刷新或無(wú)效
● 驗(yàn)證碼數(shù)量有限
● 驗(yàn)證碼在數(shù)據(jù)包中返回
● 修改Cookie繞過(guò)
● 修改返回包繞過(guò)
● 圖形驗(yàn)證碼可OCR或使用機(jī)器學(xué)習(xí)識(shí)別
● 驗(yàn)證碼用于手機(jī)短信/郵箱轟炸
3.12.6. Session
● Session機(jī)制
● Session猜測(cè) / 爆破
● Session偽造
● Session泄漏
● Session Fixation
3.12.7. 越權(quán)
● 水平越權(quán)
攻擊者可以訪問(wèn)與他擁有相同權(quán)限的用戶的資源
權(quán)限類型不變,ID改變
● 垂直越權(quán)
低級(jí)別攻擊者可以訪問(wèn)高級(jí)別用戶的資源
權(quán)限ID不變,類型改變
● 交叉越權(quán)
權(quán)限ID改變,類型改變
3.12.8. 隨機(jī)數(shù)安全
● 使用不安全的隨機(jī)數(shù)發(fā)生器
● 使用時(shí)間等易猜解的因素作為隨機(jī)數(shù)種子
3.12.9. 其他
● 用戶/訂單/優(yōu)惠券等ID生成有規(guī)律,可枚舉
● 接口無(wú)權(quán)限、次數(shù)限制
● 加密算法實(shí)現(xiàn)誤用
● 執(zhí)行順序
● 敏感信息泄露
3.13
配置安全
● 弱密碼
位數(shù)過(guò)低
字符集小
為常用密碼
個(gè)人信息相關(guān)(手機(jī)號(hào) 生日 姓名 用戶名)
使用鍵盤(pán)模式做密碼
● 敏感文件泄漏
.git
.svn
● 數(shù)據(jù)庫(kù)
Mongo/redis等數(shù)據(jù)庫(kù)無(wú)密碼且沒(méi)有限制訪問(wèn)
● 加密體系
在客戶端存儲(chǔ)私鑰
● 三方庫(kù)/軟件
公開(kāi)漏洞后沒(méi)有及時(shí)更新
讀到這里,這篇“WEB安全中Xpath注入攻擊原理是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。