如何使用cspparse评估内容安全策略CSP的有效性

2022-08-04
283

关于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传送门

参考资料

https://github.com/Reconjson/Reconjson

转载时必须以链接形式注明原始出处及本声明