从有Rad开始就一直在使用,从开始使用便非常的惊喜,并在使用过程中产生了很多Rad的使用小技巧,一些官方描述不太清晰或者很少提及的地方我也在与开发者的请教中明了,所以希望借此文章将一些使用技巧分享给大家。rad,全名 Radium,名字来源于放射性元素——镭, 从一个URL开始,辐射到一整个站点空间。他是从企业版Xray中提取出的一款专为安全扫描而生的浏览器爬虫。由Golang写成,具有如下特点:首先,您需要下载并安装最新版本的Chrome。Rad是没有图形化界面的,所以需要通过Powershell,cmd,shell等通过命令行调用。配置文件需要随意制定一个扫描目标后生成。执行如下命令获取配置文件:rad.exe -t http://example.com。执行完成后,您将获得一个配置文件,如下图所示。基础使用方面,首先使用rad.exe -h查看Rad本身自带的帮助信息。接下来,让我们看看Rad的一些基本选项:--target|-t|--url|-u,--config|-c,--text-output|--text,--full-text-output|--full,--json-output|--json,--auto-index|--index,--http-proxy,--disable-headless,--log-level,--no-banner,--wait-login。Rad与其他工具联动的原理基本一致,这里选择三个工具作为演示。对于Xray,运行命令:xray webscan --listen 127.0.0.1:7777 --html-output proxy.html。然后,运行rad:rad -t http://example.com -http-proxy 127.0.0.1:7777。最后,使用xray webscan --browser-crawler http://example.com --html-output vuln.html。注意确保将Xray与Rad放于同一目录下。Burp Suite和W13scan的被动扫描也适用于与Rad的联动,原理与Xray相似。如果您的目标少,您可以直接在命令行中执行这些命令。但如果目标多,使用脚本生成命令会更为合适。Rad目前不支持多目标扫描,所以可以选择使用命令行的多命令执行完成多目标扫描的目的。多条命令之间推荐使用分号(;)来执行,这样可以在第一条命令执行失败的情况下继续执行下一条命令,从而达到出现了问题也不影响后续的效果。配置文件解析方面,此处只对配置文件中描述的比较模糊的地方做一下详细说明,故不粘贴配置文件的全部内容。配置文件中描述了启动chrome的路径、禁用无头模式、强制开启沙箱、代理配置、自定义headers、登陆状态下的cookie设置、UA和特定cookie的设置、过滤同站点相似元素强度、去重处理和链接检查等。通过配置文件,您可以实现高度的自定义,并为不同的域名设置不同的headers。输出文件的使用方面,Rad有三种输出模式:简易输出、全输出和Json输出。简易输出时,可以选择将输出的文件中的GET与POST去掉,然后直接将该文件交给sqlmap来跑。若需检测POST请求,可以使用Json格式输出,然后通过脚本实现对GET请求与POST请求的分离,使用多命令执行来实现精准匹配。