那些自动化扫描神器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了那些自动化扫描神器相关的知识,希望对你有一定的参考价值。

参考技术A

刚入行时学习使用AWVS、APPSCAN等WEB漏洞自动化扫描工具,只知道这类工具会先把目标站点的链接全部爬取,再对链接以GET、POST方式进行请求测试。
主动扫描器是直接利用爬虫暴力探测接口,而被动扫描器则是采用获取流量的方式探测接口。
这里简单推荐三款好用的扫描器,详细的用法这里就不过多介绍了。

https://github.com/chaitin/xray/releases

xray是长亭的一款web自动化漏洞扫描神器,支持主动式、被动式扫描,使用go语言编写,可自定义编写POC。

官方有详细说明,这里-h简略地看一下。

而webscan是xray核心功能,用来发现探测Web漏洞。

1.基础爬虫爬取命令

2. HTTP代理被动扫描命令

burp点击Add 添加上游代理以及作用域。

访问页面,xray会将该接口自动调用poc自动化开始探测。强烈建议使用该方式挖掘web漏洞。

https://gobies.org/

goby是一款自动化检测工具,内置了多个实用性强的poc,扫描速度极快。且有多个扩展程序,如fofa、metasploit等等,我觉得最值得一提的是具有sockst代理功能,且扫描到的资产详细的展示着banner、title、version等信息。

以代理扫描内网为例:
设置socks5代理模式进行内网扫描。

代理扫描的速度比较慢,但至少可以对内网有大致的判断,也方便后续横向内网。

点击资产可获取ip详细的端口、banner、服务、版本以及title。

免费版内置78个poc,红队专用版内置100多个poc。都是针对中间件、框架的漏洞检测。

https://github.com/projectdiscovery/nuclei

nuclei是国外的一款快速扫描工具,内置大量的漏洞库。

多一点扫描多一点可能性。

测试那些事儿—selenium IDE 自动化测试

浏览器

  • Firefox Setup 35.0.1
  • 安装完成后设置菜单栏
  • 关闭浏览器自动更新

插件配置(必备武器)

  • FireBug

Firebug是firefox下的一个扩展,能够调试所有网站语言,如Html,Css等,但FireBug最吸引人的就是javascript调试功能,使用起来非常方便,而且在各种浏览器下都能使用(IE,Firefox,Opera, Safari)。

  • FirePath
  • HTML元素定位神器。

Selenium IDE简介

Selenium IDE是一个Firefox插件,用于记录和播放用户与浏览器的交互。 使用它来创建简单的脚本或协助进行探索性测试。

Selenium IDE安装

Selenium打开运行

  • 工具栏——>Selenium IDE
  • 直接点击菜单栏Selenium 图标
步骤
  1. 输入测试 Base URL
  2. 打开录制按钮
  3. 在浏览器界面进行相关操作
  4. 回放录制的操作(注意:回放时浏览器一定要处于打开状态)
  5. 保存测试脚本
导入已保存的脚本

文件——> Open——> 选择要导入的脚本

Selenium IDE脚本编辑与操作

1. 编辑一行命令

在Table标签下选中某一行命令,命令由command、Target、value三部分组成。可以对这三部分内容那进行编辑。

2. 插入命令。

在某一条命令上右击,选择“insert new command”命令,就可以插入一个空白,然后对空白行进程编辑。

3. 插入注释

鼠标右击选择“insert new comment”命令插入注解空白行,本行内容不被执行,可以帮助我们更好的理解脚本,插入的内容以紫色字体显示。

4. 移动命令或注解

有时我们需要移动某行命令的顺序,我们只需要左击鼠标拖动到相应的位置即可。

5.删除命令

选择单个或多个命令,然后点击鼠标右键选择“Delete”

6.命令执行

选定要执行的命令点击单个执行按钮即可,注意:有一些命令必须依赖于前面命令的运行结果才能成功执行,否则会导致执行失败。

 

Selenium IDE常用命令

open(url)命令

(1)作用:打开指定的URL,URL可以为相对或是绝对URL;

(2)Target:要打开的URL;value值为空

  • 当Target为空,将打开Base URL中填写的页面;
  • 当Target不为空且值为相对路径,将打开Base URL + Target页面。
  • 当Target以http://开头时,将忽略Base URL,直接打开Target的网址;

pause(waitTime)

(1)作用:暂停脚本运行

(2)waitTime:等待时间,单位为ms;

goBack()

(1)作用:模拟单击浏览器的后退按钮; (2)由于没有参数,所以Target和Value可不填;

refresh()

(1)作用:刷新当前页;

(2)由于没有参数,所以Target和Value可不填;

windowMaximize()

(1)作用:将当前的窗口最大化,即设置为全屏显示; (2)由于没有参数,所以Target和Value可不填;

click(locator)

(1)作用:单击一个链接、按钮、复选框或单选按钮;

(2)如果该单击事件导致新的页面加载,命令将会加上后缀“AndWait”,即“clickAnd Wait”,或“waitForPageToLoad”命令;

type(locator,value)

(1)作用:向指定输入域中输入指定值;也可为下拉框、复选框和单选框按钮赋值.

(2)Target:元素的定位表达式;

(3)Value:要输入的值;

select(selectLocator,optionLocator)

(1)作用:模拟人工单击下拉列表框;

selectLocator:指向指定选择元素的元素定位器;

optionLocator:选项的选择器(默认为标签);

(2)选项的选择方式两种 label 和Value

  • label=文本值,基于选项的文本进行匹配(默认方式),如label=three;
  • value=真实值,基于选项的真实值进行匹配,如value=3;

close()

(1)作用:模拟用户单击窗口上的关闭按钮;

(2)由于没有参数,所以Target和Value可不填;

断言与验证

断言

验证应用程序的状态是否同所期望的一致。 常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确等等。

断言被用于4种模式+5种手段:

Assert

Assert 断言失败时,该测试将终止。

verify

Verify 断言失败时,该测试将继续执行,并将错误记入日显示屏。也就是说允许此单个验证通过。确保应用程序在正确的页面上。提高脚本的伸缩性。

waitfor

Waitfor用于等待某些条件变为真。可用于AJAX应用程序的测试。 如果该条件为真,他们将立即成功执行。如果该条件不为真,则将失败并暂停测试。直到超过当前所设定的超时时间。 一般跟setTimeout时间一起用

store

store 定义变量,可以获取页面的相关元素进行判断。

5种手段:

  • Title 获取页面的标题
  • Value 获取元素的值
  • Text 获取元素文本信息
  • Table 获得元素标签
  • ElementPresnt 获得当前元素。

断言常用的有:

assertTitle(检查当前页面的title是否正确)

assertValue(检查输入框的值, 单选或复选框的值)

VerifyValue() 验证元素的值。

断言设置方法

1.浏览器页面点击鼠标右键->Show All Available commands->选择具体的断言方式,脚本回自动加载选定的断言命令

2.直接在脚本页面编辑。

 

以上是关于那些自动化扫描神器的主要内容,如果未能解决你的问题,请参考以下文章

SZhe_Scan碎遮:一款基于Flask框架的web漏洞扫描神器

Web安全测试工具WVS介绍及安装教程

测试那些事儿—selenium IDE 自动化测试

微信群抢红包神器自动抢最佳,微信群里面抢红包怎么抢到最佳?

红队内网渗透神器--CobaltStrike安装教程

CTF实战6 自动化Web安全测试工具