AppScan扫描Web应用程序的流程
1.启动AppScan
双击AppScan,选择“是”,就是以管理员身份运行。
2.选择 【扫描web应用程序】
3.输入起始URL,点击【下一步】
比如我搭建的一个靶场:
http://172.16.135.186:83/
(连带端口都一起作为URL)
4.选择【不使用代理】,点击【下一步】
(如果是第一次使用的话,要选择连接设置,建议选择“不使用代理”)
等下一次的时候,就不需要选择连接设置了。
5.登陆管理,选择【无】,点击【下一步】
注意:如果要选择记录的话,建议选择Chrome浏览器,不建议选择IE浏览器(IE现在都不支持了,而且本身IE兼容性也让人头疼,写前端的都懂)。整个过程可以记录一下(类似于重放)。(播放基于操作的登陆序列)
因为我搭建的网站不需要cookie,所以记录失败了:
所以这一步根据需要来,我自己搭建的网站是不需要的,所以我最后选择了“无”。
6.选择【缺省值】测试策略,点击【下一步】
这一步有很多选项:
很多扫描策略,而且可以点击左下角的“完全扫描配置”细看:
(我虚拟机里面的字体比较不协调)
(可以勾选,自己个性化地更改)
我在这一步选择了“缺省”:
7.测试优化,选择【五优化】,点击下一步
这一步有四个选项:
(1)无优化:
(2)快速:
(3)较快:
(4)最快:
(适合快速评估,马上出一个报告的时候)
这一步,我选了“无优化”,你可以根据你的需求来。
8.选择【启动扫描】,选择【完成“扫描配置向导”后启动“扫描专家”】,点击【完成】
四种扫描方式:
第二个“仅使用自动探索启动”中的稍后运行扫描的测试阶段的意思是:稍后分析扫描的链接中是否存在安装漏洞
在这一步,我选择了“启动扫描”这个方式,并且勾选了“完成扫描配置向导后启动扫描专家”(扫描专家会给出扫描 的一些建议):
9.点击【是】
10.选择自己喜欢的位置保存
选择你喜欢的位置保存扫描的结果。
11.等待扫描专家评估扫描
12.点击【应用建议】,采取扫描专家 的建议
然后等待:
13.扫描过程中发现问题时,会出现气泡提示
14.扫描完成后,会自动分析存在安全漏洞
点击“问题”:
可以看到网站的目录结构和网站的高危等漏洞。
“修订建议”往往是给开发人员看的:
“咨询”是对问题的描述:
“问题信息”可以看如何验证:
15.点击【报告】,选择详细报告,点击【保存报告】
可以选择不同类型的报告:
一般选择“详细报告”:
16.选择喜欢的位置保存报告。
保存完之后会自动打开。
我扫描的是一个非常简单的靶场,将近花了20分钟,如果去扫描DVWA或者pikachu,那么靶场的扫描时间会更加长。(而且扫描DVWA 可能扫不出这么多类型的错误)
AppScan被动手动探索扫描
被动式扫描:浏览器代理到AppScan,然后进行手工操作,探索产生出的流量给AppScan进行扫描。
他的优点是:扫描足够精准,覆盖率更加高,减少不必要的干扰包等等
扫描环境准备
(1)火狐安装FoxyProxy
【1】打开扩展和主题
about:addons
【2】输入FoxyProxy 点击搜索
【3】点击 【FoxyProxy Standard】
【4】点击【添加到 Firefox】
完成之后,右上角就会有一个小狐狸的图案:
并且准备一个DVWA的靶场(并且将安全级别设置为Low)
外置设备手动扫描
DVWA靶场的IP是:http://39.101.162.123:38507
【1】上方菜单栏中,选择 扫描—》手动探索—〉外部设备
关注一下代理应配置为多少号端口:(每次端口可能是不一样的)
这次的端口是63954
【2】火狐浏览器点击“代理”,选择“选项”,开始配置
【3】点击“添加”
进行添加:标题或描述填一个你能识别是AppScan连接的名字,比如“AppScan”,配置IP是127.0.0.1,端口就是刚才的AppScan中的端口(注意一定不能出错),然后点击保存。
【4】开启代理:
此时AppScan才和浏览器连接上了。
【5】操作被测网站:
在DVWA的靶场中随便操作一下(你想要扫描的靶场,比如CSRF,XSS等等),这时候就能在AppScan中找到发送的请求。
比如我操作了下面5个场景:
【6】切换到AppScan点击“停止记录”:
【7】选择网站,点击“确定”:
左侧“检测到的域”,除了刚才靶场的IP,有时候还有火狐自己的请求,但是打勾只勾选靶场的IP即可。然后点击确定。此时就将流量增加到了AppScan分析器中。
这里要等待一会儿,知道最上面的扫描由灰色变成绿色,就说明引流到分析器完成了:
【8】点击“扫描”,选择“仅测试”:
加载完成之后,就可以点击上方的“扫描”,里面有3个选项:
(1)继续完全扫描
(2)继续仅探索
(3)仅测试
这里选择“仅测试”。
【9】点击“是”(表示要存储):
在弹出的对话框中,点击“是”
【10】选择存储位置,点击保存
选择你喜欢的位置来保存扫描结果。
保存完成之后,会开启探测(刚才访问的页面有没有问题存在)。
【11】等待测试结果。
等待片刻。
这里要等待一会儿。(几分钟,如果你操作的越多,当然也就时间越长)
可以看到有很多高危的漏洞。
起码sql我就操作了两个靶场,只检测到1处。
可以看到探测也不是很准。所以这种扫描只能作为一种辅助手段来做。有一些问题还是发现不了的。
更多的还是要人工手动去测试。
内置浏览器手工扫描
和外置扫描差别还是很大的,步骤相比也更加多。
这一次DVWA的靶场的靶场IP是http://39.101.162.123:11948
级别设为了low
首先关闭代理。然后回到AppScan,文件—》新建—〉扫描Web应用程序–》取消
【1】点击【手动探索】,选则【AppScan Chromium 浏览器】,这里不建议IE,因为很多网站已经不适配IE了。
【2】点击【是】,配置起始URL。
【3】输入URL 点击【确定】
【4】点击取消
【5】点击【配置】–【参数和cookie】–【定制头】
【6】在火狐浏览器复制cookie
【7】切换到AppScan,点击【+】,添加cookie,点击【确定】
点击“+”,头名称填写Cookie(cookie要到浏览器中,自己找一下粘贴过来),值填写Cookie的值
【8】点击确定
【9】点击【手动探索】,选则【AppScan Chromium 浏览器】
【10】进行手工探索(自己在内置的浏览器中进行操作),完成后,点击【确定】,看到刚才所有点击的链接都生成了。
比如:我操作了:
【11】点击【确定】
然后等待分析。
【12】点击【扫描】–【仅测试】
【13】点击【是】
【14】选择保存位置,点击【保存】
【15】等待扫描结果(一般前面扫描会很慢,后面会越来越快)
0%
9%
13%
56%
扫描完成后:
最后注意:这种软件只能作为辅助工具,很多漏洞还是要多手工测试的,否则公司买个安全产品就行了,还需要招这么多安全人员吗?所以作为测试或者安全人员,还是要多培养自己的硬实力,不要只会用工具。
最后补充一个知识点
主动扫描
输入某个URL,然后由扫描器中的爬虫模块爬取所有链接,对GET、POST等请求进行参数变形和污染,进行重放测试,然后依据返回信息中的状态码、数据大小、数据内容关键字等去判断该请求是否含有相应的漏洞
被动扫描
在进行手动测试的过程中,代理将流量转发给漏洞扫描器,然后再进行漏洞检测
区别
被动扫描不进行大规模的爬虫爬取行为,不主动爬取站点链接,而是通过流量、代理等方式去采集测试数据源
优势
被动扫描省去了爬虫的阶段,可以大大减少测试时间