如何使用AppScan扫描大型网站

news/2024/5/9 17:05:10/文章来源:https://blog.csdn.net/vikesgao/article/details/7823136

经常有客户抱怨,说AppScan无法扫描大型的网站,或者是扫描接近完成时候无法保存,甚至保存后的结果文件下次无法打开?;同时大家又都很奇怪,作为一款业界出名的工具,如此的脆弱?是配置使用不当还是自己不太了解呢?我们今天就一起来讨论下AppScan扫描大型网站会遇到的问题以及应对。
AppScan工作原理和网站规模讨论
1) 网站规模
2) AppScan的工作原理
3) 扫描规模:AppScan的扫描能力收到哪些因素的影响?

好的,对AppScan工具和网站的特点有了了解以后,我们来讨论如何更有效地使用AppScan来进行安全扫描,特别是扫描大型网站?
使用AppScan来进行扫描
我们按照PDCA的方法论来进行规划和讨论; 建议的AppScan使用步骤:PDCA: Plan,Do,check, Action and Analysis.

计划阶段:明确目的,进行策略性的选择和任务分解。
1) 明确目的:选择合适的扫描策略
2) 了解对象:首先进行探索,了解网站结构和规模
3) 确定策略:进行对应的配置
a) 按照目录进行扫描任务的分解
b) 按照扫描策略进行扫描任务的分解

执行阶段:一边扫描一遍观察
4)  进行扫描
5) 先爬后扫(继续仅测试)

检查阶段(Check)
6)  检查和调整配置

结果分析(Analysis)
7)  对比结果
8)  汇总结果(整合和过滤)

其他常见的AppScan配置:
1)  扫描保存的间隔时间
2)  内存使用量
3)  临时文件的保存路径
4) AppScan的工作原理

AppScan其实是一个产品家族,包括众多的应用安全扫描产品,从开发阶段的源代码扫描的AppScan source edition,到针对WEB应用进行快速扫描的AppScan standard edition.以及进行安全管理和汇总整合的AppScan enterprise Edition等,我们经常说的AppScan就是指的桌面版本的AppScan,即AppScan standard edition.其安装在Windows操作系统上,可以对网站等WEB应用进行自动化的应用安全扫描和测试。
来张AppScan的截图,用图表说话,更明确。
 
图表 1 AppScan标准版界面
请注意右上角,单击“扫描”下面的小三角,可以出现如下的三个选型“继续完全扫描”,“继续仅探索”,“继续仅测试“,有木有?什么意思? 理解了这个地方,就理解了AppScan的工作原理,我们慢慢展开:
还没有正式开始,所以先不管“继续“,直接来讨论’完全扫描”,“仅探索”,“仅测试”三个名词:

AppScan是对网站等WEB应用进行安全攻击,通过真刀真枪的攻击,来检查网站是否存在安全漏洞;既然是攻击,肯定要有明确的攻击对象吧,比如北约现在的对象就是卡扎菲上校还有他的军队。对网站来说,一个网站存在的页面,可能成千上万。每个页面也都可能存在多个字段(参数),比如一个登陆界面,至少要输入用户名和密码吧,这就是一个页面存在两个字段,你提交了用户名密码等登陆信息,网站总要有地方接受并且检查是否正确吧,这就可能存在一个新的检查页面。这里的每个页面的每个参数都可能存在安全漏洞,所有都是被攻击对象,都需要来检查。
这就存在一个问题,你领命来检查一个网站的安全性,这个网站有多少个页面,有多少个参数,页面之间如何跳转,你可能很不明确,如何知道这些信息? 看起来很复杂,盘根错节;那就更需要找到那个线索,提纲挈领; 那就想一想,访问一个网站的时候,我们需要知道的最重要的信息是哪个?网站主页地址吧? 从网站地址开始,很多其他频道,其他页面都可以链接过去,对不对,那么可不可以有种技术,告诉了它网站的入口地址,然后它“顺藤摸瓜”,找出其他的网页和页面参数? OK,这就是”爬虫” 技术,具体说,是”网站爬虫“,其利用了网页的请求都是用http协议发送的,发送和返回的内容都是统一的语言HTML,那么对HTML语言进行分析,找到里面的参数和链接,纪录并继续发送之,最终,找到了这个网站的众多的页面和目录。这个能力AppScan就提供了,这里的术语叫“探索”,explorer,就是去发现,去分析,了解未知的,记录。

