常见Web安全漏洞与防护手段

客户端漏洞

漏洞原因解决方法
XSS通过“HTML注入”篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器输出编码:如果是输出到事件或者脚本,则要再做一次javascriptEncode;如果是输出到HTML内容或者属性,则要做一次HtmlEncode。
CSRF攻击者通过技术手段欺骗用户的浏览器访问浏览器曾认证过的网站并运行特定操作,本质原因是重要操作的所有参数都是可以被攻击者猜测到的。在cookie中添加一个无法预测的token值。
点击劫持攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面HTTP头:X-Frame-Options设置浏览器允许跳转策略。

服务器端漏洞

漏洞原因解决方法
SQL注入把用户输入的数据当做代码执行。这里有两个关键条件,第一个是用户能够控制输入;第二个是原本程序要执行的代码,拼接了用户输入的数据。防御SQL注入的最佳方式,就是使用预编译语句,绑定变量。
XML注入同上用户输入数据中包含的“语言本身的保留字符”进行转义
代码注入代码注入与命令注入往往都是由一些不安全的函数或者方法引起的,其中的典型代表就是eval()。禁用eval()、system()等可以执行命令的函数。如果一定要使用这些函数,则需要对用户的输入数据进行处理。
CRLF注入CR是Carriage Return (ASCII 13, \r), LF是Line Feed(ASCII 10,\n)。\r\n表示换行,CRLF常被用做不同语义之间的分隔符。因此通过“注入CRLF字符”,就有可能改变原有的语义。处理好“\r”、“\n”这两个保留字符
文件上传用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。1.文件上传的目录设置为不可执行;2.白名单文件类型判断(MIME Type、后缀检查);3.随机数改写文件名和文件路径;4.单独设置文件服务器的域名。
认证安全认证错误导致安全直接失效;认证实际上就是一个验证凭证的过程。1.密码强度要求;2.密码散列算法加密存储;3.多因素认证;4.session随机化;5.强制session过期;6.单点登录、OpenID。
权限控制某个主体(subject)对某个客体(object)需要实施某种操作(operation),而系统对这种操作的限制就是权限控制。1.基于角色的访问控制RBAC、最小权限原则、默认拒绝策略;2.基于数据的访问控制;3.Oauth实现站点间授权;
DDoS利用“合理”的请求造成资源过载,导致服务不可用。1.限制频率;2.JS验证;3.验证码。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值