强讯科技CallThink呼叫中心系统在网络安方面进行升级,包括SQL注入、暴力破解、回话固定等等漏洞。
强讯公司从创始之初就以软件开发为主,从早期的CS产品,现在的BS产品,在不断应用新技术,开发新功能的同时,我们也遇到了很多网络安全问题。最初的处理方就是更新系统补丁,避免病毒通过系统漏洞感染计算机;设置强壮管理员登录密码;及时更新杀毒软件,并定期的进行全盘杀毒等方式提高系统的安全性。
随着互联网的普及,隐私泄露、信息被盗、恶意代码注入、数据库被攻击等各种网络攻击的方式日渐增多,目前的大环境是企业对自身的网络安全的重视程度在不断提高,市场上出现了很多网络安全检测软件,如绿盟软件等,辅助企业提高网络安全性。
强讯的产品在经受网络安全检测过程中,发现了很多问题。目前的BS架构系统,被检测出包括SQL注入、暴力破解、跨网站攻击、回话固定等漏洞。同时,我们的产品都是基于Windows操作系统的,那么Windows系统本身的漏洞也为我们的软件产品安全带来威胁。我们在解决这些问题的过程中,也逐步积累了一些方法,下面我们简单描述一下网络攻击方式:
1、SQL注入
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
2、XSS跨站攻击:
(Cross Site Script为了区别于CSS简称为XSS) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。
3、会话固定
Session fixation attack(会话固定攻击)是利用服务器的session不变机制,借他人之手获得认证和授权,然后冒充他人。这种攻击方式的核心要点就是让合法用户使用攻击者预先设定的session ID来访问被攻击的应用程序,一旦用户的会话ID被成功固定,攻击者就可以通过此session id来冒充用户访问应用程序(只要该session id还是有效的,也就是没有被系统重新生成或者销毁)。 通过这种方式,攻击者就不需要捕获用户的Session id(该种方式难度相对稍大)。
4、暴力破解
暴力破解一般指穷举法,穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况验证符合题目的全部条件,则为本问题的一个解;若全部情况验证后都不符合题目的全部条件,则本题无解。穷举法也称为枚举法。
系统登录时如果未采取图形验证码等有效的安全措施,或者验证码不刷新,恶意攻击者可以采用字典方式进行多次登录尝试,从而威胁用户的帐号安全。
5、TRACE Method Enabled漏洞
TRACE方法是HTTP(超文本传输)协议定义的一种协议调试方法,该方法使得服务器原样返回任何客户端请求的内容(可能会附加路由中间的代理服务器的信息),由于该方法原样返回客户端提交的任意数据,因此,可用来进行跨站脚本(XSS)攻击,这种攻击方式又称为跨站跟踪攻击(XST)。
6、启用TRACE方法存在如下风险
A、 恶意攻击者可以通过TRACE方法返回的信息了解到网站前端的某些信息,如缓存服务器等,从而为进一步的攻击提供便利;
B、 恶意攻击者可以通过TRACE方法进行XSS攻击,盗取会话cookie、获取账户、模拟其他用户身份,甚至可以修改网页呈现给其他用户的内容,从而给用户带来损失;
C、 即使网站对关键页面启用了HttpOnly头标记,禁止脚本读取cookie信息时,通过使用Trace方法,恶意攻击者可以绕过这个限制,读取cookie信息。
7、WEBSHELL
shell是web入侵的脚本攻击工具。简单的说来,webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些 asp或php木马后门文件放置在网站服务器的web目录中,与正常的网页文件混在一起。然后黑客就可以用web的方式,通过asp或php木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等。防范webshell的最有效方法就是:可写目录不给执行权限,有执行权限的目录不给写权限。
8、明文密码传输漏洞
在HTTP下密码是通过明文传输,在系统登录时,传输的密码未进行加密,可通过数据包拦截直接获取。密码类的重要信息会很容易被嗅探到,极其不安全。有人提用 MD5 代替明文,但是解决这种传输中安全问题的终极方案是使用HTTPS协议加密传输。只要在客户端输入时密码不被窃取,且SSL协议的私钥安全,这种协议就是安全的。
9、JS敏感信息泄露
JavaScript作为一种相当简单但功能强大的客户端脚本语言,本质是一种解释型语言。所以,其执行原理是边解释边运行。上述特性就决定了JavaScript与一些服务器脚本语言(如ASP、PHP)以及编译型语言(如C、C++)不同,其源代码可以轻松被任何人获取到。一些粗心的开发者将各式敏感信息存储在JavaScript脚本中,由于JS的特性,攻击者可以对这些信息一览无余,从而导致对WEB服务和用户隐私造成不同程度的威胁。此类漏洞修复相对容易,在明白了JavaScript的特性以后,不把此类敏感信息直接存储进页面内的js和ajax请求响应内容中就可以解决这类问题。
10、IIS短文件名枚举漏洞
Microsoft IIS在实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举网络服务器根目录中的文件,即如果创建了一个长文件,那么无需猜解长文件,直接用短文件就可以下载了。攻击者可以利用“~”字符猜解或遍历服务器中的文件名,或对IIS服务器中的。Net Framework进行拒绝服务攻击。漏洞造成原因:没有禁止NTFS8.3格式文件名创建。
11、启用APSP。NET调试模式
应用程序代码可能会包含各种类型的错误或BUG,通过调试将获取大量网站敏感数据。同时启用调试模式将极大地影响 ASP。NET 应用程序的性能。应在部署发布版本的应用程序或进行性能度量之前要禁用调试模式。
12、系统漏洞
Windows操作系统会不断暴露出漏洞并持续需要修复,系统中存在安全漏洞和质量缺陷将会使系统遭到攻击。
13、系统安全配置
A、配置管理缺省账户以及账户错误锁定机制。
B、对密码的负责度和生存周期、重复次数等进行配置。
C、设置远程认证授权,安装杀毒软件并及时更新。
D、关闭不必要的服务端口。
E、关闭硬盘的默认共享。
F、关闭WINDOWS自动播放功能
G、取消不必要的启动项
14、IIS安全配置
A、设定IIS的IP访问范围
B、检查IIS是否已配置SSL身份访问验证
C、更改IIS Web日志默认路径
D、检查是否已配置错误页面重定向
E、禁止IIS列表显示文件