1.注入 - Injection
2.跨站脚本 - (XSS)
3.失效的验证和和会话管理
4.不安全的直接对象访问
5.跨站请求伪造 - (CSRF)
6.不正确的安全设置
7.不安全的加密存储
8.URL访问限制缺失
9.没有足够的传输层防护
10.未验证的重定向和跳转
一、注入-Injection
1、虽然还有其他类型的注入攻击,但绝大多数情况下,问题设计的都是SQL注入
2、攻击者通过发送SQL操作语句,达到获取信息、篡改数据库、控制服务器等目的。是目前费长流行的WEB攻击手段
3、流行性:常见;危害性:严重
主要防范措施:
1.严格检查用户输入,注意特殊字符: " " ’ ’ "’ "’ ; – "’ | | "’ "xp_"等
2.转义用户输入内容
3.拒绝已经经过转义的输入
4.使用参数化的查询
5.使用SQL存储过程
6.最小化SQL权限(禁用SA账号)
7.防止错误页面信息泄露
二、跨站脚本 - XSS
1.影响面最广的Web安全漏洞
2.攻击者通过向URL或其他提交内容插入脚本,来实现客户端脚本执行的目的
3.可分为三种类型:反射、存储和DOM
流行性:极为广泛 危害性中等
主要防范措施:
1.严格检查用户输入
2.尽量限制在HTML代码中插入不可信的内容(可被用户输入或修改的内容)
3.对于需要插入的不可信内容必须先进行转义(尤其对特殊字符、语法符合必须转义或重新编码)
4.将Cookie设置为HttpOnly,防止被脚本获取
三、失效的验证和会话管理
主要防范措施
1.用户密码强度(普通:6个字符以上;重要:8个字符以上;极其重要:使用多种验证方式)
2.不使用简单或可预期的密码恢复问题
3.登录出错时不要给出过多提示
4.登录页面需要加密
5.对多次登录失败的账号进行短时锁定
6.验证成功后更换Session ID
7.使用128位以上有足够随机性的Session ID
8.设置会话闲置超时(可选会话绝对超时)
9.保护Cookie(Secure Flag /HTTPOnly flag)
9.不在URL中显示Session ID
四、不安全的直接对象访问
1.服务器上具体文件名、路径或数据库关键字等内部资源被暴露在URL或网页中,攻击者可以此来尝试直接访问其他资源
2.所有Web应用都会受此问题影响
流行性:常见;危害性:中等
主要防范措施:
1.避免在URL或网页中直接引用内部文件名或数据库关键字
2.可以使用自定义的映射名称来取代直接对象名
http://example.com/online/getnews.asp?item=11
3.锁定网站服务器上的所有目录和文件夹,设置访问权限
4.验证用户输入的URL请求,拒绝包含./或.//的请求
五、跨站请求伪造(CRF)
1.攻击者构造恶意URL请求,然后诱骗合法用户访问此URL链接,以达到在Web应用中以此用户权限执行特定操作的目的
2.和反射型XSS的主要区别是:反射型XSS的目的是在客户端执行脚本;CSRF的目的是在WEB应用中执行操作
流行性:广泛 ;危害性:中等
主要防范措施:
1.避免在URL中明文显示特定操作的参数内容
2.使用同步令牌(Synchronizer Token),检查客户端请求是否包含令牌及其有效性
3.检查Referer Header,拒绝来自非本网站的直接URL请求
六、不正确的安全设置
1.管理员在服务器安全配置上的疏忽,通常会导致攻击者非法获取信息、篡改内容,升值控制整个系统
流行性:常见;危害性;中等
主要防范措施:
1.安装最新版本的软件及补丁
2.最小化安装(只安装需要的组件)
3.Web文件/SQL数据库文件不存放在系统盘上
4.不在Web/SQL服务器上运行其他服务
5.严格检查所有与验证和权限有关的设定
6.权限最小化
7.不使用默认路径和预设账号
8.按照微软的最佳安全实践进行加固
七、不安全的加密存储
1.对重要信息不进行加密处理或加密强度不够,或者没有安全的存储加密信息,都会导致攻击者获得这些信息
2.此风险还涉及Web应用意外的安全管理
流行性:不常见 ;危害性:严重
造成的原因:
1.对于重要的信息,比如银行卡号、密码等,直接以明文写入数据库
2.使用自己编写的加密算法进行简单加密
3.使用MD5,SHA-1等低强度的算法
4.将加密信息和密钥存放在一起
对称加密:对称加密是最早和著名的技术。机密钥匙可以是数字,一词或者随机子午的字符串,只需,应用与以特定方式更改内容的消息的文本,这可能是简单,只需通过的多个字母表中的位置偏移每个字母。只要发件人和收件人知到机密密钥,他们可以进行加密和解密使用此注册表项的所有邮件
非堆对称加密:机密密钥问题通过Internet或大型网络他们交换时防止他们位于错误手中。知到密钥的人可以解密该邮件。一种回答是在其中有两个相关的项--密钥对的非堆成加密。公司密钥可自由地向您发送一条消息,可能需要的任何人。第二个专用的密钥是保持机密,以便只知道它。通过使用公钥加密所有邮件(文本、二进制的文件或文档)只能进行解密,通过应用相同的算法,但通过使用匹配的私钥。只能通过使用匹配的公钥解密任何使用私钥加密的邮件。这意味着您不必担心会通过Internet传递公共密钥(密钥应该是公共的)。不对成的加密问题但是,是它比对称加密慢,他要求更多的处理能力来加密和解密消息的内容。
主要防范措施:
1.对所有重要信息进行加密
2.仅使用足够强度的加密算法,比如AES,RSA
3.存储密码时,用SHA-256等健壮哈希算法进行处理
4.产生的密钥不能与加密信息一起存放
5.严格种植对加密存储的访问
八、URL访问限制缺失
某些Web应用包含一些“隐藏”的URL,这些URL不显示在网页链接中,但管理员可以直接输入URL访问到这些“隐藏“的页面如果我们不对这些URL做到访问限制,攻击者仍然有机会打开他们
主要防范措施:
1.对于网站内的所有内容(不论公开的还是未公开的)都要进行访问控制检查
2.只允许用户访问特定的文件类型,比如.html,.asp,.php等,进制对其他文件类型的访问
3.进行渗透测试
九、没有足够的传输层防护
攻击者可以尝试抓取客户端与Web服务器的网络包,来获取用户凭据、SessionID等重要信息
主要的防范措施:
1.对所有验证页面都是用SSL或TLS加密
2.对所有敏感信息的传输都使用SSL/TLS加密
3.在网页中不要混杂HTTP和HTTPs加密
4.对Cookie使用Secure标签
5.保证服务器证书的有效性/合法性
6.只允许SSL 3.0或TLS 1.0 以上的版本协议
7.有需要的情况下,要求客户端证书
十、未验证的重定向和跳转
攻击者可能利用未验证的重定向目标来实现钓鱼欺骗,诱骗用户访问恶意站点
攻击者可能利用未验证的跳转目标来绕过网站的访问控制检查
文章来源:https://www.toymoban.com/news/detail-488479.html
主要防范措施:
1.尽量不用重定向和跳转
2.对重定向或跳转的参数内容进行检查,拒绝站外地址或特定站内页面
3.不在URL中显示目标地址,以映射的代码表示
http://example.com/redirect.asp?=234文章来源地址https://www.toymoban.com/news/detail-488479.html
到了这里,关于OWASP TOP 10漏洞分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!