互联网发展至今,已经不可或缺,少了互联网的世界无法想象,或许会让人窒息。越来越多的企业,个人都选择将在网络上搭建自己的网站,希望将自己的企业形象,商品或者个人的想法、观点展示到网络上。来自中国互联网信息中心(CNNIC)最新的权威发布数据显示,截至 2017 年 6 月,中国网民规模达 7.51 亿,手机网民规模达 7.24 亿,IPv4 地址数量达到 3.38 亿个、IPv6 地址数量达到 21283 块 /32 地址,二者总量均居世界第二;中国网站数量为 506 万个,半年增长 4.8%;国际出口带宽达到 7.9Tbps,较 2016 年底增长 20.1%。

1.jpg

数据增长迅速,随之而来也有一个很重要的问题——网络安全问题,网络越来越便捷,网络产业也越来越多,各行各业都在向互联网转型,同时利用网络进行侵害的地下黑产也慢慢兴起,网络世界中每时每刻都是硝烟四起,你死我活。很多人会说,哪有那么夸张,自己的网站运营了很长时间都没出现问题,那我告诉你,可能是因为你的幸运,又或许是你的网站还不入那些网络***者和***者的法眼,但是我劝有这些想法的站长或管理员,尽快转变意识和观念,防患于未然。在网络世界中,没有绝对安全。

近年来网络***事件频发,很多网站都被***,但是站长却悄然不知,直到被网监部门查到或者因为网站被***导致服务器也沦为傀儡机,不能正常工作的时候才发现原来问题已经这么严重了。很多用户其实并不注重日常维护和管理,有时出现网站频繁被黑的情况,为此我们制作专题一起探讨下这个问题,也回答一下用户的这些疑问:“为什么我的网站老被黑!

本期我们讨论“为什么我的网站老被黑(一):网站漏洞问题”

首先需要回答一个问题:你的网站有漏洞吗? 很多不懂技术的站长(有很多并不是技术型站长,其实只是运营负责人或者企业法人)会毫不犹豫的说没有,其实没有漏洞的网站是不存在的,即便是开发能力超群的开发者,编写的代码也是存在漏洞的,需要不断更新修补,就连那么强大的操作系统都要打补丁修漏洞。

很多网站被***,就是因为网站程序代码漏洞或者后门被***利用,借此注入一些病毒或***代码,进而篡改网站或者侵入服务器的,但是很多客户遇到问题,当被告知是网站漏洞导致被黑后,都会说“不可能,我的网站之前都好好好的,我的网站没有漏洞,是你们服务器不安全”等待之类的话,其实这是一种不懂但又在瞎掰的说辞。

2.jpg

首先我们了解网站都有可能存在哪些漏洞。

1、注入漏洞 

最常见、最典型的注入***方式就是SQL注入,SQL注入漏洞的危害不仅体现在数据库层面,还有可能危及承载数据库的操作系统;如果SQL注入被用来挂马,还可能用来传播恶意软件等,这些危害包括但不限于:

数据库信息泄漏:数据库中存储的用户隐私信息泄露。
网页篡改:通过操作数据库对特定网页进行篡改。
网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马***。
数据库被恶意操作:数据库服务器被***,数据库的系统管理员帐户被窜改。
服务器被远程控制,被安装后门:经由数据库服务器提供的操作系统支持,让***得以修改或控制操作系统。
破坏硬盘数据,瘫痪全系统

2、XSS跨站脚本漏洞 

XSS跨站脚本漏洞的危害包括但不限于:

钓鱼欺骗:最典型的就是利用目标网站的反射型跨站脚本漏洞将目标网站重定向到钓鱼网站,或者注入钓鱼JavaScript以监控目标网站的表单输入,甚至发起基于DHTML更高级的钓鱼***方式。
网站挂马:跨站后利用IFrame嵌入隐藏的恶意网站或者将被***者定向到恶意网站上,或者弹出恶意网站窗口等方式都可以进行挂马***。
身份盗用:Cookie是用户对于特定网站的身份验证标志,XSS可以盗取用户的Cookie,从而利用该Cookie获取用户对该网站的操作权限。如果一个网站管理员用户Cookie被窃取,将会对网站引发巨大的危害。
盗取网站用户信息:当能够窃取到用户Cookie从而获取到用户身份时,***者可以获取到用户对网站的操作权限,从而查看用户隐私信息。
垃圾信息发送:比如在SNS社区中,利用XSS漏洞借用被***者的身份发送大量的垃圾信息给特定的目标群体。
劫持用户Web行为:一些高级的XSS***甚至可以劫持用户的Web行为,监视用户的浏览历史,发送与接收的数据等等。
XSS蠕虫:XSS 蠕虫可以用来打广告、刷流量、挂马、恶作剧、破坏网上数据、实施DDoS***等。

