htcap:一款实用的递归型Web漏洞扫描工具

今天给大家介绍的是一款名叫 htcap 的开源 Web 漏洞扫描工具,它通过拦截 AJAX 调用和页面 DOM
结构的变化并采用递归的形式来爬取单页面应用(SPA)。htcap
并不是一款新型的漏洞扫描工具,因为它主要针对的是漏洞扫描点的爬取过程,然后使用外部工具来扫描安全漏洞。在 htcap
的帮助下,我们就可以通过手动或自动渗透测试来对现代 Web应用进行漏洞扫描了。

一、环境要求

  1. Python 2.7
  2. PhantomJS v2
  3. Sqlmap
  4. Arachni

二、工具下载和运行


  1. $ git clonehttps://github.com/segment-srl/htcap.git htcap 
  2. $ htcap/htcap.py 

三、命令行参数


  1. $ htcap crawl -h 
  2.  
  3. usage: htcap [options] url outfile 
  4.  
  5. Options:  
  6.  
  7.  -h               帮助菜单 
  8.  
  9.  -w               覆盖输出文件 
  10.  
  11.  -q               不显示处理过程信息 
  12.  
  13.   -mMODE         设置爬取模式: 
  14.  
  15.                      - passive:不与页面交互 
  16.  
  17.                       - active:触发事件 
  18.  
  19.                       - aggressive:填写输入值并爬取表单 (默认) 
  20.  
  21.   -sSCOPE          设置爬取范围: 
  22.  
  23.                       - domain:仅爬取当前域名 (默认) 
  24.  
  25.                       - directory:仅爬取档期那目录 (以及子目录)  
  26.  
  27.                       - url: 仅分析单一页面 
  28.  
  29.  -D               最大爬取深度 (默认: 100) 
  30.  
  31.  -P               连续表单的最大爬取深度 (默认: 10) 
  32.  
  33.  -F               主动模式下不爬取表单 
  34.  
  35.  -H               保存页面生成的HTML代码 
  36.  
  37.   -dDOMAINS      待扫描的域名,多个域名用逗号分隔 (例如*.target.com) 
  38.  
  39.   -cCOOKIES       以JSON格式或name=value键值对的形式设置cookie,多个值用分号隔开 
  40.  
  41.   -CCOOKIE_FILE   包含cookie的文件路径  
  42.  
  43.   -rREFERER       设置初始引用 
  44.  
  45.   -xEXCLUDED      不扫描的URL地址,多个地址用逗号隔开 
  46.  
  47.   -pPROXY         设置代理,protocol:host:port-  支持'http'或'socks5' 
  48.  
  49.   -nTHREADS       爬虫线程数量 (默认: 10) 
  50.  
  51.   -ACREDENTIALS   用户HTTP验证的用户名和密码,例如username:password 
  52.  
  53.   -UUSERAGENT    设置用户代理 
  54.  
  55.   -tTIMEOUT       分析一个页面最长可用时间(默认300) 
  56.  
  57.  -S               跳过初始url检测 
  58.  
  59.  -G               分组query_string参数 
  60.  
  61.  -N               不使用标准化URL路径 (保留../../) 
  62.  
  63.  -R               最大重定向数量 (默认10) 
  64.  
  65.  -I               忽略robots.txt 

四、htcap简单介绍

htcap的扫描过程分为两步,htcap首先会尽可能地收集待测目标可以发送的请求,例如url、表单和AJAX请求等等,然后将收集到的请求保存到一个SQLite数据库中。爬取工作完成之后,我们就可以使用其他的安全扫描工具来测试这些搜集到的测试点,最后将扫描结果存储到刚才那个SQLite数据库之中。

htcap内置了sqlmap和arachni模块,sqlmap主要用来扫描SQL注入漏洞,而arachni可以发现XSS、XXE、代码执行和文件包含等漏洞。

htcap所采用的爬虫算法能够采用递归的方式爬取基于AJAX的页面,htcap可以捕获AJAX调用,然后映射出DOM结构的变化,并对新增的对象进行递归扫描。当htcap加载了一个测试页面之后,htcap会尝试通过触发所有的事件和填充输入值来触发AJAX调用请求,当htcap检测到了AJAX调用之后,htcap会等待请求和相关调用完成。如果之后页面的DOM结构发生了变化,htcap便会用相同算法对新增元素再次进行计算和爬取,直到触发了所有的AJAX调用为止。

1. 爬虫模块

Htcap支持三种爬取模式:被动型、主动型和攻击型。在被动模式下,htcap不会与任何页面进行交互,这意味着爬虫不会触发任何页面事件,它只会收集页面现有的链接。在这个模式下,htcap就跟普通的Web爬虫一样,只会收集页面标签中的链接。在主动模式下,htcap会触发所有发现的事件,相当于模拟用户与页面进行交互,但不填写任何表单数据。在攻击模式下,htcap会向所有扫描到的表单和输入框中填写测试数据,即尽可能地模拟用户与页面进行交互。

2. 爬取范围

htcap可以指定爬取范围,可选范围包括:域名、目录和url。如果范围是域名的话,htcap只会爬取给定的域名地址;如果范围为目录,那么htcap将会爬取指定目录以及该目录下的所有子目录;如果设置的是url,那么htcap将只会分析单个页面。

本文作者:

来源:51CTO

时间: 2025-01-30 12:41:45

htcap:一款实用的递归型Web漏洞扫描工具的相关文章

Python脚本实现Web漏洞扫描工具_python

