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

简介:

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

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

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
23天前
|
安全 网络协议 网络安全
【Docker项目实战】使用Docker部署web-check网站分析工具
【4月更文挑战第20天】使用Docker部署web-check网站分析工具
60 1
|
16天前
|
安全 算法 Linux
【专栏】Linux 服务器还有漏洞?OpenVAS 是一款开源的漏洞扫描工具,用于全面评估 Linux 服务器安全
【4月更文挑战第28天】OpenVAS 是一款开源的漏洞扫描工具,用于全面评估 Linux 服务器安全。它具有全面性、准确性和实时性的特点,能扫描各种设备并及时发现安全漏洞。使用 OpenVAS 包括安装、配置和执行扫描,以及分析结果并采取修复措施。在使用过程中应注意扫描时间、范围和策略的选择。通过定期检查和修复漏洞,结合其他安全措施,可以提升服务器安全性。OpenVAS 是保障 Linux 服务器安全的重要工具,但安全维护也需要持续学习和适应新挑战。
|
17天前
|
前端开发 数据管理 Ruby
blog-engine-10-middleman 静态站点生成器,利用了现代 Web 开发中的所有快捷方式和工具
这篇内容介绍了Middleman,一个基于Ruby的静态网站生成器。Middleman的特点包括静态网站生成、模板系统、前端技术支持、数据管理和简单的部署。安装步骤涉及安装Ruby和运行`gem install middleman`。使用方法包括在`source`目录编写内容,使用`middleman server`预览,`middleman build`构建网站,然后部署到服务器。Middleman的优势在于速度、灵活性和数据管理,但需要Ruby知识,且社区规模较小。适合熟悉Ruby并寻求强大建站工具的用户。
|
1月前
|
安全 Linux iOS开发
【热门话题】 Fiddler:一款强大的Web调试代理工具——安装与使用详解
Fiddler是一款强大的Web调试工具,适用于Windows、macOS和Linux,用于捕获、记录和分析HTTP/HTTPS流量。本文详细介绍了Fiddler的安装步骤,包括下载、安装和配置,特别是信任根证书和代理设置。在使用方面,讲解了如何启动/停止捕获流量、查看和管理会话,以及重发请求、编辑请求/响应和清除会话。此外,还探讨了进阶功能,如自定义过滤规则、使用AutoResponder模拟服务器响应、性能分析和统计,以及插件扩展和脚本编写。Fiddler是学习HTTP协议和解决Web问题的得力工具。
48 1
|
1月前
|
存储 前端开发 Linux
Cockpit - 基于Web的Linux管理工具的安装和使用教程
Cockpit - 基于Web的Linux管理工具的安装和使用教程
40 0
|
1月前
|
资源调度 JavaScript 安全
Linux系统之部署web-check网站分析工具
【4月更文挑战第3天】Linux系统之部署web-check网站分析工具
79 9
|
2月前
|
SQL 运维 监控
什么是Web应用程序防火墙,WAF与其他网络安全工具差异在哪?
总之,WAF是一种专门用于保护Web应用程序的网络安全工具,与其他网络安全工具在焦点、层级、检测方式、部署位置和针对性等方面存在差异,以确保Web应用程序的安全运行。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
125 0
|
2月前
|
Web App开发
Star 5.5k!这款Web剪藏工具绝了,支持10+平台内容剪辑同步!
Star 5.5k!这款Web剪藏工具绝了,支持10+平台内容剪辑同步!
|
Web App开发 安全 Java
开源漏洞扫描工具(OWASP-Dependency-Check)探索
背景 随着公司逐渐发展壮大,网络信息安全变得越来越重要。由此激发了我们成立兴趣小组(凯京爆破小组)研究网络信息安全的欲望。然而信息安全的防范,还得从底层编码开始做起。这样依赖性扫描工具(OWASP-Dependency-Check)就进入了我们的视线,既符合我们当前的需求又使用方便简单,自然而然的成为了我们探索的对象。
17575 0
|
监控 安全 API
5 款漏洞扫描工具:实用、强力、全面(含开源)(二)
5 款漏洞扫描工具:实用、强力、全面(含开源)
859 0
5 款漏洞扫描工具:实用、强力、全面(含开源)(二)