漏洞描述

风险描述

漏洞等级

修改建议

SQL注入:

没有对参数进行SQL过滤,且操作数据语句是拼接方式进行。

攻击者可以通过构造特殊URL的手段,利用SQL注入漏洞从数据库中获取敏感数据、修改数据库数据(插入/更新/删除) 、执行数据库管理操作(如关闭数据库管理系统),从而能导致数据丢失或数据破坏、缺乏可审计性或是拒绝服务。注入漏洞有时甚至能导致完全主机接管。

对用户输入的数据进行全面安全检查或过滤,尤其注意检查是否包含SQL特殊字符。这些检查或过滤必须在服务器端完成,必须注意大小写问题,建议过滤的常见危险字符如下:
--,#,//(注释符)
and
or
select
update
delete
drop
declare
insert
xp_shell
(,)括号
 ||,+, (空格) 连接符
 ' 单引号
|(竖线符号)
 & (& 符号)
;(分号)
$(美元符号)
%(百分比符号)
 @(at 符号)
'(单引号)
"(引号)
\'(反斜杠转义单引号)
\"(反斜杠转义引号)
<>(尖括号)
CR(回车符,ASCII 0x0d)
LF(换行,ASCII 0x0a)
,(逗号)
\(反斜杠)

跨站脚本:

系统只是在局部对部分危险进行了过滤,并没有进行全局过滤,且是使用replaceAll对危险字符进行过滤易被攻击者绕过。

攻击者可以通过构造URL注入JavaScript、VBScript、ActiveX、HTML或者Flash的手段,利用跨站脚本漏洞欺骗用户,收集Cookie等相关数据并冒充其他用户。通过精心构造的恶意代码,可以让访问者访问非法网站或下载恶意木马,如果再结合其他攻击手段(如社会工程学、提权等),甚至可以获取系统的管理权限。

对用户输入的数据进行全面安全检查或过滤,尤其注意检查是否包含HTML特殊字符。这些检查或过滤必须在服务器端完成,建议过滤的常见危险字符如下:
Ø |(竖线符号)
Ø & (& 符号)
Ø ;(分号)
Ø $(美元符号)
Ø %(百分比符号)
Ø @(at 符号)
Ø '(单引号)
Ø "(引号)
Ø \'(反斜杠转义单引号)
Ø \"(反斜杠转义引号)
Ø <>(尖括号)
Ø ()(括号)
Ø +(加号)
Ø CR(回车符,ASCII 0x0d)
Ø LF(换行,ASCII 0x0a)
Ø ,(逗号)
Ø \(反斜杠)
Ø Eval方法
Ø Document
Ø Cookie
Ø Javascript
Ø Script
Ø onerror

短信炸弹:

在调用短信发送功能的程序中未对发送次数和间隔时间进行限制,且手机号未前段直接传入,这是恶意用户可向任意手机号短时间内发生大量垃圾短信。

恶意用户可以在短时间内对某一用户手机号发送大量的短信,造成该手机号不能正常使用。

建议对短信的发送进行限制(比如时间间隔、发送次数等)。

暴力破解1:

系统在根据用户ID 和 旧密码 校验初始密码是否正确中,只在后台验证了用户ID和密码,没有检验验证码,且登录密码为弱密码,导致恶意用户可暴力破解用户密码。

恶意攻击者可以使用暴力破解的手段猜解任意用户密码,从而查看任意用户敏感信息,非法模拟正常用户登录系统进行操作。

1、建议从会话中获取用户ID,2、建议在服务端验证验证码,且保证验证不可重复利用。

暴力破解2:

系统在登录验证中,只在后台验证了用户名和密码,没有检验验证码,且登录密码为弱密码,导致恶意用户可暴力破解用户密码。

恶意攻击者可以使用暴力破解的手段猜解任意用户密码,从而查看任意用户敏感信息,非法模拟正常用户登录系统进行操作。

建议在登录后台验证验证码,且保证验证不可重复利用。

任意文件下载:

在下载程序中未对下载路径进行安全控制,导致攻击者可以下载FTP服务器上包括其他用户上传的任意文件。

攻击者可以查看和下载服务器上特定的文件,其中可能包含受限文件。

