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将只会分析单个页面。


本文作者:Alpha_h4ck

来源:51CTO

相关文章
|
3月前
|
SQL 安全 测试技术
Nikto 漏洞扫描工具使用指南
Nikto 是一款开源 Web 服务器扫描工具,用于检测安全漏洞,如 SQL 注入、XSS、配置错误及过时软件等。支持自定义扫描规则、多端口检测、HTTPS 扫描及多种输出格式。提供插件扩展、自动更新功能,并可通过代理扫描,适用于渗透测试与安全审计。
293 0
|
4月前
|
运维 数据可视化 C++
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
2025年热门Web化容器部署工具对比:Portainer与Websoft9。Portainer以轻量可视化管理见长,适合技术团队运维;Websoft9则提供一站式应用部署与容器管理,内置丰富开源模板,降低中小企业部署门槛。两者各有优势,助力企业提升容器化效率。
359 1
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
|
7月前
|
XML 安全 前端开发
一行代码搞定禁用 web 开发者工具
在如今的互联网时代,网页源码的保护显得尤为重要,特别是前端代码,几乎就是明文展示,很容易造成源码泄露,黑客和恶意用户往往会利用浏览器的开发者工具来窃取网站的敏感信息。为了有效防止用户打开浏览器的 Web 开发者工具面板,今天推荐一个不错的 npm 库,可以帮助开发者更好地保护自己的网站源码,本文将介绍该库的功能和使用方法。 功能介绍 npm 库名称:disable-devtool,github 路径:/theajack/disable-devtool。从 f12 按钮,右键单击和浏览器菜单都可以禁用 Web 开发工具。 🚀 一行代码搞定禁用 web 开发者工具 该库有以下特性: • 支持可配
421 22
|
11月前
|
人工智能 前端开发 API
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
Gemini Coder 是一款基于 Google Gemini API 的 AI 应用生成工具,支持通过文本描述快速生成代码,并提供实时代码编辑和预览功能,简化开发流程。
737 38
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
|
12月前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
692 17
Selenium:强大的 Web 自动化测试工具
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
692 7
Spring Boot 入门:简化 Java Web 开发的强大工具
|
人工智能 前端开发 计算机视觉
Inpaint-Web:纯浏览器端实现的开源图像处理工具
在刷短视频时,常看到情侣在景区拍照被路人“抢镜”,男朋友用手机将路人“P”掉,既贴心又有趣。最近我发现了一个纯前端实现的开源项目——inpaint-web,可在浏览器端删除照片中的部分内容,非常酷。该项目基于 WebGPU 和 WASM 技术,支持图像修复与放大,已在 GitHub 上获得 5.1k Star。项目地址:[GitHub](https://github.com/lxfater/inpaint-web)。
713 3
 Inpaint-Web:纯浏览器端实现的开源图像处理工具
|
前端开发 JavaScript 开发者
构建响应式设计的现代Web应用:实用技巧与工具
【10月更文挑战第24天】本文介绍了构建响应式Web应用的实用技巧和工具,涵盖流体网格布局、弹性图片、CSS媒体查询、CSS Grid和Flexbox、响应式导航菜单、图片和字体的响应式处理,以及测试和调试工具。掌握这些技能将帮助开发者提升用户体验和项目适应性。
|
Prometheus Kubernetes 安全
5 款漏洞扫描工具:实用、强力、全面(含开源)(一)
5 款漏洞扫描工具:实用、强力、全面(含开源)
4310 1
5 款漏洞扫描工具:实用、强力、全面(含开源)(一)
|
监控 安全 API
5 款漏洞扫描工具:实用、强力、全面(含开源)(二)
5 款漏洞扫描工具:实用、强力、全面(含开源)
1350 0
5 款漏洞扫描工具:实用、强力、全面(含开源)(二)

热门文章

最新文章