如何使用WWWGrep检查你的网站元素安全

2021-11-08 15:17:18 浏览数 (1)

关于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

0 人点赞