博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

网站攻击常用手段之:webshell攻击

Posted on 2011-04-06 14:32  海阔天空,一路是蓝  阅读(1366)  评论(0编辑  收藏  举报

最近公司在万网的虚拟主机上的网站疑是被黑客攻击,虽然不能肯定黑客的攻击的动机和方式,但是网络安全的确成了我们不得不面对的问题。根据这个事件,我们发现了黑客攻击的几种手段,同时也对我们开发系统时的架构提了一个醒。

网站攻击最常用的两种手段是:SQL注入webshell攻击。大家对SQL注入防范的意识已经很强了,现在程序中很难再出现这样的漏洞,但是对webshell攻击方式防范意识很弱,突出表现在网站功能的架构上。以我们开发的系统为例(为安全起见,不详细说明),上传文件存在着很大的漏洞。

webshell攻击资料:http://blog.eyh.cn/user1/netover/5330.shtml

我们系统中上传非图片文件,采用的是和应用不在同一个目录下存储。但是上传的图片文件一般情况直接存储在应用下的目录中,以方便服务器解析,而读取文件的方式是直接读取文件所在的硬盘路径(比如:/UploadFile/2011/2/16/20110216025717546.jpg),这样就给黑客带来webshell攻击的机会,他们可以直接上传一个jsp文件,将脚本注入其中,达到攻击的目的。当然我们在上传图片的时候,要去验证是不是图片格式。但是很多系统,为了简单,根本没有做这方面的验证,特别是管理后台,因为是内部人员操作,就放松了警惕,根本不做验证,什么文件都可以传,不良企图的人,利用该漏洞,可轻而易举的进行攻击。

在系统架构上如何规避这种情况?
1、可执行脚本的危险文件,一定不能上传。
2、将需要下载而不是浏览器能直接打开的文件,一定不要提供真实的存储地址。
3、最好的方法是,将web应用和上传的任何文件(包括)分开,保持web应用的纯净,而文件的读取可以采用分静态文件解析服务器和web服务器两种服务器分别读取(Apache/Nginx加tomcat等web服务器),或者图片的读取,有程序直接读文件,以流的形式返回到客户端。

这几天还针对我们某些系统的后台登陆进行了测试,发现后台验证的力度不够。黑客破解登陆时,一般会采用暴力破解工具,不会通过我们提供的界面进行登陆的。所以单纯的前台js验证就失效了。加入随机的验证码,可以防止暴力破解,但是我们的某些系统对于验证码只停留在页面上的验证,在form提交后,后台只验证了用户名和密码,并没有验证验证码。这就很容易给别人留下攻破系统的机会。

这只是最近发现的两个问题,网络安全是一个很大的课题,任何web应用不得不都要面对。但是仅仅这两个问题,已经暴露了我们再开发系统面临的问题,未来我们再开发系统,我们一定要注意基于网络安全考量的技术架构。

OECP社区规模虽然小,但是我们依然会在技术架构上采用合理的,先进的架构,不仅仅要保证高效、稳定的运行,而且要安全的运行。

 

推荐阅读文章:sql注入式攻击的原理及实例分析

                   SQL注入式攻击的防治的六个建议