服务器端必须对文件名中的“../”字符进行过滤,避免路径跳转,对文件下载的路径要进行严格控制。

访问控制:

对于攻击者提交的查看“角色信息列表”模块请求,系统未在后台再次进行权限的验证。导致低权限用户也可以使用高权限用户才拥有的查看“角色信息列表”功能。

虽然系统已经做了基于角色的权限控制,一旦攻击者通过其他方式(社工、测试页面、已经被注释的url、使用一部包含了很多后台路径的字典扫描等),获得“权限管理”功能的url,攻击者就可以随意修改角色的权限,造成越权操作。

把需要保护的页面“隐藏”起来,并不是很好解决访问控制问题的办法。需要在后台对当前用户是否拥有该url的访问权限,进行再次验证。

用户枚举:

在用户登录的时候验证用户密码是否过期的操作中未做任何安全防护,将导致攻击者可以构造任意用户名传入服务端并根据系统返回的结果判断系统中是否存在该用户。

攻击者通过使用工具和字典的进行用户名枚举,在得到系统中存在的用户名之后执行进一步的攻击操作。

建议增加验证码验证,将生成的验证码保存在会话中,每次在后台使用完之后应清空该会话中保存的值,防止验证码被重复利用。

异常处理:

暴露异常信息详细错误

恶意用户可以利用系统异常收集web应用发布路径、数据库操作语句等敏感信息。

屏蔽暴露详细错误信息,如遇到未知错误信息可以将详细信息写入到错误日志中,只在客户端提示错误信息内容为时间,ID等不敏感信息。如“未知错误,2004-10-18 15:30 ,ID为”。

敏感信息泄露1:

数据库连接、帐号、密码

攻击者可以利用这些信息为进一步攻击系统提供帮助、登录系统,甚至直接控制数据库等服务器等操作。

将帐号、密码进行加密处理

敏感信息泄露2:

明文FTP服务器连接、帐号、密码

攻击者可以利用这些信息为进一步攻击系统提供帮助、登录系统,甚至直接控制服务器等操作。

将IP、帐号、密码进行加密处理

https漏洞1:

SSL 3.0 POODLE攻击信息泄露漏洞(CVE-2014-3566)

SSL3.0是已过时且不安全的协议,目前已被TLS 1.0,TLS 1.1,TLS 1.2替代,因为兼容性原因,大多数的TLS实现依然兼容SSL3.0。

为了通用性的考虑,目前多数浏览器版本都支持SSL3.0,TLS协议的握手阶段包含了版本协商步骤,一般来说,客户端和服务器端的最新的协议版本将会被使用。其在与服务器端的握手阶段进行版本协商的时,首先提供其所支持协议的最新版本,若该握手失败,则尝试以较旧的协议版本协商。能够实施中间人攻击的攻击者通过使受影响版本浏览器与服务器端使用较新协议的协商的连接失败,可以成功实现降级攻击,从而使得客户端与服务器端使用不安全的SSL3.0进行通信,此时,由于SSL 3.0使用的CBC块加密的实现存在漏洞,攻击者可以成功破解SSL连接的加密信息,比如获取用户cookie数据。这种攻击被称为POODL攻击(Padding Oracle On Downgraded Legacy Encryption)。

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 禁用SSL 3.0协议。

目前常用浏览器只有IE 6.0仍然不支持TLS 1.0,禁用SSL 3.0协议将影响IE 6客户的
SSL访问。

服务端禁用方法:

Apache 2.x:
在mod_ssl配置文件中使用如下命令禁用SSLv2和SSLv3:
SSLProtocol All -SSLv2 -SSLv3
重启Apache

Nginx:
在配置文件中使用:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
重启Nginx

IIS:
查找如下注册表项:
HKey_Local_Machine\System\CurrentControlSet\Control\SecurityProviders \SCHANNEL\Protocols
该注册表项通常包含以下子项:
* PCT 1.0
 * SSL 2.0
 * SSL 3.0
 * TLS 1.0
每个注册表项都保留适用于该项的协议相关信息。可以在服务器上禁用这些协议中的任一种。为此,
 请在协议SSL 3.0的服务器子项中创建一个新的DWORD值。将DWORD值设置为“00 00 00 00”。

