中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
實(shí)戰(zhàn)分享 | API 接口滲透測(cè)試

1 API 接口介紹

1.1 RPC(遠(yuǎn)程過程調(diào)用)

遠(yuǎn)程過程調(diào)用(英語:Remote Procedure Call,縮寫為 RPC)是一個(gè)計(jì)算機(jī)通信協(xié)議。該協(xié)議允許運(yùn)行于一臺(tái)計(jì)算機(jī)的程序調(diào)用另一臺(tái)計(jì)算機(jī)的子程序,而程序員無需額外地為這個(gè)交互作用編程。如果涉及的軟件采用面向?qū)ο缶幊蹋敲催h(yuǎn)程過程調(diào)用亦可稱作遠(yuǎn)程調(diào)用或遠(yuǎn)程方法調(diào)用,例:Java RMI。

RPC 一般直接使用 TCP 協(xié)議進(jìn)行通信,通常不涉及到 HTTP。HTTP 下面有2種技術(shù):

  • XML-RPC(https://zh.wikipedia.org/wiki/XML-RPC)

  • JSON-RPC(https://zh.wikipedia.org/wiki/JSON-RPC)

Web service 和 RESTful API 都可算作遠(yuǎn)程過程調(diào)用的子集。


1.2 Web Service

Web Service 是一種服務(wù)導(dǎo)向架構(gòu)的技術(shù),通過標(biāo)準(zhǔn)的Web協(xié)議提供服務(wù),目的是保證不同平臺(tái)的應(yīng)用服務(wù)可以互操作。

根據(jù) W3C 的定義,Web 服務(wù)(Web service)應(yīng)當(dāng)是一個(gè)軟件系統(tǒng),用以支持網(wǎng)絡(luò)間不同機(jī)器的互動(dòng)操作。網(wǎng)絡(luò)服務(wù)通常是許多應(yīng)用程序接口(API)所組成的,它們透過網(wǎng)絡(luò),例如國(guó)際互聯(lián)網(wǎng)(Internet)的遠(yuǎn)程服務(wù)器端,執(zhí)行客戶所提交服務(wù)的請(qǐng)求。

盡管W3C的定義涵蓋諸多相異且無法介分的系統(tǒng),不過通常我們指有關(guān)于主從式架構(gòu)(Client-server)之間根據(jù) SOAP 協(xié)議進(jìn)行傳遞 XML 格式消息。無論定義還是實(shí)現(xiàn),Web 服務(wù)過程中會(huì)由服務(wù)器提供一個(gè)機(jī)器可讀的描述(通常基于WSDL)以辨識(shí)服務(wù)器所提供的 Web 服務(wù)。另外,雖然 WSDL 不是 SOAP 服務(wù)端點(diǎn)的必要條件,但目前基于Java 的主流 Web 服務(wù)開發(fā)框架往往需要 WSDL 實(shí)現(xiàn)客戶端的源代碼生成。一些工業(yè)標(biāo)準(zhǔn)化組織,比如 WS-I,就在 Web 服務(wù)定義中強(qiáng)制包含 SOAP 和 WSDL。

Web Service 是一種比較“重”和“老”的 Web 接口技術(shù),目前大部分應(yīng)用于金融機(jī)構(gòu)的歷史應(yīng)用和比較老的應(yīng)用中。


1.3 RESTful API

REST,全稱是 Resource Representational State Transfer,通俗來講就是,資源在網(wǎng)絡(luò)中以某種表現(xiàn)形式進(jìn)行狀態(tài)轉(zhuǎn)移。分解開來:

  • Resource:資源,即數(shù)據(jù)(前面說過網(wǎng)絡(luò)的核心)。比如 newsfeed,friends等;

  • Representational:某種表現(xiàn)形式,比如用JSON,XML,JPEG等;

  • State Transfer:狀態(tài)變化。通過HTTP動(dòng)詞實(shí)現(xiàn)。

RESTful API 就是符合 REST 風(fēng)格的 API,傳遞數(shù)據(jù)也是2種形式:

  • XML,少見

  • json,常見,現(xiàn)在 Web 應(yīng)用基本使用這種形式的 API。


1.4 MVC、MVP、MVVM

Web 應(yīng)用程序和 APP 應(yīng)用程序的 API 跟目前的流行框架和模式相關(guān),主要有3種模式:MVC、MVP、MVVM。

MVC 將整個(gè)應(yīng)用分成 Model、View 和 Controller 三個(gè)部分,而這些組成部分其實(shí)也有著幾乎相同的職責(zé)。

  • 視圖:管理作為位圖展示到屏幕上的圖形和文字輸出;

  • 控制器:翻譯用戶的輸入并依照用戶的輸入操作模型和視圖;

  • 模型:管理應(yīng)用的行為和數(shù)據(jù),響應(yīng)數(shù)據(jù)請(qǐng)求(經(jīng)常來自視圖)和更新狀態(tài)的指令(經(jīng)常來自控制器);

此類模式和架構(gòu)的應(yīng)用越來越多導(dǎo)致 API 接口的應(yīng)用也越來越流行。想了解更多可以在網(wǎng)上查找相關(guān)資料。


2 API 測(cè)試環(huán)境和測(cè)試工具

2.1 Web Service 測(cè)試

2.1.1 找 Webservice 接口

  • Google hacking

    • inurl:jws?wsdl

    • inurl:asmx?wsdl

    • inurl:aspx?wsdl

    • inurl:ascx?wsdl

    • inurl:ashx?wsdl

    • inurl:dll?wsdl

    • inurl:exe?wsdl

    • inurl:php?wsdl

    • inurl:pl?wsdl

    • inurl:?wsdl

    • filetype:jws

    • filetype:asmx

    • filetype:ascx

    • filetype:aspx

    • filetype:ashx

    • filetype:dll

    • filetype:exe

    • filetype:php

    • filetype:pl

    • filetype:wsdl wsdl

  • fuzzing

  • 爬蟲


2.1.2 測(cè)試工具

涉及主要工具:

  • Soap UI PRO,滲透測(cè)試流程的發(fā)起,通信報(bào)文的解析、集合payload之后通信報(bào)文的重新組裝等,14天試用,可以做自動(dòng)化測(cè)試。

  • SoapUI Free,手工測(cè)試

  • SOAPSonar,SOAP UI 的替代。

  • Burp Suite,代理攔截,跟蹤通信過程和結(jié)果,對(duì)通信進(jìn)行重放和二次處理等。

  • WSSAT

  • WS-Attacker


### 2.1.3 測(cè)試項(xiàng)目

  • Fuzzing

  • XSS /SQLi/ Malformed XML

  • File Upload

  • Xpath Injection

  • XML Bomb (DoS)

  • Authentication based attacks

  • Replay attacks

  • Session fixation

  • XML Signature wrapping

  • Session timeout

  • Host Cipher Support/ Valid Certificate/ Protocol Support

  • Hashing Algorithm Support


2.1.4 手工測(cè)試方法

主要使用 Soap UI Open Source,有安全測(cè)試Case,需要配置 SOAP 代理到 Burp,數(shù)據(jù)流,現(xiàn)在的版本是5.4.0。

代理配置

可以用 Burp 重放 SOAP 的探測(cè) Payload。
使用 Soap UI Open Source,測(cè)試步驟:

  1. 創(chuàng)建工作空間

  2. 新建 SOAP 項(xiàng)目

  3. 增加 WSDL,配置名稱和 WSDL 鏈接

  4. 選擇要測(cè)試的 TestSuite,增加一個(gè)安全測(cè)試

  5. 選擇測(cè)試的類型,運(yùn)行測(cè)試


2.1.5 自動(dòng)化測(cè)試

SOAP 配置,2步,“File”-“Preference”-“Proxy”,設(shè)置 Burp 代理

直接在 Soup UI 主菜單上選擇運(yùn)行一個(gè)測(cè)試。

在彈出窗口中輸入 WSDL 地址。

SUAP UI 會(huì)自動(dòng)探測(cè)接口。然后在項(xiàng)目-測(cè)試Case的右鍵菜單中選擇安全測(cè)試

運(yùn)行安全測(cè)試。

Burp 代理會(huì)捕獲所有的測(cè)試請(qǐng)求

其他工具介紹
WSSAT,選擇加載存在 WSDL 列表的文件,運(yùn)行。

WS-Attacker

AWVS 的掃描也能直接測(cè)試 Web Service


2.2 RESTful API 測(cè)試

2.2.1 測(cè)試工具

  • 常見的瀏覽器插件

    • Chrome Restlet Client

- Firefox RESTClient

  • 客戶端工具

    • Postman

- Swagger

通常使用 Postman 的情況多些,有機(jī)會(huì)的話問下開發(fā)如何配置測(cè)試環(huán)境,直接配置一套一樣的。
Postman 的代理配置:

3 常見 API 相關(guān)漏洞和測(cè)試方法

還是主要以 Restful API 說明。

3.1 邏輯越權(quán)類

本質(zhì)上可以說是不安全的直接對(duì)象引用,可以通過修改可猜測(cè)的參數(shù)獲取不同參數(shù)下的響應(yīng)結(jié)果。參數(shù)可以是用戶名、用戶 ID,連續(xù)的數(shù)字,變形的連續(xù)數(shù)字(各種編碼或哈希),通過直接修改參數(shù)值完成越權(quán)的操作。

示例:

  • https://wooyun.shuimugan.com/bug/view?bug_no=189225

  • https://wooyun.shuimugan.com/bug/view?bug_no=150462

  • https://wooyun.shuimugan.com/bug/view?bug_no=140374

  • https://wooyun.shuimugan.com/bug/view?bug_no=106709

3.2 輸入控制類

XXE,Restful API 的注入漏洞,XSS,溢出,特殊字符的處理。

示例:

  • https://wooyun.shuimugan.com/bug/view?bug_no=211103

  • https://wooyun.shuimugan.com/bug/view?bug_no=132270

  • https://wooyun.shuimugan.com/bug/view?bug_no=8714

3.3 接口濫用

沒有請(qǐng)求頻率限制導(dǎo)致的各種爆破和遍歷,如短信驗(yàn)證碼爆破、登錄爆破、手機(jī)號(hào)遍歷、身份證遍歷等。

示例:

  • https://wooyun.shuimugan.com/bug/view?bug_no=141419

  • https://wooyun.shuimugan.com/bug/view?bug_no=66571

  • https://wooyun.shuimugan.com/bug/view?bug_no=36058

  • https://wooyun.shuimugan.com/bug/view?bug_no=147334

3.4 信息泄露

包括越權(quán)導(dǎo)致的信息泄露、畸形請(qǐng)求導(dǎo)致的報(bào)錯(cuò)響應(yīng)。

示例:

  • https://wooyun.shuimugan.com/bug/view?bug_no=171313

  • https://wooyun.shuimugan.com/bug/view?bug_no=160095

  • https://wooyun.shuimugan.com/bug/view?bug_no=127457

3.5 HTTP 響應(yīng)頭控制

關(guān)于響應(yīng)頭:

  • 發(fā)送 X-Content-Type-Options: nosniff 頭。

  • 發(fā)送 X-Frame-Options: deny 頭。

  • 發(fā)送 Content-Security-Policy: default-src 'none' 頭。

  • 刪除指紋頭 - X-Powered-By, Server, X-AspNet-Version 等等。

  • 在響應(yīng)中強(qiáng)制使用 content-type。

3.6 服務(wù)端配置漏洞

如服務(wù)端版本信息泄露,或服務(wù)端程序本身存在漏洞等。

4 API 安全加固

根據(jù)上面講的測(cè)試方法,一般需要做好:

  1. 認(rèn)證和授權(quán)控制

  2. 用戶輸入控制

  3. 接口請(qǐng)求頻率的限制

  4. 輸出控制

  5. 添加安全響應(yīng)頭參數(shù)

參考 API-Security-Checklist 和歷史上的滲透測(cè)試結(jié)果設(shè)計(jì)適合自己組織的 API 安全開發(fā)規(guī)范。

參考

Web Service 的滲透測(cè)試參考:

  • https://blog.csdn.net/cq1982/article/details/44728489

  • https://t0data.gitbooks.io/burpsuite/content/chapter17.html

  • https://www.owasp.org/index.php/Web_Service_Security_Testing_Cheat_Sheet

  • https://www.soapui.org/security-testing/getting-started.html

  • http://blog.securelayer7.net/web-services-api-penetration-testing-part-2/

  • https://www.soapui.org/security-testing/getting-started.html

  • https://www.anquanke.com/post/id/85910

Restful API 的參考:

  • https://github.com/shieldfy/API-Security-Checklist

  • https://www.owasp.org/index.php/REST_Security_Cheat_Sheet

(內(nèi)容來源:先知社區(qū)  白河愁)

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
常見API接口滲透測(cè)試流程
IT系統(tǒng)對(duì)接方案匯總
網(wǎng)絡(luò)服務(wù)
當(dāng)使用https而不是http時(shí),JSONP請(qǐng)求失敗怎么辦?
Axis2體系結(jié)構(gòu)中文手冊(cè)
Web Service測(cè)試工具小匯
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服