2011-03-27 85 views
0

我不知道如何让我的网站防不胜防。我有投入,人们可以输入在网站上发布的信息。我应该过滤什么以及如何?黑客攻击该网站?

我不应该允许脚本标记吗? (问题是,他们将如何将YouTube嵌入代码放在网站上?)

iFrame? (人们可以在iFrames中放置不适当的网站...)

请让我知道一些方法,我可以防止问题。

回答

5

首先,通过严格的XML解析器运行用户的输入。
拒绝任何无效标记。

您应该使用HTML标记和属性的白名单(在解析的XML中)。

不允许<script>标记, s或style属性。

运行所有的URL(hrefsrc属性)通过URI解析器(例如,NET的Uri类),并确保该协议是httphttps,或也许mailto。再次,拒绝任何无效的URL。

如果您希望允许嵌入YouTube,请添加自己的<youtube>标签,将URL或视频ID作为参数(内容或属性),并将其转换为服务器上的脚本(验证参数后)。


完成之后,请确保你在this giant list封锁一切。

3

没有黑客证明这样的事情。你想尽一切可能来减少被黑客攻击的可能性。最明显的弱点是防止xss (cross site scripting) hackssql injection攻击。有两种避免这两种情况的简单方法,最值得注意的是使用本能地寻求防御它们的新技术(默认编码的文本输出,执行前的查询转换)等。

如果您需要超越这些级别,有一些自动化(大多数模糊数字,你可以给你的销售人员后,他们都是“好”)的服务,将“测试”您的系统,以核心分析师将挑选你的系统进行各种审计。

除了上面提到的基础知识(xss & sql注入),您应该尝试并获得的安全级别将取决于您的市场。

2

您可以检查渗透测试框架,如ISAAF。它给你一个检查清单和方法来测试应用程序的重要安全方面。

3

没有明确提到这一点,还使用了模糊器(http://en.wikipedia.org/wiki/Fuzz_testing)。

它基本上将随机垃圾(不同字符和长度的字符串)推入输入字段;它用于工业实践BC它发现了很多错误(即溢出)。

http://www.fuzzing.org/有一个伟大的fuzzers列表供您尝试。