关于WWWGrep
WWWGrep是一款针对HTML安全的工具,该工具基于快速搜索“grepping”机制实现其功能,并且可以按照类型检查HTML元素,并允许执行单个、多个或递归搜索。Header名称和值同样也可以通过这种方式实现递归搜索。
功能介绍
使用递归选项在目标站点上搜索名为“username”或“password”的输入字段,快速定位登录页面。
快速检查Header以了解特定技术的使用情况。
通过搜索响应Header快速定位Cookie和JWT令牌。
与代理工具一起使用可通过一组链接快速自动执行递归。
通过搜索输入字段和参数处理符号,找到页面(或站点)上的所有输入接收器。
在页面上找到所有开发人员注释,以识别注释掉的代码(或待办事项)。
快速查找网页中存在的易受攻击的JavaScript代码。
识别页面代码中存在的API令牌和访问密钥。
快速测试管理下的多个站点是否使用了易受攻击的代码。
快速测试管理下的多个站点是否使用了易受攻击的框架/技术。
查找可能共享公共代码库的站点,以确定缺陷/漏洞的影响。
查找共享公共身份验证令牌(Header身份验证令牌)的站点。
其它功能...
工具安装
广大研究人员可以使用下列命令将该项目源码克隆至本地,并安装好相关的依赖组件:
代码语言:javascript复制git clone https://github.com/OWASP/wwwgrep.git
pip3 install -r requirements.txt
python3 wwwgrep.py <arguments and parameters>
依赖组件(pip3 install -r requirements.txt)
代码语言:javascript复制 - Python 3.5
- BeautifulSoup 4
- UrlLib.parse
- requests_html
- argparse
- requests
- re
- os.path
命令行选项
代码语言:javascript复制wwwgrep.py [target/file] [search_string] [search params/criteria/recursion etc]
Search Inputs
search_string 指定要搜索的字符串,或者为搜索参数中指定类型的所有对象指定“”
-t --target 指定单个URL作为搜索的目标
-f --file 指定包含要搜索的URL列表的文件
Recursion
-rr --recurse-root 将URL递归限制到目标中提供的域
-ra --recurse-any 允许递归扩展到目标域之外
Matching Criteria
-i --ignore-case 执行不区分大小写的匹配(默认为按大小写)
-d --dedupe 允许每页有重复的结果(默认为消除重复的结果)
-r --no-redirects 不允许重定向(默认为允许重定向)
-b --no-base-url 从输出中省略匹配的URL(默认情况下包括URL)
-x --regex 允许使用正则表达式匹配项(搜索字符串被视为正则表达式,默认值为off)
-e --separator 指定和输出说明符(默认值为:)
-j --java-render 打开页面对象和文本的JavaScript呈现(默认为关闭)
-p --linked-js-on 打开链接(脚本src标记)Java脚本的搜索功能(默认为关闭)
Request Parameters
-ps --https-proxy 以“https://<ip>:<port>”格式指定HTTPS协议的代理
-pp --http-proxy 以“https://<ip>:<port>”格式指定HTTP协议的代理
-hu --user-agent 指定在请求中用作用户代理的字符串
-ha --auth-header 指定要在请求Header中使用的承载令牌或其他身份验证字符串
Search Parameters
-s --all 在所有页面HTML和脚本中搜索匹配的术语
-sr --relative 搜索匹配相对URL页面链接
-sa --absolute 搜索匹配绝对URL页面链接
-si --input-fields 在页面中搜索匹配的输入字段
-ss --scripts 搜索与搜索规范匹配的脚本标记
-st --text 搜索页面上与搜索规范匹配的可见文本
-sc --comments 搜索页面上与搜索规范匹配的注释
-sm --meta 在页面元数据中搜索与搜索规范的匹配项
-sf --hidden 在隐藏字段中搜索与搜索规范的特定匹配项
-sh --header-name 搜索响应Header以查找与搜索规范的特定匹配项
-sv --header-value 搜索响应Header值以查找与搜索规范的特定匹配项
工具使用样例
递归查找站点上名为login的所有输入字段,匹配不区分大小写:
代码语言:javascript复制wwwgrep.py -t https://www.target.com -i -si “login” -rr
在网站的所有页面上查找包含“待办事项(to do)”一词的所有注释:
代码语言:javascript复制wwwgrep.py -t https://www.target.com -i -sc “to do” -rr
查找特定网页上的所有注释:
代码语言:javascript复制wwwgrep.py -t https://www.target.com/some_page -i -sc “”
使用站点递归方式查找input.txt文件中包含的web应用程序列表中的所有隐藏字段:
代码语言:javascript复制wwwgrep.py -f input.txt -sf “” -rr
项目地址
https://github.com/OWASP/wwwgrep