https漏洞2:

SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)

SSL/TLS协议是一个被广泛使用的加密协议,Bar Mitzvah攻击实际上是利用了"不变性漏洞",这是RC4算法中的一个缺陷,它能够在某些情况下泄露SSL/TLS加密流量中的密文,从而将账户用户名密码,信用卡数据和其他敏感信息泄露给黑客。

临时解决方法:

SSL/TLS 
-------- 
1、禁止apache服务器使用RC4加密算法 
vi /etc/httpd/conf.d/ssl.conf 
修改为如下配置 
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!RC4 
重启apache服务 
2、关于nginx加密算法 
1.0.5及以后版本,默认SSL密码算法是HIGH:!aNULL:!MD5 
0.7.65、0.8.20及以后版本,默认SSL密码算法是HIGH:!ADH:!MD5 
0.8.19版本,默认SSL密码算法是 ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM 
0.7.64、0.8.18及以前版本,默认SSL密码算法是ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP 
低版本的nginx或没注释的可以直接修改域名下ssl相关配置为 
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES 
256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GC 
M-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; 
ssl_prefer_server_ciphers on; 
需要nginx重新加载服务

3、关于lighttpd加密算法 
在配置文件lighttpd.conf中禁用RC4算法,例如: 
ssl.cipher-list = "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"

重启lighttpd 服务。

4、tomcat参考: 
https://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html 
https://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html

5、浏览器手工屏蔽方案 
Windows 用户: 
1)完全关闭 Chrome 浏览器和Mozilla Firefox浏览器 
2)复制一个平时打开 Chrome 浏览器(Mozilla Firefox浏览器)的快捷方式 
3)在新的快捷方式上右键点击,进入属性 
4)在「目标」后面的空格中字段的末尾输入以下命令 --cipher-suite-blacklist=0x0004,0x0005,0xc011,0xc007

Mac OS X 用户: 
1)完全关闭 Chrome 浏览器 
2)找到本机自带的终端(Terminal) 
3)输入以下命令:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --cipher-suite-blacklist=0x0004,0x0005,0xc011,0xc007

Linux 用户: 
1)完全关闭 Chrome 浏览器 
2)在终端中输入以下命令:google-chrome --cipher-suite-blacklist=0x0004,0x0005,0xc011,0xc007

https漏洞3:

SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱(CVE-2015-4000)

Chrome访问不安全的https链接时,Chrome为保护用户隐私会禁止用户访问这类不安全链接。 提示:服务器的瞬时 Diffie-Hellman 公共密钥过弱 一是通过修改服务器配置,增加加密的安全级别。比如,tomcat配置: ciphers

Chrome访问不安全的https链接时,Chrome为保护用户隐私会禁止用户访问这类不安全链接。

提示:服务器的瞬时 Diffie-Hellman 公共密钥过弱

一是通过修改服务器配置,增加加密的安全级别。比如,tomcat配置:

ciphers=”TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA” 提高tomcat加密的级别

Struts2漏洞: S2-045漏洞攻击(在Content-type: 中插入非法字符串来远程执行命令并尝试执行该脚本,执行完成后删除)

黑客通过Struts2的S2-045漏洞,远程向问题服务器执行恶意代码,导致服务器主动下载脚本并成为肉鸡实施SYN Flood攻击,导致互联网访问出现严重性能下降

升级

