API 渗入测试从入门到通晓系列文章(上) | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

API 渗入测试从入门到通晓系列文章(上)

申博_安全防护 申博 100次浏览 已收录 0个评论

这是关于运用 Postman 举行渗入测试系列文章的第一部份。我底本设想只宣布一篇文章,但末了发明内容太多了,假如不把它分红几个部份的话,极能够会让读者手足无措。 所以我的设想是如许的: 在这篇文章中,我将向你引见怎样设置 Postman 并运用它来发出通例要求。 在第2部份,我会让你经由过程 Burp Suite 代办 Postman 的网络流量。 在第3部份中,我们将引见 Postman 的更高等的用法,包括更文雅地处置惩罚无记名令牌(Bearer Token)和环境变量。 在第4部份中,我将引见一两个能够真正加强 Postman 渗入测试效果的 Burp 插件。

在这个时期,Web 和挪动应用顺序一般是由 RESTful 网络服务供应支撑的。 大众和私有 API 在互联网上异常广泛,测试这些 API 绝非易事,但有一些东西能够协助你。 虽然(通经常使用与渗入测试)东西不能替换妙技,但即使是最闇练的木工也能用锤子比用鞋子更有用地钉钉子。

Postman 就是如许一个东西,它在开发者中已流行了很多年。 在我们进入怎样设置它的主题之前,我们先来疾速引见一下这个东西是什么以及能够做什么。 Postman 是一个贸易桌面应用顺序,可用于 Windows、 Mac OS 和 Linux。 它的大部份功用是免费的,也有付费的功用,比方供应合作和文档功用。 与渗入测试职员比拟,这些特征对开发职员更有意义。 它用于治理测试种种 API 挪用的 HTTP 要求鸠合,以及包括变量的环境。 它并不能替换你的代办(如:Burp,ZAP,Mitmproxy 等等) ,然则现实上弥补了浏览器和客户端应用顺序层缺失的功用。 关于这款东西主要的替换计划是开源东西 Insomnia 和高等 REST 客户端,贸易产物 SoapUI,或建立在 Swagger/Swagger UI 或 curl 的自定义东西。

设置 Postman

 API 渗入测试从入门到通晓系列文章(上)