1.jpg

3、文件上传漏洞 

大部分的网站和应用系统都有上传功能,一些文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许***者向某个可通过Web访问的目录上传任意PHP文件,并能够将这些文件传递给PHP解释器,就可以在远程服务器上执行任意PHP脚本。

当系统存在文件上传漏洞时***者可以将病毒,***,WebShell,其他恶意脚本或者是包含了脚本的图片上传到服务器,这些文件将对***者后续***提供便利。根据具体漏洞的差异,此处上传的脚本可以是正常后缀的PHP,ASP以及JSP脚本,也可以是篡改后缀后的这几类脚本。

上传文件是病毒或者***时,主要用于诱骗用户或者管理员下载执行或者直接自动运行;

上传文件是WebShell时,***者可通过这些网页后门执行命令并控制服务器;

上传文件是其他恶意脚本时,***者可直接执行脚本进行***;

上传文件是恶意图片时,图片中可能包含了脚本,加载或者点击这些图片时脚本会悄无声息的执行;

上传文件是伪装成正常后缀的恶意脚本时,***者可借助本地文件包含漏洞(Local File Include)执行该文件。如将bad.php文件改名为bad.doc上传到服务器,再通过PHP的include,include_once,require,require_once等函数包含执行。

造成恶意文件上传的原因主要有三种:

文件上传时检查不严。没有进行文件格式检查。一些应用仅仅在客户端进行了检查,而在专业的***者眼里几乎所有的客户端检查都等于没有检查,***者可以通过NC,Fiddler等断点上传工具轻松绕过客户端的检查。一些应用虽然在服务器端进行了黑名单检查,但是却可能忽略了大小写,如将.php改为.Php即可绕过检查;一些应用虽然在服务器端进行了白名单检查却忽略了%00截断符,如应用本来只允许上传jpg图片,那么可以构造文件名为xxx.php%00.jpg,其中%00为十六进制的0x00字符,.jpg骗过了应用的上传文件类型检测,但对于服务器来说,因为%00字符截断的关系,最终上传的文件变成了xxx.php。

文件上传后修改文件名时处理不当。一些应用在服务器端进行了完整的黑名单和白名单过滤,在修改已上传文件文件名时却百密一疏,允许用户修改文件后缀。如应用只能上传.doc文件时***者可以先将.php文件后缀修改为.doc,成功上传后在修改文件名时将后缀改回.php。

使用第三方插件时引入。好多应用都引用了带有文件上传功能的第三方插件,这些插件的文件上传功能实现上可能有漏洞,***者可通过这些漏洞进行文件上传***。如著名的博客平台WordPress就有丰富的插件,而这些插件中每年都会被挖掘出大量的文件上传漏洞。

timg.jpg

以上三种漏洞是目前网站***中***最常利用的漏洞,其中文件上传漏洞的影响尤为严重,很多网站开发好后,由于对上传文件的筛查不够严格,或者对上传文件目录权限设置太大、网站模板或源码本身存在已知的后门或者漏洞,***利用这些漏洞,上传病毒文件,拿到wenshell权限,进而控制服务器管理权,不仅网站被黑,而且服务器也被抓成肉机。因此我们建议:

1、如果网站建设预算足够,尽可能找专业的网站开发公司去定制网站,不要随便在网上或者淘宝上购买模板站进行修改,以免代码本身有后门。

2、不论是专门定制的网站,还是购买的或者免费下载的开源模板站点,都要定期检查网站代码漏洞,定期更新升级网站代码(可以到专业的网站漏洞检测平台进行检测,也可付费在网站风险评估平台进行网站安全风险检测和评估)

3、养成良好的维护习惯,定期对网站数据库和网站源码进行备份;在修改网站代码前也要做备份,以免出问题后及时回滚。

4、对于敏感信息进行修改或加密,对于网站后台账户密码尽可能设置复杂,而且要定期修改,必要时要对后台地址做访问限制。

5、对于网站程序目录权限尽量做到分级设置,不要给多余的权限,更不能给everyone权限(很多客户搭建网站,不知道如何设置权限,就统一设置everyone完全控制),不做修改的目录可只给读取权限。

timg.jpg

最后再次提醒各位站长或网站负责人,网络安全无小事,更不存在绝对安全,网站漏洞危害确实很大,修补漏洞的同时更要养成好的维护习惯和操作规范,要知道,很多时候网站被***,可能真的不是服务器或者网站漏洞引起的,真正的原因是你自己,是你的不重视和不懂引起的。

文章来自我的废柴博客,点击查看博客原文 | 点击访问废柴博客首页