购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.5 安全测试工具

1.5.1 Burp Suite

1.修改十六进制编码

Inspector能够快速查看与编辑HTTP和WebSocket报文,而无须在不同选项卡之间切换。可以从Burp Suite报文编辑器右侧的可折叠面板中访问Inspector,如图1-63所示。

图1-63 访问Inspector

Inspector中的HTTP报文参数显示的值是从HTML、URL和Base64中自动解码的,并且将请求和响应的参数、Cookie显示为一对键值,阅读起来更加轻松。另外,修改不可见的字符这项功能在实战上传漏洞绕过时比较常用,可以在报文任意的位置添加或选择一个占位符,再将占位符修改成十六进制。例如,将空格Hex表示形式20修改为80,然后单击下方的Apply changes按钮即可,如图1-64所示。

图1-64 使用Inspector修改十六进制编码

2.捕获本地地址数据包

SwitchyOmega默认设置Burp Suite代理后,抓取不到本地请求的流量,其他地址都是正常的。在情景模式设置中,从不代理的地址列表中删除127.0.0.1和localhost仍然无法正常抓包,解决办法是在不代理的地址列表中添加<-loopback>,如图1-65所示。

图1-65 SwitchyOmega设置抓取本地请求

3.安装Wsdler插件

Wsdler是Burp Suite的一个插件,专门用于分析和测试WebService服务定义的WSDL语言文件。在.NET中,这个文件通常保存在*.asmx?wsdl路径下,描述了Web服务的功能和接口。该插件可以在BApp Store下安装,如图1-66所示。

图1-66 安装Wsdler插件

安装后打开Burp Suite的Proxy选项卡,在请求报文空白处右击,可以使用“Parse WSDL”功能,如图1-67所示。

4.安装ViewState Editor插件

Burp Suite的ViewState Editor插件是一款用于编辑和分析.NET Web应用程序中的ViewState数据的工具。ViewState是.NET Web应用程序中的一种机制,用于在Web页面之间保留和传输页面状态信息。ViewState Editor插件的安装如图1-68所示。

图1-67 Wsdler插件的使用

图1-68 安装ViewState Editor插件

在Burp Suite的Proxy选项卡中打开拦截到的请求内容,ViewState通常包含在Web页面的请求中,在MAC认证未开启的情况下,响应页插件会自动解码ViewState编码的数据,返回“MAC is not enabled”,如图1-69所示。

目前大多数的.NET服务端默认会开启MAC认证,因此响应页插件无法正常解码ViewState数据,会返回“Unrecognized format-may be encrypted”,如图1-70所示。

1.5.2 Postman

Postman是一个商业桌面应用程序,可用于Windows、mac OS和Linux等系统中。它的大部分功能是免费的,付费功能如提供协作和文档功能等。它用于管理和测试各种API调用的HTTP请求集合。

图1-69 插件显示ViewState未开启MAC

图1-70 插件显示加密的ViewState

1.Postman发送请求

Postman通常用于创建和发送API请求、向端点发送请求、从数据源检索数据或测试API。无须在终端中输入命令或编写任何代码,创建一个新请求并选择发送,API响应就会出现在Postman中。具体测试步骤如下。

1)在软件主界面顶部单击 按钮,打开一个新的工作区,因为发送API请求需要一个私有的工作区,不能在公共的工作区域使用Send命令。

2)输入目标请求的URL地址,例如http://localhost:56176/api/Values,这里选择上传文件,单击Body选项卡,选择form-data选项,添加文件后单击Send按钮,如图1-71所示。

图1-71 Postman上传请求

2.代理用法

Postman代理是位于客户端与服务器之间的中间服务器。代理服务器充当安全屏障,向网站和其他Internet资源发出请求,并防止其他人访问内部网络,如图1-72所示。

图1-72 Postman代理

有些Web应用程序的测试和验证场景需要将Postman和Burp Suite联动使用,这时需要将Postman代理到Burp Suite,方便在Burp Suite中捕获Postman提交的请求报文,具体步骤如下。

(1)Burp Suite

1)启动Burp Suite并设置代理。在Burp Suite的Proxy选项卡中单击Intercept is on按钮开启代理拦截功能,当Intercept is off关闭拦截时可从HTTP history选项卡中找到请求报文,如图1-73所示。

2)确认Burp Suite代理监听地址和端口。在Burp Suite的Proxy选项卡中,找到Options选项,然后进入Proxy Listeners页面,确认Burp Suite代理监听的地址和端口,通常是127.0.0.1:8080,如图1-74所示。

(2)Postman

在Postman中,打开Postman菜单栏上的File选项,选择Settings子项并找到Proxy选项卡,勾选Add a custom proxy configuration选项和HTTP选项,然后在Proxy server处输入IP地址127.0.0.1和端口8080,如图1-75所示。

图1-73 Burp Suite设置代理