在使用AppScan的时候,要配置的第一个就是要检查的网站的地址,配置了以后,AppScan就会利用“探索”技术去发现这个网站存在多少个目录,多少个页面,页面中有哪些参数等,简单说,了解了你的网站的结构。

“探索”了解了,测试的目标和范围就大致确定了,然后呢,利用“军火库”,发送导弹,进行安全攻击,这个过程就是“测试”;针对发现的每个页面的每个参数,进行安全检查,检查的弹药就来自AppScan的扫描规则库,其类似杀毒软件的病毒库,具体可以检查的安全攻击类型都在里面做好了,我们去使用即可。

那么什么是“完全测试呢”,完全测试就是把上面的两个步骤整合起来,“探索”+ “测试”;在安全测试过程中,可以先只进行探索,不进行测试,目的是了解被测的网站结构,评估范围; 然后选择“继续仅测试”,只对前面探索过的页面进行测试,不对新发现的页面进行测试。“完全测试”就是把两个步骤结合在一起,一边探索,一边测试。

小结下,继续来图表,一张图胜过10行文字:
 
图表 2 扫描原理:扫描规则库+ 爬行 + 测试
步骤1:探索(爬行,爬网)

 
步骤2:测试:

 

好的,了解了AppScan的原理,我们就结合原来来讨论下为什么扫描大型网站时候可能遇到问题了。

什么叫大型网站,顾名思义,网站规模大,具体说是页面很多,内容很全。比如www.sina.com.cn,比如http://music.10086.cn/,都包括上万个页面。而且除了这个,可能还有一个特点---页面参数多,即要填写的地方多,和用户的交互多;比如一个网站如果都是静态页面(.html,.jpg等),没有让用户输入的地方,那么可以利用,可以作为攻击点的地方也就不多。如果页面到处都是有输入,有查询,要求用户来参与的,你输入的越多,可能泄露的信息也越多,可能被别人利用的攻击点也就越多,所以和页面参数也是有关系的。AppScan声称测试用例的时候,也是根据每个参数来产生的,简单说,如果一个参数,对应了200个安全攻击测试用例,那么一个登陆界面至少就对应400个了,为什么?登陆界面至少有用户名和密码两个字段吧? 每个字段200个攻击用例。

这个简单吧,还可以更复杂:如果遇到下面的两个地址,那要扫描多少次呢?
http://www.Test/10086/focus/satisfy/file.jsp?id=1
http://www.Test/10086/focus/satisfy/file.jsp?id=2
上面的两个地址有类似的,“?”号以前的URL地址完全一样,”?”号后面带的参数不同,这种可以认为是重复页面,那么对于重复页面,是否要重复测试呢?
这取决于“冗余路径设置”,默认的是最多测试5次;即,这种类型URL出现的前5次,那么就是要测试1000个攻击用例了。

如果再继续修改下:遇到下面的URL呢
http://www.Test/10086/focus/satisfy/file.jsp?id=1&Item=open
http://www.Test/10086/focus/satisfy/file.jsp?id=2&Item=close
每个URL里面都有2个参数,测试的次数就更多了。想象下,如果这个网页里面的参数如果是10个,或者更多的呢?比如很多网站提交注册信息的时候,要填写的内容足够多吧?
要进行的安全测试用例也就随之不断增加…

这是网站规模的影响,还有一个问题,就出在“每个参数,发送200个安全测试用例”这个假设上。这个假设的前提来源于哪里? 来源于我们选择的扫描规则库。即你关心那些安全威胁,这个需要在测试策略里面选择。同样来参照杀毒软件,你会用杀毒软件来查找一些专用的病毒吗,比如CIH,比如木马;应用安全扫描也是一样的道理,如果有明确的安全指标或者安全规则范围,那么就选择之。这些可能来源于企业的规范,来源于政府的法律法规。就要根据你的理解,在这里选择。

 
图表 3 选择测试策略
  很多时候,我们也很难在最开始的阶段,就把扫描规范制定下来,按照项目经理们的口头禅“渐进明细”,“滚动式规划”,在实践中,更多时候也是摸着石头过河,选择了一个扫描策略,然后根据结果分析,看是否需要调整,不断优化。比如选择默认的“缺省值’扫描策略,对网站进行扫描,发现其”敏感信息“里面会去检查页面上是否含有Email地址,是否含有信用卡号码等,如果我们觉得这些信息,显示在页面上是正常的业务需要,”(比如有问题请联系admin@www.test.com),我们就可以取消掉这些规则,所以扫描规则也很大程度上影响着我们的扫描效率。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_823984.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当SEO/SEM与良知正面碰撞

