zgrab2是非常优秀的开源项目,可以对很多协议进行抓取,包括HTTP,但使用过程中遇到的小问题,如下记录下来
zgrab2 获得原始HTTP返回头
查看zgrab2的返回结果,会将HTTP返回头的key全部进行小写,同时将-修改为- ,比如将X-Powered-By 修改为 x_powered_by,这对于后期需要根据返回头进行判断的场景下,存在干扰
具体实现在
zgrab2-master\lib\http\header.go
func FormatHeaderName(s string) string {
return strings.Replace(strings.ToLower(s), "-", "_", 30)
}
需要将
return strings.Replace(strings.ToLower(s), "-", "_", 30)
修改为
return s
这样将返回头信息,保存到 Unknown 结果中,如下返回结果所示:
{"domain":"ip-api.com/json/111.47.226.119","data":{"http":{"status":"success","protocol":"http","result":{"response":{"status_line":"200 OK","status_code":200,"protocol":{"name":"HTTP/1.1","major":1,"minor":1},"headers":{"Unknown":[{"key":"Access-Control-Allow-Origin","value":["*"]},{"key":"X-Ttl","value":["60"]},{"key":"X-Rl","value":["44"]},{"key":"Date","value":["Mon, 13 Dec 2021 10:52:10