图1-74 BurpSuite设置监听端口

图1-75 Postman设置代理IP地址和端口

正确设置后,单击Postman工具中的Send按钮发送请求,Burp Suite将拦截该请求并显示在其代理历史记录中,如图1-76所示。

图1-76 Burp Suite拦截Postman请求

1.5.3 SoapUI

SoapUI又称SOAP User Interface,是一款用于测试和分析Web服务的开源工具,主要用于测试SOAP(Simple Object Access Protocol,简单对象访问协议)和RSET API服务,下载地址为https://www.soapui.org/。SoapUI Pro是SoapUI的商业非开源版本。下载SoapUI并安装,软件的主界面如图1-77所示。

图1-77 SoapUI主界面

打开SoapUI软件,单击File菜单,选择New SOAP Project选项构建项目,输入工程名和WSDL地址,WSDL测试地址为http://localhost:56601/BookWebService.asmx?wsdl,如图1-78所示。

图1-78 使用SoapUI创建新的测试项目

勾选Create Requests复选框,项目会根据WSDL文件创建接口请求文件,再勾选Create TestSuite复选框,WSDL会创建一个测试套件,单击OK按钮后就会创建好一个工程,并自动添加WSDL中的接口。根据Soap的版本不同有两种接口可供选择,如图1-79所示。

图1-79 SoapUI连接远程测试项目

选择HelloWorld服务接口下的Request 1,双击后打开SOAP请求页,单击 运行按钮,服务端响应的结果就会出现在右侧面板中,如图1-80所示。

图1-80 SoapUI测试返回结果

1.5.4 DNSLog

DNSLog是一种用于收集和分析DNS请求的服务。通过将DNS请求重定向到DNSLog服务器,可以跟踪特定域名的访问情况,包括请求的来源、时间戳等信息。这种服务通常用于渗透测试、安全研究以及红队活动中,帮助安全人员识别网络中的潜在风险和漏洞。

攻击者在DNSLog中注册了某个域名,将这个域名绑定到了某个IP地址的服务器上并设置了泛解析,当受害主机访问这个域名的任何一个子域名时,攻击者的服务器都会收到请求并记录DNS解析。在某些漏洞无法回显但可以发起DNS请求的情况下,利用此方式外带数据,可以解决某些漏洞由于无回显而难以利用的问题,其主要利用场景有SQL盲注、无回显的命令执行、无回显的SSRF。常见的3个DNSLog平台是http://ceye.io、http://www.dnslog.cn/、http://eyes.sh/dns/。

1.5.5 Godzilla

Godzilla(哥斯拉)是一款国内流行且优秀的红队WebShell权限管理工具,支持.NET、ASP、Java、PHP环境,通信流量默认使用AES算法加密,具备文件管理、数据库操作、命令执行、内存马、隧道反弹、权限提升等常用渗透功能。

1.安装

在安装Godzilla之前需要先安装Java运行环境,建议安装JDK8及以上版本。当前Godzilla官方发布的版本为v4.0.1,下载后双击Godzilla.jar,此时会在同目录下生成data.db数据库用于存放数据。Godzilla主界面如图1-81所示。

2.生成WebShell

依次选择菜单栏中的“管理”→“生成”选项添加所需的WebShell类型,Godzilla支持aspx、jsp、php、asp等多种载荷,C#和Java的载荷原生实现AES加密,PHP使用异或加密。以C#为例,如图1-82所示,“密码”为pass,“有效载荷”选择CShapDynamicPayload,“加密器”默认为CSHAP_AES_BASE64,单击“生成”按钮即可。

图1-81 Godzilla主界面

图1-82 Godzilla生成WebShell

将生成的WebShell脚本godzilla.aspx上传到目标站点下,WebShell地址为http://192.168.101.77/godzilla.aspx。

3.连接

返回主界面,依次选择菜单栏中的“目标”→“添加”选项,弹出Shell Setting窗口,在URL处输入http://192.168.101.77/godzilla.aspx。密码、密钥、有效载荷、加密器等关键选项要与WebShell生成时保持一致,如图1-83所示。

图1-83 Godzilla连接WebShell

单击“测试连接”按钮,查看是否有出错、异常等信息,如果返回success表示连接成功,然后单击“添加”按钮。添加成功后在主界面会多一条记录,右击该记录并在弹出的下拉列表中选择“进入”选项,会返回WebShell运行环境的基础信息,如图1-84所示。

图1-84 Godzilla连接后返回运行环境信息

另外,Godzilla还提供了很多插件功能,比如屏幕截图、数据库操作、BadPotato提权、SharpWeb内网扫描等,有兴趣的读者可自行研究。 O3AklIkivN4WBG9Is6Y42fTp7MzyqqsTCUcgXNeSBoxe+HZ/LW4sKNmNUXPHysB/

点击中间区域
呼出菜单
上一章
目录
下一章
×