如何使用cspparse评估内容安全策略CSP的有效性
关于cspparse
cspparse是一款针对内容安全策略的升级工具,在该工具的帮助下,广大研究人员可以针对自己所实施的内容安全策略CSP进行安全审计和评估。
该工具使用了Google的API来获取CSP Header,并将获取到的信息以Reconjson格式返回给研究人员。除此之外,该工具还能够解析目标站点的HTML,并检索HTML代码中标签包含的内容安全策略CSP规则。
Reconjson
Reconjson是一种基于Recon数据标准的json格式" target="_blank">json格式,Reconjson这种数据格式可以有效地存储关于目标主机的相关信息。Reconjson标准文件后缀名为.json,其内部数据结构如下所示:
[ {"type":"Host"}, {"type":"Host"}, {"type":"Host"}, {"type":"Host"} ]
Reconjson标准定义的数据类型如下:
Host:Host对象用于描述指定主机的相关信息;
DNS:DNS对象用于描述指定主机的DNS配置;
Service:Service对象用于描述一个在目标端口运行的指定程序;
ServiceDescriptor:ServiceDescriptor对象用于描述Service对象的一个指定属性或配置;
工具安装
该工具基于Go语言开发,因此广大研究人员首先需要在本地设备上安装并配置好Go环境。
接下来,我们就可以使用go get命令来下载和安装cspparse了:
~ ❯ go get -u github.com/lc/cspparse
cspparse命令将会被安装到“$GOPATH/bin”路径下,我们可以在“$GOPATH/src/github.com/lc/cspparse”路径下找到cspparse的源码。
除此之外,我们还可以通过源码进行手动安装和项目构建:
~ ❯ git clone https://github.com/lc/cspparse ~ ❯ cd cspparse ~ ❯ go build
工具使用
~ ❯ cspparse
演示样例
~ ❯ cspparse https://www.facebook.com
Docker使用
~ > docker build -t cspparse .
Docker下运行
~ > docker run --rm -t cspparse
项目地址
cspparse:【GitHub传送门】
参考资料
扫描关注公众号