你可以在网上找到网络应用威胁的名单。有的是全面无偏见,有的是我认为最重要的威胁,
有的是告诉你什么是最常见的威胁,还可以找到各种各样的列表。所有这些列表的问题都是他
们的作者不了解你的应用程序。例如,SQL注入攻击只有在应用程序使用SQL时才能成功,但
你的应用程序可能不采用这种方法。显然,你需要知道在哪些场景下应该检查什么,这些列表
确实是一个好的起点。但是,有必要根据自己的应用程序考虑这些列表的内容。另外,不要只
依赖一份清单,尽量多参考,这样可以更好地认识到可能的威胁。有了这样的需求,下面列出
了目前最常见的网站应用威胁。
缓冲区溢出。攻击者试图将足够多的数据发送到输入缓冲区,使应用程序和输出缓冲区溢出,
缓冲区外的内存数据受损。一些形式的缓冲区溢出可以使攻击者执行看起来不可能完成的任务
,因为受影响的内存保存了可执行的代码。解决这类难题最好是的方法是对应用程序处理的全
部数据开展界限和尺寸检验,无论是输入還是输出。
缓冲区外的内存数据受损。一些形式的缓冲区溢出可以使攻击者执行看起来不可能完成的任务
,因为受影响的内存保存了可执行的代码。解决这类难题最好是的方法是对应用程序处理的全
部数据开展界限和尺寸检验,无论是输入還是输出。
代码注入。
一个实体以中介攻击(man-in-the-midle-attack)的形式将代码添加到服务器和客户端(浏览器等)
之间的数据流中。被攻击者经常把这个注入代码视为原始页面的一部分,但可能包含任何东西
。当然,被攻击者甚至看不到这些注入的代码。它可能潜伏在后台,随时准备为应用制造各种
问题。解决这个攻击的好方法之一是使用加密的数据流、HTTPS协议和代码验证。提供客户反
馈机制也是个好主意。代码注入往往比你想象的要频繁。在某些情况下,代码注入可能不是攻
击的一部分。最近,一篇文章讨论了网络服务提供商如何将JavaScript代码注入数据库,从而
将悬浮广告放在页面上。为了决定投放哪种广告,ISP还监视数据传输。
之间的数据流中。被攻击者经常把这个注入代码视为原始页面的一部分,但可能包含任何东西
。当然,被攻击者甚至看不到这些注入的代码。它可能潜伏在后台,随时准备为应用制造各种
问题。解决这个攻击的好方法之一是使用加密的数据流、HTTPS协议和代码验证。提供客户反
馈机制也是个好主意。代码注入往往比你想象的要频繁。在某些情况下,代码注入可能不是攻
击的一部分。最近,一篇文章讨论了网络服务提供商如何将JavaScript代码注入数据库,从而
将悬浮广告放在页面上。为了决定投放哪种广告,ISP还监视数据传输。
跨站脚本(XSS跨站攻击)攻击者将JavaScript脚本或其他可执行代码注入APP输出到页面中。接
收者将你的应用程序视为感染源,但事实并非如此。大多数情况下,用户不应该通过你的应用
程序直接将数据发送给其他用户。对于博客这样的应用程序来说,有必要采用审查机制,确保
你的应用程序最终不会成为病毒的宿主,或者更糟糕的情况。很少有专家提醒你检查输出数据
。但是,不能正确知道自己的应用程序是否可靠。黑客可能会破解应用程序,污染输出数据。
验证检查应涵盖输入数据和输出数据。
收者将你的应用程序视为感染源,但事实并非如此。大多数情况下,用户不应该通过你的应用
程序直接将数据发送给其他用户。对于博客这样的应用程序来说,有必要采用审查机制,确保
你的应用程序最终不会成为病毒的宿主,或者更糟糕的情况。很少有专家提醒你检查输出数据
。但是,不能正确知道自己的应用程序是否可靠。黑客可能会破解应用程序,污染输出数据。
验证检查应涵盖输入数据和输出数据。
文件上传。即使看起来无害,每次上传文件也应该被认为是可疑的。黑客有时会利用服务器的
文件上传功能上传后门程序,这些文件包危险的东西。如果可能,应禁止上传服务器的文件。
当然,我们通常不能提供这个水平的安全性,所以需要限制允许上传的文件类型,扫描这些文
件,检查是否有问题。尽量验证文件始终是个好主意。例如,有些文件在头部包含签名信息,
可以判断该文件的合法性。不要单纯依赖档案扩展名进行排除,黑客往往会将一个档案伪装成
另一种类型,绕过服务器的安全验证。
文件上传功能上传后门程序,这些文件包危险的东西。如果可能,应禁止上传服务器的文件。
当然,我们通常不能提供这个水平的安全性,所以需要限制允许上传的文件类型,扫描这些文
件,检查是否有问题。尽量验证文件始终是个好主意。例如,有些文件在头部包含签名信息,
可以判断该文件的合法性。不要单纯依赖档案扩展名进行排除,黑客往往会将一个档案伪装成
另一种类型,绕过服务器的安全验证。