这是去年毕设做的一个Web漏洞扫描小工具,主要针对简单的SQL注入漏洞.SQL盲注和XSS漏洞,代码是看过github外国大神(听说是SMAP的编写者之一)的两个小工具源码,根据里面的思路自己写的.以下是使用说明和源代码. 一.使用说明: 1.运行环境: Linux命令行界面+Python2.7 2.程序源码: Vim scanner//建立一个名为scanner的文件 Chmod a+xscanner//修改文件权限为可执行的 3.运行程序: Python scanner//运行文件 若没有携

十大Web漏洞扫描程序 让站点固若金汤

现在有许多消息令我们 感到Web的危险性,如<看Web如何摧毁你的企业>和<微软Office安全漏洞 网民即将面临最大威胁>等文章,因此,当前如何构建一个安全的Web环境成为网管员和安全管理员们义不容辞的责任. 但是巧妇难为无米之炊,该选择哪些 安全工具呢?扫描程序可以在帮助造我们造就安全的 Web站点上助一臂之力,也就是说在黑客"黑"你之前,先测试一下自己系统中的漏洞.我们在此推荐10大Web漏洞扫描程序,供您参考.1. Nikto这是一个开源的Web服务器扫

Wapiti一款小巧的开源安全测试漏洞检测工具

Wapiti 是一套 OpenSource 的站点漏洞检测工具,比较特殊的是,它并不依赖特征数据库,也因此扫描的速度相当快,而探测的则是一些共通性问题,或是作者所宣称的未知漏洞.Wapiti 其实是一只 Python Script,可在多数平台运行,在网页开发过程中,用这套工具反复进行测试,以便初步修饰一些问题,算是相当快速而方便,,WapitiMILY: 宋体">能检测以下漏洞: ·文件处理错误. ·数据库注入(包括PHP/JSP/ASP SQL注入和XPath注入). ·XSS(跨站脚

8个实用且免费的Web应用程序安全测试工具

随着 Web 应用越来越广泛,Web 安全威胁日益凸显.黑客利用网站操作系统的漏洞和 Web 服务程序的 SQL 注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害.这也使得越来越多的用户关注应用层的安全问题,对 Web 应用安全的关注度也逐渐升温.下面向大家推荐8款非常有用的免费 Web 安全测试工具. N-Stalker Free Version N-Stalker Web 应用程序安全2012免费版本能够

十大Web网站漏洞扫描程序工具

网络发展至今,他的高端我们都见识过,但是网络安全也是一直以来不变的话题,怎样能使网络更加安全呢?如何构建一个安全的Web环境,是应该考虑的事情.该选择哪些安全工具呢?我们可以再危险发生之前,先测试一下自己系统中的漏洞.为大家推荐10大Web漏洞扫描程序. 1. Nikto 这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目进行全面的测试.其扫描项目和插件经常更新并且可以自动更新.Nikto可以在尽可能短的周期内测试你的Web服务器,这在其日志文件中相当明显.不过,如果你想试验一下

web安全测试---AppScan扫描工具

安全测试应该是测试中非常重要的一部分,但他常常最容易被忽视掉. 尽管国内经常出现各种安全事件,但没有真正的引起人们的注意.不管是开发还是测试都不太关注产品的安全.当然,这也不能怪我们苦B的"民工兄 弟".因为公司的所给我们的时间与精力只要求我们对产品的功能的实现以及保证功能的正常运行.一方面出于侥幸心理.谁没事会攻击我?      关于安全测试方面的资料也很少,很多人所知道的就是一本书,一个工具. 一本书值<web安全测试>,这应该是安全测试领域维数不多又被大家熟知的安全测

htcap:一款递归型的Web应用扫描器

本文讲的是htcap:一款递归型的Web应用扫描器, 工具介绍 htcap是一个Web应用程序扫描程序,可以通过拦截ajax调用以及DOM修改并以递归方式爬取单页应用程序(SPA).Htcap不仅仅是漏洞扫描程序,因为它主要侧重于网站的爬取过程,并使用外部工具来发现漏洞.我们可以将其理解为是一款用于现代Web应用程序的手动以及自动渗透测试的工具. 它的扫描过程主要分为两部分,首先htcap将抓取目标并收集尽可能多的请求(urls,forms,ajax ecc 等等)并将其保存到sql-lite数

推荐15款响应式Web设计测试工具

响应式网页设计也称作自适应网页设计(通常缩写为RWD),该设计可使网站在多种浏览设备(从桌面计算机显示器到移动电话或其他移动产品设备)上阅读和导航,同时减少缩放.平移和滚动.换句话说,响应式网站能够自动响应终端用户行为.当市场上有新设备推出时,网站就无需再花时间去设计和开发了. 响应式旨在为各个网站在不同的设备上提供最佳的视觉体验,那么如何才能知道网站是否能够根据设备进行自动调整呢?这就得设计人员对网站的响应能力进行测试.本文就为大家介绍15款最佳的响应式网站测试工具,它们能帮助你检查网站的设计

IT管理员得力小助手 分享5款实用网络管理工具

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 网络管理包括对硬件.软件和人力的使用.综合与协调,以便对网络资源进行监视.测试.配置.分析.评价与控制.IT管理人员正对网络管理的要求较高,需要通过工具对网络上的资源进行集中化管理和操作.下面,IDC评述网与大家分享5款实用的网络管理工具. 1.Panoptes Panoptes是一个可伸缩,可扩展的网络和主机的监测工具.包括一个基于Dojo