【第3期优秀参选|原创|文字】浅析网站安全问题以及服务器安全问题
看见大家对这个评选的积极度都不高,所以自己再写篇文来参选,希望大家积极参与论坛的活动,这样论坛的精华才多!注意这文章是我现想现写的,从来没有在别的地方发过,所以文字有点乱希望谅解!今天我以一个小鸟黑客的角度来说明一些网站的安全问题,以及服务器的一些安全问题,主要说明时下流行的攻击手法,服务器提权限手法,细节我可能说的不那么清楚,主要起到一个抛砖引玉的作用!话不多说,下面我开始一个个地方的说,由于文笔不太好,我也是想到一点就写一点,所以可能有点凌乱,大家就将就看吧!
一.网站安全:
1.asp所存在的诸多问题:
asp是应用于windows平台下的一种网络语言,在早期,asp盛行的时候,漏洞是闹的鸡飞狗跳! 当时黑客们最常利用的有上传漏洞,注入漏洞,跨站xss攻击,爆库,大概就这些把,没有列举到的大家回帖补充.下面来说说这几个基于asp的漏洞都是怎么回事吧!
上传漏洞:这个可以说分为两个大类,第一就是早期的asp程序过滤的相当不严格,导致后台中的一些上传文件没有验证操作者是否已经登录后台,而直接就可以上传~直接可以上传的后果是多么严重相信大家都了解,传个shell上去就等于你这个站都别人说了算了~挂黑链,挂广告什么的大家都懂的...看到了这里有的人可能要说那如果上传漏洞虽然没有验证上传者的身份但是验证的上传文件类型那黑客是不是就不能上传shell了,那么基于这个问题,就引出一个新的概念!nc改包上传!什么是nc改包上传呢?nc其实是一个帮助上传的工具而且还有在服务器返回shell的功能,这后面再说.如果有些上传的页面虽然过滤了上传类型但是却过滤的不严格的话!那么就可以利用nc来上传一些shell,至于具体的利用过程好奇的朋友可以去百度一下~
注入漏洞:这个可以说是从以前一直到现在,一直都是流行的网站攻击手法,所谓注入攻击就是说网站对参数提交的数据过滤的不严格,导致可以构造一切而已参数来读取数据库的管理员账号密码等内容,如果严重的甚至还可以直接列出服务器的文件等,不要惊讶,最严重的甚至可以添加系统账户!这就是注入漏洞的威力~按照一般的asp注入漏洞的攻击方法就是猜解出管理员账号和密码后登陆网站的后台再想办法拿shell,至于asp后台拿shell我后面会专门写到,那么注入有哪些类型的呢~其实所有web语言的注入都可以大致分为这几种 字符型注入数字型注入搜索型注入 ,我简单说一下这几钟注入的特点~字符型如同这样的asp参数
http://www.xxx.com/xxx.asp?id=abcd数字型:
http://www.xxx.com/xxx.asp?id=1234其实也就是后面的参数问题,当然不能只看参数,也许有的参数虽然是数字,其实他的提交方式是以字符型提交的!
以上是字符型和数字型的注入,搜索型注入就是程序对用户进行搜索的语句的提交没有过滤,倒是攻击者可以提交恶意的语句来达到自己的目的,具体的测试方法大家可以百度一下,都查的到的!
跨站xss攻击:对于这个攻击方式很多的站长都不看重甚至很多的程序制作者都不怎么注意这个问题!!认为他的可利用性不大!其实这是大错特错~也许对一些菜鸟黑客的确不会懂得利用xss漏洞,但是一些大牛就不同了,xss小则可以进行挂马欺骗,比如以前的百度挂马漏洞就是xss漏洞引起的,通过构造攻击的xss代码可以对网站进行一个"挂马"为什么这里的挂马我要打引号呢?因为这个挂马不是实质性的修改你网站的文件,而是根本就不对你网站根本的修改,直接通过url构造一些攻击语句,然后把这个特殊构造的xss发给别人,只要别人一打开这个url那么就面临攻击着的挂马攻击.就拿百度的挂马来说,大家都知道在qq里面发百度的地址是出现绿色的小勾,那么通过构造恶意的url来发给别人那影响有多大就不用我说了~
也许到最后那个人都还在思考,为什么我打开一个正常的大网站还会中病毒,难道是这个网站被人黑了?其实错了这就是xss攻击!
上面说到的是xss跨站攻击的挂马利用,xss还有一个利用就关系到网站的本身了~那就是构造特殊的语句来获取管理员的一些账号密码信息,只要管理员访问了这个经过特殊构造的页面那么就直接悲剧了~,比如discuz的xss攻击,攻击者发帖的时候构造特殊的语句,然后管理员或者版主以及会员点击进入这个帖子后都会中招!试问现在还敢忽视xss攻击么??
爆库攻击:这种攻击方式现在已经没有那么多了,大多都已经修复在以前的时候是非常的流行所谓的爆库攻击就是构造特殊的url爆出你网站的access数据库地址,然后下载,后果就不多说了,数据库都被下了后果有多严重?大家都懂的,常见的就是%5c爆库,具体我就不说了这帖子是阐述安全问题不是教别人去黑站..有兴趣的都可以百度!
常见的一些攻击方法就说完了,下面说下前面所说的后台拿shell,基于asp的后台拿shell方法也很丰富,数据库备份,数据库恢复,数据库插马,修改网站配置插马,上传等等等等~先来说下数据库备份吧~相信完过asp的朋友都知道,大部分的asp后台都有一个数据库备份功能,这个功能是将现在网站的数据库备份到某个目录下方便以后恢复,那么这个怎么利用呢~其实这个功能是拿shell里面的重中之重!黑客通过后台上传发现过滤了asp,asa等后缀的文件,所以不能直接拿shell,这个时候就要用到数据库备份了!首先,黑客把一个shell文件的后缀改名字为.jpg等格式,然后通过上传图片的地方上传,jpg是肯定不能解析shell的,那么这个时候黑客可以通过数据库备份来"备份"一个shell,到这里可能经常用asp的朋友就懂了~数据库备份一般有两个编辑框,第一个是叫你写当前数据库路径,这个地方就写刚才上传的假图片地址后面一个编辑框是叫你写备份到什么地方~以及文件名,这里就随便写一个目录然后文件名的后缀改成asp等可以解析的后缀.....就这样shell就拿到了..是不是很简单呢?
数据库恢复也是一个道理,这里就不多说了,至于上传拿shell前面说上传漏洞的时候也说的很清楚了,这里也不再罗嗦,下面来说说通过数据库插马拿shell,玩asp的朋友应该都知道,asp的数据库不一定全都是mdb后缀的,因为mdb后缀要是被攻击者爆库什么的就可以直接下载了,所以有的程序采用asa和asp等后缀来保存数据库,但是有利必有弊!这样索然从一定程度上防止了下载,但是危险也随之而来了,大家都知道网站上面所发布的文章都是保存在数据库里面的,那么我在发布文章的时候直接写一个shell进去呢?直接当然是不能解析的,但是还记得么?数据库是asa或者asp的!!也就是说这个shell已经存在于这个数据库中~而数据库又是可解析的格式不用我多说了~shell直接就到手了!服务器插马就说完了,现在就是网站配置信息插马!一般的后台都会有网站的配置信息,比如网站的名字啊,页脚的版权啊!等等等等,那么这些配置信息都是保存在什么地方的呢?要是保存在数据库的话除非数据库是asa或asp等可解析格式,否则是不能直接利用的,但是有的程序是把网站的配置信息保存到一个asp文件中!!!!最最常见的就是config.asp等等..这样攻击者只要插入一个构造好了的一句话shell网站就直接沦陷!!
2.asp.net的一些问题:
同上,asp存在的所有问题在asp.net上也存在,只不过风险降低了,asp.net的注入上传等明显减少了很多很多!大家都知道asp.net是采用Mssql数据库所以爆库这种低级的攻击也就不存在了,也不存在说直接下载数据库了,这里重点说下asp.net下的注入安全问题!asp.net不存在注入则罢,若是有注入的话那就是非常危险的,因为asp.net至少是个db权限,想要了解原理的就百度,我主要说下这些权限所带来的危害,只要是db权限的话便可以列出服务器的所有目录,包括所有磁盘所有文件等等等等,当然也不排除服务器的设置的比较安全导致不能列出目录,但是只要可以列出目录那么拿下shell就是迟早的事情了,只要找到目标站的目录然后备份到处一句话shell就直接拿下了~所以aspx的注入是很危险的,这都不算什么,现在说下aspx下最严重的,那就是一个注入点拥有sa权限!!!,什么是sa权限?sa是mssql中权利最大的一个用户,也就相当于mysql中的root!!!这样说大家明白了吧.只要有sa权限,别说网站了,提权拿下服务器也是瞬间的事情,因为sa权限可以直接执行cmd命令,后果有多严重就不用我多说了吧!
下面说下asp.net拿到shell以后对于服务器的危害!通常黑客们发现这个服务器支持aspx都会比较高兴~因为aspx相当于一个user权限的用户,什么是user权限呢?比如你在xp里面添加一个普通用户不给他管理员权限那么这个用户就是一个user权限!有了user权限相当于一个质的提升,所以服务器也变的不那么安全!!而且asp.net还有一个致命的地方~那就是sa密码,大家都知道asp.net程序目录下一般都有一个web.config的文件,这个里面很多都保存着服务器的sa密码,有了sa密码提权也就是瞬间的事情了!!
3.jsp网站浅说
同样,jsp也存在上面所说道的一些基本问题,比如注入和上传这些经典搭档~jsp一般所用的数据库Oracle数据库,同样也不存在数据库被直接下载等危害,但是jsp的一个网站要是被攻陷,那么危害那是大大地!!!只要通过任何手段拿到了jsp的shell,那么我可以告诉你,90%的服务器你都可以直接拿下了~除非设置的很变态的服务器除外,为什么这样说呢?因为运行jsp最常用的运行平台Tomact默认是system权限.system权限代表着什么?代表着系统的最高权限,高过Administrators,有了system权限,服务器随你蹂躏~
4.php安全问题
其实php所存在的问题,上面3种web程序也已经归纳完了,其实php在这些语言中 算是比较安全的一种语言了!php的注入点可以说是少之又少,如果有的话危害也比较大,利用最大的注入可以直接写shell到指定的目录,一般的注入也就是爆下管理员的账号和密码没有更多的利用,当然我也只是从我的思维来说,毕竟我也不是php程序员,有说错的地方希望大家指正,php除注入外还有一个比较流行的攻击方式那就是getwebshell,看字面意思就知道是写一个shell,由于php的特性这种漏洞的形成的可能性也比较大,比如09年的discuz7.2爆的那个洞,相信大家都知道影响有多大多大,那个就是getwebshell,可以直接写一个shell到目录下,shopex,ecshop,dedecms等等也都曾爆过类似的漏洞!基于nginx最近还爆出过一个比较严重的问题,相当于iis6的解析漏洞我后面会讲到.下面再说一下关于php拿到shell后的一些安全问题,如果攻击者拿到shell了那么他首先会找的是root密码!!如果root密码被他找到了那么就悲剧了win系统可以直接秒杀,linux也可以跨目录!因为root默认也是system权限!所以如果是独立vps或者服务器千万不要安装的时候直接用root!这样是很危险的,服务器配置者也一定要把root密码设置的复杂点,象phpmyadmin这种危险目录的权限一定设置好!否则迟早有悲剧的一天!
5.永恒的问题---社会工程学!
关于这个问题,我只能说,这是致命的!不知道什么叫社会工程学的请百度,要简单解释的话就是慢慢调查你~直到最后通过某中办法获取到你的密码等敏感信息...我就说说最普遍的针对网站社工的手法,首先攻击者会查你域名的whois信息,找到你邮箱,然后想办法通过密码找回等方法杀进你的邮箱~比如163 126等邮箱就是活生生的例子,首先会要求输入邮箱注册者的生日,这个是攻击者就会开始搜集你的信息,最普遍的就是在百度或者谷哥搜索你的邮箱,然后慢慢调查,细节就不多说,然后找到了你的生日后再去找回密码,然后再慢慢通过得到的信息慢慢猜解你的安全问题,高等社工者还会加你qq等,或者加你朋友的qq套曲你的一切信息~尤其某些猥琐男看见mm就激动(论坛18鸭子胖子等..),这个时候你就要小心了,也许那就是攻击者的手法!最后我要说的是切忌切忌不要多个账号论坛使用同一个密码,我知道这样很好记忆,如果多个密码也是不可能的,我给大家一个方法,不重要的用一个密码,重要的用另外一个密码可以有效的增加安全!!然后有个问题就是域名劫持!这个问题主要发生在国内域名注册商的身上比较多,比如一个攻击者实在不能破解你的邮箱不能破解你的密码但是他实在不解气那么就会把目标瞄准你的域名,他不需要你的密码他这个时候要社工欺骗的对象就-----域名注册商客服,可笑的是这些sb客服也还就会乖乖的上当~一般攻击者会以密码忘记等一系列的理由来欺骗客服~最后得到你的域名管理权限~,当然最狠的是直接转移你的域名,这样你就是想要都要不回来了!所以保护个人的重要信息是非常非常重要的!!!通常知道了你的某个重要信息就会产生连锁反映!其后果不堪设想!!!
二.防范
先说下asp的问题:asp的上传安全问题最简便的方法就是删除危险页面~懂asp的可以修改其验证代码,至于xss没有什么好的防御方法~只能多多注意咯!警惕点总是很好的,爆库问题这个其实现在很少有这样的漏洞了!我建议大家还是把数据库改为asa或asp等可解析格式减少被下载的安全问题,最后就是注入了!网上有很多asp防注入的系统~推荐雷客图,百度一下你就知道!但是这样也是治标不治本!最好的防御方法就是修改后台目录把目录名字改bt点~这样攻击者就算跑除了账号密码也找不到后台嘿嘿~当然你也可以设置很复杂的密码!
aspx和jsp等防范方法一样!aspx最重要的是防注入!jsp也是!这些程序的防注大家可以百度!!都有方法的!不过我希望大家是换一些较为安全的程序!老程序该换就换了不然很容易产生一些安全问题!比如现在网上还有很多05年06年的asp程序的,这些都是漏洞的集合体!
php我建议大家都用linux系统!只把图片上传等目录设置可写权限,其他目录都禁写!这样getwebshell可以有比较大一部分的防范效果!至于注入漏洞就更好防范了!前面也已经说了~最好的方法就是密码复杂点,现在的php几乎都是32位md5加密!没有那么容易解出来的!discuz这种程序都是独特的md5(md5($pass).$salt)加密方式~要跑出密码不是容易的事情!,还有改后台地址也很重要!我相信这样做好以后要想入侵你的站点不是一件容易的事情!还有前不久nginx爆一个解析漏洞!通过这种url方式访问任意文件:http://www.xxx.com/img/1.jpg/.php
如果这里的1.jpg是攻击者伪造的图片shell的话~那么就要悲剧了!大家可以自己测试一下自己的空间是否存在这个漏洞!如果这样访问后主线一堆乱码说明这个漏洞存在~如果访问出现404那么说明这个漏洞不存在!
关于ewebeditor编辑器以及fckeditor编辑器,相信这两款编辑器程序员都非常熟悉~第一个ewebeditor当年有多少大大小小的站栽在了他的身上,先说下ewebeditor的防范方法!,首先是修改数据库默认路径!以免别人下载数据库然后登陆eweb的后台,其次是修改后台路径或者直接删除后台!因为你配置好了以后就部需要后台页面了~这样可以从根本上防御所谓的ewebeditor黑客!至于fckeditor大家一定要使用最新版的!~老版本漏洞很多,不管你使用什么版本!都请删除:
../filemanager/connectors/test.html这个文件!切忌!这个文件是拿shell的关键页面!!
以下为jg8778兄弟补充内容,也说了几个重点:
没说到点子上,补充点东西,其实只要开了WS组件,丢个PR上去瞬间你的服务器就可以被我拿到手了......
至于拿SHELL,其实现在很少HACK会针对站点了,毕竟法规完善,不能有大动作,都是批量拿的多.....
NC拿SHELL是很久以前的东西了,现在基本很多CMS(例如DEDE,帝国),都采用后缀直接过滤了,只有DEDE还有一个ASA可以利用下,其它的基本不可能了,拿到NET高兴基本是因为又多了很多方法可以CMD,只要有CMD就可以弄到服务器(限制国内)于SA一类的,现在例如N点一类的主流系统都不会把密码放在任何一个文本里面了......
至于PHP的SHELL,拿到以后就我的经验是首先检测能不能WS执行CMD,或者能不能跨到ASP上弄CMD,之后才会去看SQL密码,SQL即使不是ROOT也是有很大危险的,例如DB权限的可以读取PROGRAM FILES,如果服务器上有装老版SERV-U,弄他的INI下来跑跑密码也可以提权的,或者写个PR进ALL USER的启动项,然后来几个大型SQL命令吊死SQL,让管理员重启服务器,权限一样到手就是了,不过赞成LZ说的LINUX,因为LINUX对于小黑不会有任何价值,不过国内对于LINUX安全不重视也是事实,一些0DAY没有补导致可以提权到ROOT,之后跨目录挂个马还是有可能的恩....
最后说一下,ewebeditor,ckeditor这两个老不死的最好删掉,有很多0DAY没公布的这两个还没出补丁,留着迟早是祸害,ASP删掉WS组件,不要改名,直接把组件删掉就可以了,WS现在很多东西都用不上的,FTP直接用MS-FTP最好,IIS自带,用户权限分开,目录下面设置不允许执行EXE,注意防范一些容易忽略的目录,比如c:\recycler等等,服务器上装个专业点的杀软(不要360,MCAFEE不然自己后悔),这样至少可以干涉到HACK的很多行为,即使他进了你的服务器,发现和防止进一步的损失都会显得容易些。
我自己再加一点:
针对PR关闭了WS组建也不能保证安全,最好就是装个360或者金山把补丁打完,可以设置php的目录禁止asp等脚本,还有一点是管理员不经常注意的,那就是危险的mysql安装目录,如果这个目录可读的话,攻击者完全可以下载你的user文件再本地搭建然后读出你的root有了root又可以利用很多东西了,就算不能导出udf等提权也可以写个马到你的启动目录!
更新完 LZ不会MJJ吧 回复 ifany 的帖子
:'(差点就木有了 381183401 发表于 2011-3-14 19:16 static/image/common/back.gif
回复 ifany 的帖子
差点就木有了
谁干的0 0
基情啊 回复 ifany 的帖子
自撸的后果! 本帖最后由 我是疯子 于 2011-3-14 21:21 编辑
哇。哇。。。这帖子极品啊。。。。lz强人。
本帖最后由 我是疯子 于 2011-3-14 21:22 编辑
不得不佩服啊。。。。
顶下斑竹 技术型的 路过
关注
... 好贴,顶上去了!
页:
[1]
2