偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

針對SOAP的滲透測試與防護

安全 應(yīng)用安全
簡單對象訪問協(xié)議(SOAP)是連接或Web服務(wù)或客戶端和Web服務(wù)之間的接口。SOAP通過應(yīng)用層協(xié)議(如HTTP,SMTP或甚至TCP)進(jìn)行操作,用于消息傳輸。

SOAP概述

簡單對象訪問協(xié)議(SOAP)是連接或Web服務(wù)或客戶端和Web服務(wù)之間的接口。SOAP通過應(yīng)用層協(xié)議(如HTTP,SMTP或甚至TCP)進(jìn)行操作,用于消息傳輸。

圖1 SOAP操作

圖1 SOAP操作

它是基于xml語言開發(fā)的,它使用Web服務(wù)描述語言(WSDL)來生成Web服務(wù)之間的接口。如果客戶端或用戶的獨立應(yīng)用程序想要與Web服務(wù)連接,則它需要由應(yīng)用程序生成的服務(wù)端點接口(SEI)。這些接口WSDL和SEI是使用自動化工具或手動生成的,它們具有平臺無關(guān)性。通用描述,發(fā)現(xiàn)和集成(UDDI)是Web服務(wù)可以發(fā)布關(guān)于其服務(wù)的一個目錄,用戶可以提交他們的查詢。

一個簡單的SOAP消息包含:

Envelope: 標(biāo)識XML文檔,具有名稱空間和編碼詳細(xì)信息。

標(biāo)題:包含標(biāo)題信息,如內(nèi)容類型和字符集等。

正文:包含請求和響應(yīng)信息.

故障:錯誤和狀態(tài)信息。

圖2 SOAP請求和響應(yīng)的示例

圖2 SOAP請求和響應(yīng)的示例

圖2顯示了SOAP請求和響應(yīng),其中Web服務(wù)請求用戶的名稱并回復(fù)消息。SOAP是一組被定義為執(zhí)行某些操作的標(biāo)準(zhǔn)協(xié)議,因此它只傳輸請求的數(shù)據(jù),無論請求是什么,如果它在其機制中被驗證,它將有答復(fù)。

常見SOAP漏洞:

SQL 注入:

SOAP請求易受SQL注入攻擊,提交參數(shù)作為變種 sql查詢可以泄露敏感信息。

攻擊前:

在執(zhí)行攻擊之前,必須知道Web服務(wù)的功能,如圖3所示,可以看到以string作為輸入的username參數(shù)。

圖3請求功能分析

圖3請求功能分析

輸入隨機用戶名以檢查其操作,此時它回應(yīng)用戶名不存在的消息,這可以幫助執(zhí)行具有可能性的攻擊。

圖4響應(yīng)信息分析

圖4響應(yīng)信息分析

攻擊后:

下面顯示的請求是一個攻擊者試圖通過在參數(shù)的位置傳遞一個sql查詢來訪問用戶詳細(xì)信息,數(shù)據(jù)庫的錯誤消息將有助于猜測查詢的內(nèi)容。

圖5數(shù)據(jù)庫錯誤消息

圖5數(shù)據(jù)庫錯誤消息

圖6 SQL注入請求

圖6 SQL注入請求

如果傳遞的查詢成功中斷了數(shù)據(jù)庫語句查詢,那么它將回應(yīng)用戶的信息。

圖7 SQL注入響應(yīng)

圖7 SQL注入響應(yīng)

payload: SQL注入的payload是簡單的變形查詢,它使數(shù)據(jù)庫獲取詳細(xì)信息,在上面的例子中,使用的數(shù)據(jù)庫是My SQL(來自Fig.5),它可能包含不同的表,知道所有表中的信息可能是不可能的,但是 在這種情況下可以訪問某些字段。在圖3中,SOAP消息正在使用結(jié)合用戶名和1=1的OR語句請求管理員帳戶的詳細(xì)信息,并且將其他所有內(nèi)容標(biāo)記為“-- ”注釋,這使得數(shù)據(jù)庫顯示所有用戶的用戶名和簽名。在SQL注入中,可以有更多的可能性來執(zhí)行攻擊,例如具有“,”,“ - ”,“or””and”,“insert”或滿足條件的任何其他組合查詢的語句。

補?。哼@種類型的攻擊可以通過兩種方式來進(jìn)行防護與修復(fù):

白名單:雖然列表只允許某些字符通過,但在此列表中添加admin等字符會使應(yīng)用程序只接收列出的字符。

