在编写nuclei模板插件时,我们常常面临处理返回包过大的情况,例如涉及敏感信息泄露或下载压缩包等poc验证。在这种情况下,我们通常不建议直接下载,考虑到以下几点因素:
1.为避免占用对方服务器资源,如io、带宽、cpu等。
2.防止数据包过大导致误报率升高.
3.遵循中华人民共和国刑法第二百五十三条,最高人民法院、最高人民检察院关于侵犯公民个人信息刑事案件适用法律若干问题的解释第五条、第三点,尤其是关于非法获取、出售或提供行踪轨迹信息、通信内容、征信信息、财产信息五十条以上的规定。
中华人民共和国刑法(二百五十三)
https://www.yudu.gov.cn/ydxxxgk/c100264s/202204/49a0de0e85524ceda2ccd6c9a1394bdf.shtml
中华人民共和国最高人民法院中华人民共和国最高人民检察院
https://flk.npc.gov.cn/detail2.html?NDAyODgxZTQ1ZmZiYmU0MTAxNWZmYmZjMTExYTAzNTA
有经验的安全人员在处理敏感信息泄露等大数据量漏洞验证的情况时,可能会采取以下操作:
1. 对于携带分页参数的情况,可以通过添加size=1、page=1等参数限制返回数量。
2. 利用http协议的Range头来控制返回数据包的大小(并非所有情况都支持)。
3. 使用head替代post或get方法,可能存在误报的风险。
除了上述常见的方法,nuclei还提供了一种方案,即通过模板关键字max-size来限制返回数据包的大小,从而实现对返回包大小的优雅控制。
值得注意的是,若使用max-size关键字,需要避免在请求header中携带Accept-Encoding: gzip。携带此头部可能导致返回乱码情况,因为完整数据流未加载完全,无法还原gzip压缩算法。
马赛克安全实验室专注于:漏洞复现、渗透测试、nday、0day、网络安全、红蓝对抗,持续输出安全相关漏洞情报、漏洞复现相关漏洞验证脚本及工具。