OWASP TOP10(2017年)

本文详细介绍了OWASP TOP10(2017年)中的安全问题,包括SQL注入、失效的身份认证和会话管理、跨站脚本攻击(XSS)、不安全的对象直接引用、伪造跨站请求(CSRF)、安全错误配置、限制URL访问失败、未验证的重定向和转发,以及应用已知脆弱性的组件和敏感数据暴露。提出了各种防护措施,如输入验证、使用加密、限制会话寿命、避免敏感信息暴露等,以提高Web应用的安全性。
摘要由CSDN通过智能技术生成

13    OWASP TOP10(2017年)
注:OWASP是世界上最知名的Web安全与数据库安全研究组织
参考文档:
https://blog.csdn.net/lifetragedy/article/details/52573897
http://www.sohu.com/a/139968130_669829


13.1    SQL注入
通过sql语句,插入到web表单提交或输入域名或页面请求的查询字符串,达到欺骗服务器执行恶意sql语句的目的。
(网站,数据库代码的不严谨性,从而出现漏洞,被攻击者利用,进行表单提交,从而获取对应的信息或者获取对应的权限。)
13.1.1    防护
1、    不要相信用户的输入,对用户输入要校验以及有长度限制,对对应的符号进行转换。
2、    不要使用管理员账号链接数据库,为不同的应用创建单独的权限。
3、    不要使用动态拼装sql语句
4、    不要直接存放机密信息,要进行相应的加密。
5、    应用返回的错误信息不要太详细。
6、    使用对应的检测工具进行sql注入攻击检查,如jsky


13.2    失效的身份认证和会话管理
(本该失效的身份认证却没有失效,从而被恶意攻击者利用)
13.2.1    参考文档:
https://blog.csdn.net/quiet_girl/article/details/50585934
身份认证:更多时候体现在用户登陆需要账号、密码,为了防止穷举法,添加验证码,或者证书,或者类似网银U盾支付确认的物理认证。
会话管理,HTTP本身是无状态的,利用会话管理机制来实现连接识别。身份认证的结果往往是获得一个令牌,通常放在cookie中,之后对用户身份的识别根据这个授权的令牌进行识别,而不需要每次都要登陆。
13.2.2    一些存在此漏洞的例子:
1、用户更改密码之前不验证用户,而是依靠会话的IP地址;
2、没有会话超时限制;
3、用户忘记密码后,密码找回功能太过简单。
4、。。。
例1:应用程序超时设置不当。用户使用公共计算机访问网站。离开时,该用户没有点击退出,而是直接关闭浏览器。攻击者在一个小时后能使用相同浏览器通过身份认证。
例2:机票预订应用程序支持URL重写,把会话ID放在URL里:http://example.com/sale/saleitems;jsessionid=2P0OC2JDPXM0OQSNDLPSKHCJUN2JV?dest=Hawaii
该网站一个经过认证的用户希望让他朋友知道这个机票打折信息。他将上面链接通过邮件发给他朋友们,并不知道自己已经泄漏了自己的会话ID。当他的朋友们使用上面的链接时,他们将会使用他的会话和信用卡。
例3:内部或外部攻击者进入系统的密码数据库. 存储在数据库中的用户密码没有被加密, 所有用户的密码都被攻击者获得。
13.2.3    如何验证程序是否存在失效的认证和会话管理?
最需要要保护的数据是认证凭证(credentials) 和会话ID。
1.当存储认证凭证时,是否总是使用hashing或加密保护吗?
2. 认证凭证是否可猜测,或者能够通过薄弱的的帐户管理功能
(例如账户创建、密码修改、密码恢复, 弱会话ID)重写?
3.会话ID是否暴露在URL里(例如, URL重写) ?
4.会话ID是否容易受到会话固定(session fixation) 的攻击?
5.会话ID会超时吗? 用户能退出吗?
6.成功注册后,会话ID会轮转吗?
7. 密码、会话ID和其他认证凭据是否只通过TLS连接传输?
13.2.4     如何防范:
1、区分公共区域和受限区域
站点的公共区域允许任何用户进行匿名访问。受限区域只能接受特定用户的访问,而且用户必须通过站点的身份验证。考虑一个典型的零售网站。您可以匿名浏览产品分类。当您向购物车中添加物品时,应用程序将使用会话标识符验证您的身份。最后,当您下订单时,即可执行安全的交易。这需要您进行登录,以便通过SSL 验证交易。
将站点分割为公共访问区域和受限访问区域,可以在该站点的不同区域使用不同的身份验证和授权规则,从而限制对 SSL 的使用。使用SSL 会导致性能下降,为了避免不必要的系统开销,在设计站点时,应该在要求验证访问的区域限制使用 SSL。
2、对最终用户帐户使用帐户锁定策略
当最终用户帐户几次登录尝试失败后,可以禁用该帐户或将事件写入日志。如果使用 Windows 验证(如 NTLM 或Kerberos协议),操作系统可以自动配置并应用这些策略。如果使用表单验证,则这些策略是应用程序应该完成的任务,必须在设计阶段将这些策略合并到应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值