当前位置:  开发笔记 > 编程语言 > 正文

Web应用程序攻击并且必须具有防御方法

如何解决《Web应用程序攻击并且必须具有防御方法》经验,为你挑选了1个好方法。

XSS,Sql注入,拒绝服务等常见Web攻击有什么必要的防御方法?

编辑:我根据维基百科的描述收集了您的回复.我添加了一些额外的问题以获得完整的参考.

Sql注入

SQL注入是一种代码注入技术,它利用应用程序数据库层中发生的安全漏洞.当用户输入被错误地过滤为嵌入在SQL语句中的字符串文字转义字符或用户输入没有强类型并因此意外执行时,存在漏洞.它是一种更普遍的漏洞类型的实例,只要一种编程或脚本语言嵌入另一种内部,就会发生这种漏洞.

不要相信用户输入并尽早验证它.

不要从原始用户输入构建SQL - 而是使用参数.

跨站点脚本(XSS)

跨站点脚本是一种通常在Web应用程序中发现的计算机安全漏洞,它允许恶意Web用户将代码注入其他用户查看的Web页面.此类代码的示例包括HTML代码和客户端脚本.攻击者可以使用利用漏洞利用的跨站点脚本漏洞来绕过访问控制,例如相同的源策略.

切勿逐字输出或执行用户提交的内容.

对所有输出进行HTML编码.

拒绝服务攻击

拒绝服务攻击(DoS攻击)或分布式拒绝服务攻击(DDoS攻击)是企图使其预期用户无法使用计算机资源.虽然DoS攻击的执行手段,动机和目标可能有所不同,但它通常包括一个或多个人的协同恶意努力,以防止Internet站点或服务有效或根本无法正常或无限期地运行.

我知道似乎不可能以编程方式避免拒绝服务攻击,但你怎么想?

蛮力攻击

在密码分析中,暴力攻击是一种通过系统地尝试大量可能性来破坏加密方案的方法; 例如,密钥空间中的大量可能密钥以便解密消息.在大多数方案中,人们认识到蛮力攻击的理论可能性,但它的建立方式使得执行它在计算上是不可行的.

只要有太多登录尝试出错,就锁定一个帐户.永远不允许无限次重试.

输入的密码错误时添加延迟.

一些额外的问题:

您如何看待尝试根据您的内容发布输入的网络机器人?例如,SO正在使用图像验证.

你对javascript eval函数有什么看法?

有没有办法访问服务器上没有暴露给外部的内容.例如,我有一个页面,将一些重要的记录插入到我的数据库中,只有我知道它的URL.有没有办法获得这种文件?我知道你可以为它设置一些安全规则.

(注意:目录列表已禁用,我托管此文件.)

谢谢你的回复!



1> Sardaukar..:

您的问题涵盖范围很广.我会试着给你一些指示.如果您更清楚地指出您的问题,我可以为您提供更具体的信息.

    永远不要相信用户输入.您的应用程序中可以从外部操作的所有内容都必须经过验证.

    切勿在数据库中以纯文本格式存储密码.仅存储哈希(使用salt).计算用户提供的密码的哈希值并比较哈希值.

    只要有太多登录尝试出错,就锁定一个帐户.永远不允许无限次重试.

    使用产品或框架时,请留在这些产品的邮件列表顶部并确定安全问题.当您的底层框架存在安全漏洞时,请准备好升级计划.

    使用数据库时,不允许每个人完全访问数据库(即使您使用存储过程限制对数据库的访问).如果有人只需要读取某些数据,请不要使用也可以修改数据的SQL帐户.

    关于你的问题:" 有没有办法访问服务器上没有暴露给外部的内容.例如,我有一个页面将一些重要的记录插入我的数据库,只有我知道它的网址.有没有办法得到这种文件?我知道你可以设置一些安全规则."
    您可能认为有人无法访问您的网页只是因为他们不知道网址.这是通过默默无闻的安全,并且永远不会长期运作.Google索引蜘蛛只会尝试遍历整个网站并为其可以访问的每个网页编制索引.如果您有包含敏感信息的页面,请添加身份验证和授权机制.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有