OWASP TOP 10 1相关推荐

  1. OWASP Top 10 – 2013, 最新十大安全隐患(ASP.NET解决方法)

    OWASP(开放Web软体安全项目- Open Web Application Security Project)是一个开放社群.非营利性组织,目前全球有130个分会近万名会员,其主要目标是研议协助解 ...

  2. decimal转为string sql_SQL注入详解|OWASP Top 10安全风险实践(二)

    本文为一些列连载文章之一,不定期更新,计划目录如下: OWASP介绍 SQL注入 命令注入 XML外部实体注入 XPATH注入 反射式.DOM及存储XSS 失效的身份认证和会话管理 不安全的直接对象引 ...

  3. ASP.NET Core中的OWASP Top 10 十大风险-跨站点脚本攻击 (XSS)

    本博文翻译自: https://dotnetcoretutorials.com/2017/10/25/owasp-top-10-asp-net-core-cross-site-scripting-xs ...

  4. ASP.NET Core中的OWASP Top 10 十大风险-失效的访问控制与Session管理

    本博文翻译自: https://dotnetcoretutorials.com/2017/10/16/owasp-top-10-asp-net-core-broken-authentication-s ...

  5. 2021 OWASP Top 10 榜单(初稿)发布,头牌易主

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 OWASP Top 10 榜单列出的是最危险的 web 漏洞,时隔四年且十多年以来,该榜单霸主易主. OWASP Top 10 榜单创建于21世 ...

  6. OWASP TOP 10 2017中文译文

    说明:owasp top 10其实有中文官方版本:本文是按着英文版进行翻译而成. 官方中文版:http://www.owasp.org.cn/owasp-project/OWASPTop102017v ...

  7. 【OWASP Top 10】2021版

    [OWASP Top 10]2021版 A01:失效的访问控制(Broken Access Control) 失效的访问控制(Broken Access Control)从第五位上升到了第一位.94% ...

  8. CoBOT Java安全漏洞检测类型与OWASP TOP 10对应关系

    OWASP(Open Web Application Security Project)开放式web应用程序安全项目,是一个非营利性组织,不依附于任何企业或财团的安全组织,几乎每隔3年发布的OWASP ...

  9. 安全服务/渗透测试工程师_面试题之OWASP TOP 10

    欢迎关注我的微信公众号:安全攻防渗透 信息安全领域原创公号,专注信安领域人才培养和知识分享,致力于帮助叁年以下信安从业者的学习和成长. 思考了很长时间,最近一直在准备安全服务工程师的面试题,说到底还是 ...

  10. OWASP Top 10 安全漏洞详解

    OWASP或Open Web Security Project是一家非营利性慈善组织,致力于提高软件和Web应用程序的安全性. 该组织根据来自各种安全组织的数据发布顶级Web安全漏洞列表. 根据可利用 ...

最新文章

  1. Java学习总结:21
  2. 在用苹果Mac OS X操作系统吗?那你得小心了……
  3. android之Fragment(官网资料翻译)二
  4. Linux基础笔记1
  5. java创新_Java没有创新了吗?Java 13提供可提高生产率和效率的功能
  6. WeeklyBlogging_20100726
  7. python学习模型_python学习笔记(IO模型)
  8. Java 控制 Windows 系统音量
  9. 飞凌单片机解密_IC芯片解密方法与原理解析
  10. python词云图的制作(用户评论分析)
  11. 计算机网络发展的第四阶段特点,计算机网络的发展可分为哪几个阶段?每个阶段各有什么特点?...
  12. 微分几何与斯托克定理
  13. What is CRA?
  14. oracle gbk 转码,oracle编码格式从utf-8转换为GBK
  15. 前端 vue 解决按1920*1080设计图做的页面适配屏幕缩放并适配4K屏
  16. sb3500_您的代码如何在3500万人的家庭中成为社会公益的代言人
  17. 禁止win7系统flash插件自动更新教程【系统天地】
  18. Word 给论文加不带编号的脚注并保证分栏的正文内容不受影响,以及在word中如何分栏和分节?
  19. java实训心得感想30字_java实训心得体会范文
  20. win10计算机删除用户密码,win10系统彻底清除电脑上存储的用户名和密码的步骤...

热门文章

  1. 算法—实现排列 A(n,m)
  2. 《MySQL tips:隐式类型转换与隐式字符编码转换对查询效率的影响》
  3. 网络名称 转换 网络地址_网络地址转换| 计算机网络
  4. Java Throwable setStackTrace()方法与示例
  5. 四、规则组织的衍生组织——经向破斜组织数学模型的建立
  6. 处理文件、摄像头和图形用户界面
  7. 用pv操作描述如下前驱图_LinkedList实现分析(二)——常用操作
  8. source insight使用教程
  9. 有一个小白程序员,写了一个只能对5个数字进行排序的函数,现在有25个不重复的数字,
  10. Qt自定义对话框中边框阴影实现