先从这几天一直很火的大学生“魏则西之死”这篇文章说起,虽然这对死者很不敬,但如果可以让我们深刻反省的话也是值得的,从知乎到4.28号这篇文章在微信被疯狂转载之后火速占领各大新闻版块头条,首先我们来看一下消息的源头&#xf…

VS2005在开发网站时的一个编译BUG

这两天我在用C#做一个WEB网站,用的是VS2005,碰到一个编译问题,害我查了很长时间,终于找到原因了-_- 放上来,如果有碰到相同问题的兄弟正好看看。现象:编译时,当页面对应的cs文件有错误时&#…

Bootstrap相关网站中简单的等待提醒

一、在页面中加入如下代码 <div class"modal fade" tabindex"-1" role"dialog" id"waitingModal"><div class"modal-dialog" role"document"><div class"modal-content"><div cla…

服务器网站访问ftp设置,服务器网站访问ftp设置方法

服务器网站访问ftp设置方法 内容精选换一换公网域名解析是基于Internet网络的域名解析过程&#xff0c;可以把人们常用的域名(如www.example.com)转换成用于计算机连接的IP地址(如1.2.3.4)。公网域名解析支持通过直接在浏览器中输入域名&#xff0c;访问网站或Web应用程序。云解…

服务器启动文件夹,win10系统开机启动文件夹的路径是什么_网站服务器运行维护...

装 k8s 要先装 Docker 吗&#xff1f;_网站服务器运行维护装k8s是不需要先装Docker&#xff0c;两者之间是没有依赖关系的&#xff0c;都是可以独立运行&#xff0c;但是两者是可以配合使用的&#xff0c;Docker是一个独立的应用程序&#xff0c;可以安装在任何计算机上运行容器…

不蒜子实现网站访问量访客数统计

个人博客网站&#xff1a;http://zhangchuanjun.cn 或者&#xff1a;我个人网站 有许多网站分析工具&#xff0c;比如百度统计&#xff0c;谷歌分析等工具&#xff0c;这类工具虽然有不错的网站统计功能&#xff0c;但是都不能呈现在自己的网站上&#xff0c;都需要进入相应的后…

使用CDN为您的网站加速(一)

CDN(Content Delivery Network)翻译为内容分发网络&#xff0c;是通过在现有的 Internet 中增加一层新的网络架构&#xff0c;将网站的内容发布到最接近用户的网络 " 边缘 " &#xff0c;使用户可以就近取得所需的内容&#xff0c;解决 Internet 网络拥塞状况&#x…

Flask开发微电影网站(五)

后台管理页面是系统管理员登录后对网站进行管理的前端页面 后台登录页面&#xff0c;如下图所示 管理员登录后的页面&#xff0c;如下图所示 管理员登录后&#xff0c;在右上角显示的管理员信息&#xff0c;如下图所示 管理员登录后&#xff0c;在页面中间部分的左侧显示管理菜…

监控.net 网站 Glimpse

使用Nuget 安装Glimpse 安装好后&#xff0c;config会默认添加几个节点 安装好之后 只需要浏览器输入 网站/Glimpse.axd 再次进入网站 就可以查看&#xff08;ajax sql session 等&#xff09; 转载于:https://www.cnblogs.com/jayblog/p/9324672.html

本地搭建网站--PHP网站

背景&#xff1a;组内需要一个博客系统记录些文档、同时扫盲学习mysql、PHP、域名相关知识点、RFS学习演练 方案&#xff1a;phpnow emlog 一、PHPnow 提供PHP网站环境&#xff08; 服务器 数据库 主机空间&#xff09; 傻瓜式安装 主站&#xff1a;http://servkit.org/ 注&a…

