假设情况: 在我聘请一家网络开发公司之前,我想通过查看他们以前客户的网站来测试他们设计安全网络应用程序的能力。
问题: 这种情况引发了一个很大的危险信号:关于查看网站,什么是法律范围内的,什么不是法律范围内的?或者换句话说:在什么时候浏览网站是非法的?
- 使用 Firebug 查看源代码?这自然是合法的。
- 但是,如果我更改 HTML(例如提交前隐藏的表单值)怎么办?
- 也许我然后编辑或删除 JavaScript,就像客户端验证脚本一样。那会合法吗?
- 如果我将 %3Cscript%3Ealert(1)%3C/script%3E 放在 URL 的末尾会怎样。
- 或者我输入 URL:example.com/scripts/ 并且由于权限设置错误,我能够查看他们的目录?
- 如果我操纵 HTTP 标头中传递的数据,例如负的产品数量/价格,以查看它们是否进行服务器端验证(自然,我不会完成结帐)。
对我来说,所有这些似乎都是无害的,因为:
- 我不会通过发送垃圾邮件、使用 wget 镜像站点或注入具有潜在危险的 SQL 来给他们的服务器造成过大的压力。
- 我不会造成任何潜在的损失或金钱损失,因为我永远不会利用这些漏洞,只测试它们的存在(概念证明)。
- 我的任何行为都不会对用户数据隐私产生任何影响。我的任何行为都不会泄露任何人的机密或私人信息。
- 如果我确实发现了任何东西,我会立即通知网站管理员潜在的漏洞,以便他们修补它。
但即使我在逻辑上能够证明我测试网站的理由,但这并不一定使我的行为合法。事实上,网络法律在美国是出了名的倒退,即使是最可笑的微不足道的行为也可以被认为是黑客攻击。
问题: 是否有明确的界限将非法黑客行为与“未经许可的测试”区分开来?或者这整个场景是我应该避免的灰色区域(可能是这种情况)。是否有任何可链接的在线资源可以扩展我在这个完全灰色区域的知识?处理此问题的具体行为或法律是什么?
请记住,第一个最合乎逻辑的选择是简单地:请求权限。然而,由于时间紧迫,等到我得到许可时,一切都是徒劳的。