過濾:其中涉及通過刪除不需要的字符(例如admin'OR'1 = 1'')來過濾用戶輸入 - 將被清理,以便只有admin通過它。

命令注入

命令注入是通常通過傳遞具有數(shù)據(jù)的命令以獲得諸如目錄結(jié)構(gòu),網(wǎng)站地圖或甚至與web應(yīng)用相關(guān)的敏感信息的攻擊。

圖8命令注入請求(1)

圖8命令注入請求(1)

在上述lookupDNS web服務(wù)中,使用IP地址和命令ls進(jìn)行請求,其列出了如下所示的應(yīng)用的目錄結(jié)構(gòu)

圖9命令注入響應(yīng)(1)

圖9命令注入響應(yīng)(1)

在其他請求ping命令傳遞與IP地址ping主機,如下所示

圖10命令注入請求(2)

圖10命令注入請求(2)

圖11命令注入響應(yīng)(2)

圖11命令注入響應(yīng)(2)

payload:對于這種類型的攻擊,payload是與用戶輸入相結(jié)合的命令語句,但有些命令是常用的,有些是操作系統(tǒng)特定的,操作系統(tǒng)的類型是可以由HTTP可以看到的簡單操作。 諸如ls,adduser,install,kill或join等命令可用于執(zhí)行操作。

補?。簽榱诵扪a命令注入攻擊,必須構(gòu)建嚴(yán)格的驗證機制,并且實現(xiàn)其功能,數(shù)據(jù)庫對于包含攻擊模式192.168.66.2; ls 和192.168.66.2& & ping c1 localhost 進(jìn)行驗證,以便它只允許字母數(shù)字字符。在上述命令中,注入攻擊包括特殊字符&或;這將在服務(wù)端執(zhí)行時分離命令和數(shù)據(jù),因此必須開發(fā)考慮這些情況的函數(shù)功能。

XML 注入

在XML注入類型的攻擊中,SOAP消息的變形請求可以在數(shù)據(jù)庫中進(jìn)行更改,并對數(shù)據(jù)庫造成嚴(yán)重?fù)p壞。

正常功能:創(chuàng)建用戶函數(shù)在應(yīng)用程序中創(chuàng)建新用戶,這需要幾個參數(shù)作為輸入,如圖12所示

圖12 XML請求

圖12 XML請求

響應(yīng)將具有帶有插入了用戶名帳戶的消息的return語句,如圖13所示

圖13 XML響應(yīng)

圖13 XML響應(yīng)

攻擊

在實際的XML注入中,代碼的一部分被變形并與請求一起發(fā)送,使得代碼將在另一側(cè)執(zhí)行,在圖14中,創(chuàng)建用戶功能被添加有附加代碼以利用服務(wù)。

圖14 變形的XML請求

圖14 變形的XML請求

從圖15可以看出,web服務(wù)被執(zhí)行具有插入了用戶名帳戶的消息的代碼。該功能執(zhí)行攻擊者插入的參數(shù),而不是實際請求。

圖15 變形請求的響應(yīng)

圖15 變形請求的響應(yīng)

payload:這種類型攻擊的有效載荷實際上是在另一端提交的參數(shù),在這種情況下,創(chuàng)建用戶XML標(biāo)簽被變形或添加了帳戶Alice的詳細(xì)信息并附加請求,以便它將執(zhí)行它。

補丁:這種類型的攻擊的補丁對createUser的標(biāo)簽字符串進(jìn)行了嚴(yán)格的限制,它必須使用字符串的長度來定義,并且必須定義wsdl中createUser功能的次數(shù)或發(fā)生次數(shù)。 基于數(shù)據(jù)和解析器為用戶輸入開發(fā)清理機制,并且還使用文檔類型定義(DTD)來驗證嘗試注入是最佳實踐。

SOAP操作欺騙

每個HTTP請求都包含一個稱為SOAP Action的字段,用于執(zhí)行在其內(nèi)容中定義的操作。可能由攻擊者改變內(nèi)容,攻擊者在客戶端和服務(wù)器之間操作,一種繞過或中間人攻擊。

下面顯示的請求消息包含一個稱為create user的功能,它可以在SOAP Action字段和SOAP主體中看到。

圖16帶有SOAP動作字段的SOAP請求

圖16帶有SOAP動作字段的SOAP請求

簡單地變形(可能不是一個)可以改變其功能,如圖17所示