在服务器上搭建多个WordPress博客网站教程(超级详细)

实验准备 一台阿里云服务器二个域名&#xff08;IP与域名已经建立解析关系&#xff09;Linux关于web架构的知识 实验步骤 1.用crt远程登录阿里云服务器 2.安装nginx&#xff0c;mysql&#xff0c;php 建议使用lnmp一键安装包安装&#xff0c;方便快捷 获取lnmp一键安装包链接 l…

网站建设指南之网站HTTPS化与证书

通常我们说的HTTPS就是HTTPSSL证书&#xff0c;简单的说就是HTTP的安全版。HTTP网站的数据传输都是以明文形式&#xff0c;比如用户密码等信息都没有加密&#xff0c;很容易造成信息泄露。绑定SSL证书后&#xff0c;可以实现网站HTTPS化&#xff0c;加密用户与网站之间的交互访…

bae部署php网站,thinkphp部署bae的相关配置

thinkphp3.2.3发布到bae3.0&#xff0c;在tp的config.php中设置URL_MODEL1&#xff0c;入口文件index.php中设置define(BIND_MODULE,Home);// 绑定Home模块到当前入口文件define(BIND_CONTROLLER,Index);// 绑定Index控制器到当前入口文件这样在xampp中调试可以直接是localhost…

linux新加网站,linux云主机如何添加网站?

如何在云主机上添加网站?云主机也是有不同的操作系统区分的&#xff0c;比如Windows跟Linux等等&#xff0c;这两种是比较多人选择的云服务器系统。那么&#xff0c;今天万变云给大家带来在linux云主机上进行网站添加的教程。以下配置的路径以网站云提供的标准环境路径为准&am…

html网站栏目列表,栏目列表页.html

&#xfeff;栏目列表页$axure.utils.getTransparentGifPath function() { return resources/images/transparent.gif; };$axure.utils.getOtherPath function() { return resources/Other.html; };$axure.utils.getReloadPath function() { return resources/reload.html; …

网站防御cdn和高防服务器,高防服务器和CDN防御的区别在哪

网络服务器配备纯SSD架构打造的高性能存储&#xff0c;旨在为用户提供优质、高效、弹性伸缩的云计算服务,下面小编给大家介绍一下高防服务器的种类。CDN是网站加速&#xff0c;可以服务器负载能力过低&#xff0c;带宽过少等带来的网站打开速度慢等问题。一个网站的服务器性能比…

Linux系统使用Gogs搭建私服Git网站

文章目录1. 安装Docker2. 安装Gogs3. 配置Git仓库系统&#xff1a;CentOS 7.4 64位1. 安装Docker # 通过yum源安装docker yum -y install docker # 启动docker systemctl start docker # 开机自启 sudo systemctl enable docker2. 安装Gogs 下载Gogs镜像 docker pull gogs/g…

基于django的视频点播网站开发-step3-注册登录功能

用户注册登录是一个网站的基本功能&#xff0c;django对这部分进行了很好的封装&#xff0c;我们只需要在django的基础上做些简单的修改就可以达到我们想要的效果。在本讲中&#xff0c;我们会用到user中的用户授权方面的一些函数&#xff0c;还会对django中的user进行扩展&…

揭秘全球最大网站Facebook背后的那些软件

Facebook级别规模的挑战   在我们深入细节之前&#xff0c;先了解一组Facebook不得不面对数据&#xff0c;你就可以想象这种规模。 Facebook每月的PV量&#xff1a;630,000,000,000 &#xff08;6千3百亿&#xff09;Facebook上的图片数量超过其他图片网站的总和&#xff08…

使用VS2012开发的网站或者webservice在IIS6.0上发布的注意事项

由于新版的VS2012的出现&#xff0c;很多人转而使用VS2012作为开发工具&#xff0c;微软每次新的版本都会新增一些功能&#xff0c;带给我们不少的惊喜&#xff0c;但是在VS2012或者VS2010下开发的网站或者webservice在部署时要注意了&#xff0c;由于VS2010以上版本的.net fra…