在其官方网站上(https://www.getpostman.com,)能够找到 Postman,供应 Windows 和 MacOS 的装置顺序,以及 Linux 的 tar 包。 它也能够在 Ubuntu 的 Snap for Ubuntu ( HTTPs://snapcraft.io/postman )和其他社区保护的 repos 中找到,比方 Arch Linux 的 AUR。 设置它的第一步当然是顺序装置。

在第一次启动 Postman 时,你会看到一个屏幕,提醒你建立一个帐户,注册谷歌,也许用现有的凭据举行登录。 但是, Postman 并不须要一个帐户来实行后续的运用。

登录的帐户用于合作/同步/等; 这些是付费的功用。正如我前面提到的,这几个功用关于开发职员来讲很棒,但对你来讲,能够并不体贴。 事实上,假如你一般须要对你的客户端机械能保密,就像我们在 Secure Ideas 所做的事变,那末你能够明确地不愿望将你的项目同步到另一个第三方服务器。

假如你垂头看窗口的底部,你会看到一些浅灰色的笔墨,上面写着跳过登录,直接把我带到了应用顺序界面。 点击这个灰色的链接,你将挪动到下一个屏幕——一个提醒你建立东西的对话框。

 API 渗入测试从入门到通晓系列文章(上)

有几个部份你不会在这里运用到,所以让我们看看你真正体贴的三个功用:

· 鸠合(Collection)——一个你能够用要求添补的通用容器。 它还能够作为一些设置挑选的顶级对象,比方身份考证划定规矩(Authentication rules) ,我们稍后将对其举行细致申明。

· 要求(Request)——这个是最主要的功用。 这些是你将要构建的 HTTP 要求,运用你想要运用的任何要领、HTTP Body等。 这些必需一向在一个鸠合中。

· 环境(Environment) ——这里能够保留你愿望在某个处所掌握并发出跨要求以至跨鸠合所运用的变量。

运用 Postman 的基础知识

是时刻建立我们的第一个 Postman 鸠合并发出 HTTP 要求。

 API 渗入测试从入门到通晓系列文章(上)

左上角的 New 按钮通经常使用于建立鸠合和要求。 让我们起首建立一个鸠合。 这有点像一个零丁的应用顺序。 你将用于对相干要求举行分组。 

鸠合还能够作为具有身份考证指令的顶级项,这些身份考证指令将对单个要求举行继续。 现在,只需给它起个名字,然后点击建立按钮就好了。 这里,我起的名字是“测试鸠合”。

API 渗入测试从入门到通晓系列文章(上)

默许情况下,你已翻开了一个未定名的要求选项卡。 让我们来看看 UI 的这一部份。

1. 运动选项卡

2. 此要求的称号。 这只是一些描述性的称号,你能够写也能够不写。

3. HTTP 要领。 这个下拉控件许可你变动此要求的要领。

4. 要求的 URL。 这是完全的途径,就像在你的浏览器的地点栏一样。

5. 用于设置要求的种种属性的选项卡式界面,包括参数、HTTP 头、HTTP 主体等。

6. 发送按钮。 这现实上是将要求提交到指定的 URL。

7. 保留按钮。 第一次单击此选项时,你须要指定你的鸠合,由于要求必需属于某个鸠合。

我在 HTTP://localhost:4000 上设置了一个示例目的,所以我将从填写这个要求并保留到我的某个鸠合作为最先。我将发出一个 POST 要求,到 HTTP://localhost:4000/legacy/auth ,没有任何参数(这是一个测试 API。 任何人都能够经由过程身份考证)。 当我点击保留按钮时,我将定名要求并为它挑选一个鸠合,如下图所示:

 API 渗入测试从入门到通晓系列文章(上)

然后单击”保留到测试鸠合”(依据你的鸠合称号举行调解)按钮来保留我的要求。 现在,单击 Send 按钮将发出要求。 然后我将看到相应添补在窗口的下窗格中,如下图所示:

API 渗入测试从入门到通晓系列文章(上) 

1. 选项卡界面有 Body , Cookies , Headers 及测试效果。 我们还没有编写任何测试,然则请注重图中标出的相应返回的cookie ,headers。

2. 现实相应的 HTTP Body 位于较大的文本窗格中。

3. 我们有可读性较好的打印要领或原始的相应主体的选项,以及差别范例的下拉列表(我置信这是预添补的相应头 content-type)。这里另有一个自定义包装按钮,以防你有其他迥殊的操纵。

4. 关于相应的衡量标准包括 HTTP状况码、相应时候和相应大小。

关于 Cookies 的一个旁注

Shellcode生成工具Donut测试分析

0x00 前言 Donut是一个shellcode生成工具,可以将.NET程序集转换为shellcode。这是对execute-assembly的进一步利用,隐蔽性更高,可扩展性更强。 结合byt3bl33d3r的SILENTTRINITY,将其转换为shellcode并进行注入,适用性更广。 本文将会对Donut进行测试,逐个分析Donut工程中的代码,总结这个工具的特点。 注:本文测试的版本使用的是Donut v0.9,新版本将会添加更多的功能,值得持续关注 0x01 简介 本文将要介绍以下内容: · 相关技术介绍 · 源码结构 · 实际测试 · 利用分析 0x02 相关技术介绍 1.Assembly.Lo

现在,假如我们运用 Postman 从新发出要求,我们将注重到一个主要的事变: 之前在相应中设置的 cookie 会被自动包括。 它模仿了浏览器一般为你做的事变。 正如你对浏览器的希冀一样,在这个 cookie 局限内发出的任何要求,Postman 都将自动包括该 cookie。

假如你想移除某个 cookie 该怎么做呢? 这很简单。 在 Postman 的发送按钮下面,有一个相似链接的按钮,上面写着 Cookies。 点击这个按钮,会翻开一个对话框,在那里你能够删除或编辑任何你须要的 cookies。

这就是基于 cookie 的 API。 然则让我们面对现实: 现在我们罕见的 API 都邑运用无记名令牌(Bearer Token)这比运用 Cookies 更加广泛。 我们将鄙人一节议论这个题目,以及其他一些更高等的观点。

在上面的几个章节中,我引见了 API 开发职员最经常使用的东西——Postman ,它能够更容易地测试 API 的挪用。以后,我们建立了一个鸠合,并向其添加了一个要求。 我们还议论了 Postman 怎样处置惩罚 cookies ——这基础上与浏览器的处置惩罚方式雷同。 鄙人面的章节中,我们将经由过程 Burp 代办 Postman 的流量以便对渗入测试的事情做一些调解。

为何要设置代办?

经由过程运用 Postman,我们能够将其作为一个优异的东西,从零最先制造要求并治理这些要求。 经由过程 Burp 代办 Postman 的流量,我们能够取得这些优点: 我们能够与Burp 的 intruder 功用连系举行隐约测试,我们也能够应用 Burp 的被动扫描器检测凸起的安全题目,我们也能够应用 Burp 的扩大插件,这一部份我们将在本系列文章的后续章节中看到。 而且我们能够运用Burp 的 Repeater 改动要求。 也许你会说,我们也能够在 Postman 内里举行改动啊。 然则我要说的是运用 Repeater 有两个主要的缘由: 1) Postman 的设想是用于发出准确、有用的要求。 在某些情况下,它会尝试改正花样不准确的语法。 而在测试安全题目时,我们能够不愿望它改正我们改动的毛病。 2)经由过程运用 Repeater,我们坚持了在 Postman 中的要求的清洁状况以及在 Repeater 中已改动的要求这两者之间的星散。

设置 Burp Suite

对 Burp 的现实引见超出了这篇文章的局限。 假如你正在浏览这篇文章,极能够你已对它很熟悉了——我们并没有为 API 测试做什么迥殊的或差别的事变。假如你对 Burp 不熟悉,这里有一些资本能够参考:

· Burp 官方网站——https://portswigger.net/ 供应了一个可供下载的社区版本,专业版本的价钱也是相称实惠的。

· Burp 实战课程——这是我们制造的两个小时的灌音课程,费用为 25 美圆(退伍军人免费,点击链接取得我们的折扣代码)

· Burp Suite: Continuing the Saga ——我的队友拉里近来宣布了一篇关于” Burp Suite”的文章 https://blog.secureideas.com/2018/03/burp-suite-continuing-the-saga.html 

· 凯文 · 约翰逊的 Burp Suite 教程视频 ——这个视频大概有六年的汗青了,虽然是一些较为基础的引见但照样很有意义。

 API 渗入测试从入门到通晓系列文章(上)

现在,启动 Burp,搜检 Proxy 下的 Options 选项卡。 最上面的部份是代办监听器(Proxy Listeners),你应当会在127.0.0.1和端口8080上看到一个监听器。 它必需一向运转(注重复选框)。 假如它在默许情况下没有运转,那一般意味着端口不可用,你须要将监听器(以及Postman)变动为差别的监听端口。 只需将 Burp 正在监听的端口以及你在 Postman 中设置的代办的地点和端口是统一个,那末你的设置应当没什么题目。

 API 渗入测试从入门到通晓系列文章(上)

同时搜检 Proxy 下的 Intercept 选项卡并考证 Intercept 是不是封闭。

在 Postman 中设置 Burp 代办

Postman 是代办感知的,这意味着我们要将它指向我们的中心人代办,也就是 Burp Suite (我的首选东西)。 我们将经由过程点击右上角的扳手图标(1)翻开设置对话框,然后点击下拉菜单上的设置选项(2)。 这会翻开一个比较大的设置对话框,在顶部有差别种别设置的标签。 找到”代办”选项卡并单击举行设置。

  API 渗入测试从入门到通晓系列文章(上)

翻开 Postman 设置面板

在这个标签页上有三件事能够做:

  1. 翻开全局代办设置开关(Global Proxy Configuration)

  2. 封闭”运用体系代办(Use System Proxy)”开关

  3. 将代办服务器 IP 地点和端口设置为和你在 Burp Suite 代办中设置的一样

 API 渗入测试从入门到通晓系列文章(上)

默许的代办接口是127.0.0.1,端口是8080,这里假定你的 Postman 和你的 Burp Suite 是在统一台机械上运转的。 假如你想运用差别的端口,你须要在这里指定它,并确保它被设置为与 Burp 中的代办接口一样。

现在你能够代办流量了,另有一个题目须要斟酌。 现在,大多数大众 API 都运用了 SSL/TLS 。 这是一件异常好的事变,但它也意味着当 Burp 作为代办中心人在处置惩罚 Postman 的 API 要乞降相应时,你会碰到证书毛病的题目,除非你的体系已信托了 Burp 的证书颁布机构。 处理这个题目有两个要领:

 API 渗入测试从入门到通晓系列文章(上)

1. 你能够封闭 Postman 中的证书考证。 在 General 设置选项卡下面有一个 SSL 认证考证选项。 设置为 关掉(Off),将使 Postman 疏忽任何证书题目,包括 Burp Suite 的 PortSwigger CA 。

2. 你能够将你的Burp Suite CA 设置到体系信托存储。 详细的设置细节和平台有关联。
PortSwigger从官方的文档在这里:https://support.portswigger.net/customer/portal/articles/1783075-Installing_Installing%20CA%20Certificate.html

考证代办是不是一般事情

用 Postman 发出一些要求。 在 Burp 的 Proxy 选项卡上搜检你的 HTTP 汗青记录。

API 渗入测试从入门到通晓系列文章(上)

在 Burp Suite 中的代办汗青

毛病消除

· 你发出的要求存在迁延和超时题目? 在 Burp 中的代办选项卡上搜检”阻拦”是不是封闭。 搜检 Postman 中的代办设置是不是与 Burp 中的代办接口相匹配。

· Postman 收到了相应,但相应没有显现在 Burp 的代办汗青中(等等)? 翻开 Postman 的”设置”界面,搜检”全局代办设置”是不是翻开。 确保你没有激活 Burp 汗青记录的过滤器来过滤掉你一切的要求。 假如没有捕捉过滤局限外的流量,模仿还要确保是不是在 Burp 中设置了局限(scope)。

这部份内容申清楚明了一些异常基础的设置操纵。 现在我们已做好了基础的东西链设置,我们预备好了一些更高等的东西。 下一篇文章我们将处置惩罚 Postman 中的变量,以及它们怎样节约你的渗入测试的时候。 我们还将深入研究剧本接口,以及怎样运用 Postman 来简化与罕见的、当代的身份考证要领的交互操纵,如无记名令牌(Bearer Token)。

原文地点: https://www.4hou.com/web/19008.html


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明API 渗入测试从入门到通晓系列文章(上)
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址