圖17 變形的SOAP動作的請求

圖17 變形的SOAP動作的請求

在更改請求并將其傳遞到服務(wù)器后,請求將有一個響應(yīng),因為它似乎是合法的,并執(zhí)行其操作刪除帳戶,可以在圖18

圖18 SOAP執(zhí)行變形請求后的響應(yīng)

圖18 SOAP執(zhí)行變形請求后的響應(yīng)

payload:對于這種類型的攻擊沒有特定的有效載荷,SOAP動作字段被認(rèn)為是目標(biāo),對功能的徹底分析可以提供執(zhí)行攻擊的線索。僅改變SOAP字段可能不足以執(zhí)行攻擊,它可能需要根據(jù)所執(zhí)行的動作來改變請求消息。

補丁:為了防止這種類型的攻擊,必須在HTTP請求中禁用SOAP Action字段(如createUser或deleteUser),或使用不容易猜到的SOAP Action術(shù)語。有時可能需要在這樣的事件中強制添加Action字段,開發(fā)人員必須考慮SOAPAction:“”(意味著SOAP消息的意圖由請求的URI給出)的可能性或SOAP Action:(空字段表示 消息的意圖是不指示任何值或URI)。

SOAP參數(shù)DOS攻擊

每個SOAP請求包含一個被傳遞以獲取一些數(shù)據(jù)的參數(shù),有一些請求,攻擊者可以利用這些請求來執(zhí)行拒絕服務(wù)攻擊。 如果應(yīng)用程序無法執(zhí)行輸入驗證或沒有參數(shù)的邊界,可能導(dǎo)致緩沖區(qū)溢出,這將使服務(wù)不可用。 下圖顯示的參數(shù)用戶名沒有任何邊界限制,因此任何一個都可以將任意長度的字符串傳遞給應(yīng)用程序。

圖19沒有限制條件的SOAP請求

圖19沒有限制條件的SOAP請求

如果用戶名有限制,那么它會有一些異常傳遞正確的字符串,這將使應(yīng)用程序安全。

payload:這種類型的攻擊的有效載荷是知道在請求中傳遞的數(shù)據(jù)類型,因此基于傳遞最大值或大值的數(shù)據(jù)類型可以是攻擊的方式。

補?。簽榱藴p輕這種類型的攻擊,必須使用最小和最大長度或某些邊界來定義參數(shù),例如參數(shù)用戶名包含5個最小值和35個字符串最大長度,可以在處理中輕松驗證。

圖20 帶條件的SOAP請求

圖20 帶條件的SOAP請求

WSDL泄露

WSDL泄露不能被視為攻擊,而是攻擊的一個步驟,就像我們所知道的,所有WSDL都知道的包含Web服務(wù)的信息,有一些Web服務(wù)需要對諸如支付網(wǎng)關(guān)或正在收集敏感信息的服務(wù)等攻擊者隱藏。 任何攻擊者都可以通過在搜索引擎中輸入“inurl:?wsdl”來搜索Web服務(wù)。

[[182881]]

圖21 wsdl搜索

圖22 Web服務(wù)WSDL

圖22 Web服務(wù)WSDL

補丁

用于數(shù)據(jù)的安全傳輸?shù)腤eb應(yīng)用程序從不依賴于其安全性如使得Web服務(wù)的URL,對于搜索引擎和公開內(nèi)容是隱藏的,并且對諸如機密性,完整性和真實性的特征進(jìn)行嚴(yán)格保持。

責(zé)任編輯:武曉燕 來源: securelayer7.net博客
相關(guān)推薦

2012-11-30 11:56:48

2010-09-17 16:25:58

2010-08-14 21:59:35

2020-05-19 08:52:31

APP滲透測試終端安全

2016-09-09 01:14:17

2022-04-13 11:18:48

滲透測試Mock

2021-05-10 09:00:00

Web工具安全

2014-05-30 09:41:16

2010-09-16 16:08:46

2020-09-30 10:38:31

Web 開發(fā)框架

2021-05-19 05:42:14

勒索軟件網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)安全

2017-07-24 17:00:49

2013-11-06 16:38:59

2021-07-15 10:46:21

滲透測試網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2010-08-03 22:09:16

2017-10-16 06:17:29

2019-01-30 13:55:47

2014-06-24 11:46:22

2009-01-20 10:32:19

2015-03-06 09:56:42

點贊
收藏

51CTO技術(shù)棧公眾號