目录介绍:
- 1、解释黑客入侵有关名词
- 2、什么是缓冲区溢出
- 3、缓冲区溢出攻击的原理
- 4、缓充区溢出是怎么回事,黑客是如何利用它入侵个人电脑的?
- 5、黑客基本术语
- 6、溢出式攻击?
解释黑客入侵有关名词
a、水盆满了就要溢出。常见的是缓冲区溢出,是指通过程序的缓冲区超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令。
b、缓冲区溢出分为静态存储区溢出、栈溢出和堆溢出三种。一般情况下,静态存储区和堆上的缓冲区溢出漏洞不大可能被攻击者利用。而栈上的漏洞则具有极大的危险性。
由于缓冲区溢出是一个编程问题,所以只能通过修复被破坏的程序的代码而解决问题。攻击工具也是专门对某个程序的某个漏洞进行的,没有固定的工具。
----------------------
弱口令:口令的复杂程度不够,很容易破解~,比如123456这样的。一般13位以上的复杂口令就几乎不能破解了。
什么是缓冲区溢出
缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢出的数据覆盖在合法数据上,理想的情况是 程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间想匹配,这就为缓冲区溢出埋下隐患.
操作系统所使用的缓冲区又被称为堆栈. 在各个操作进程之间,指令会被临时储存在堆栈当中,堆栈也会出现缓冲区溢出.
缓冲区溢出有时又称为堆栈溢出攻击,是过去的十多年里,网络安全漏洞常用的一种形式并且易于扩充。相比于其他因素,缓冲区溢出是网络受到攻击的主要原因。
例如:计算机在内存中存储了所有的东西,包括程序、数据和图片。如果计算机要求用户输入8位字符密码却接收到了200位字符的密码,多出来的字符可以写在内存中的其他地方。但事实并不是这样。这就是个小错误。
_______________________________________________________
缓冲区溢出的处理
由于缓冲区溢出是一个编程问题,所以只能通过修复被破坏的程序的代码而解决问题。如果你没有源代码,从上面“堆栈溢出攻击”的原理可以看出,要防止此类攻击,我们可以:
1、开放程序时仔细检查溢出情况,不允许数据溢出缓冲区。由于编程和编程语言的原因,这非常困难,而且不适合大量已经在使用的程序;
2、使用检查堆栈溢出的编译器或者在程序中加入某些记号,以便程序运行时确认禁止黑客有意造成的溢出。问题是无法针对已有程序,对新程序来讲,需要修改编译器;
3、经常检查你的操作系统和应用程序提供商的站点,一旦发现他们提供的补丁程序,就马上下载并且应用在系统上,这是最好的方法。但是系统管理员总要比攻击者慢一步,如果这个有问题的软件是可选的,甚至是临时的,把它从你的系统中删除。举另外一个例子,你屋子里的门和窗户越少,入侵者进入的方式就越少。
缓冲区溢出攻击的原理
看看下面的内容吧,挺多的:
如果把一加仑的水注入容量为一品脱的容量中,水会四处冒出,这时你就会充分理解溢出的含义。同样的道理,在计算机内部,如果你向一个容量有限的内存空间里存储过量数据,这时数据也会溢出存储空间。输入数据通常被存放在一个临时空间内,这个临时存放空间被称为缓冲区,缓冲区的长度事先已经被程序或者*作系统定义好了。
何为缓冲区溢出
缓冲区溢出是指当计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量。溢出的数据覆盖在合法数据上。理想情况是,程序检查数据长度并且不允许输入超过缓冲区长度的字符串。但是绝大多数程序都会假设数据长度总是与所分配的存储空间相匹配,这就为缓冲区溢出埋下隐患。*作系统所使用的缓冲区又被称为堆栈,在各个*作进程之间,指令被临时存储在堆栈当中,堆栈也会出现缓冲区溢出。
当一个超长的数据进入到缓冲区时,超出部分就会被写入其他缓冲区,其他缓冲区存放的可能是数据、下一条指令的指针,或者是其他程序的输出内容,这些内容都被覆盖或者破坏掉。可见一小部分数据或者一套指令的溢出就可能导致一个程序或者*作系统崩溃。
溢出根源在于编程
缓冲区溢出是由编程错误引起的。如果缓冲区被写满,而程序没有去检查缓冲区边界,也没有停止接收数据,这时缓冲区溢出就会发生。缓冲区边界检查被认为是不会有收益的管理支出,计算机资源不够或者内存不足是编程者不编写缓冲区边界检查语句的理由,然而摩尔定律已经使这一理由失去了存在的基础,但是多数用户仍然在主要应用中运行十年甚至二十年前的程序代码。
缓冲区溢出之所以泛滥,是由于开放源代码程序的本质决定的。一些编程语言对于缓冲区溢出是具有免疫力的,例如Perl能够自动调节字节排列的大小,Ada95能够检查和阻止缓冲区溢出。但是被广泛使用的C语言却没有建立检测机制。标准C语言具有许多复制和添加字符串的函数,这使得标准C语言很难进行边界检查。C++略微好一些,但是仍然存在缓冲区溢出。一般情况下,覆盖其他数据区的数据是没有意义的,最多造成应用程序错误,但是,如果输入的数据是经过“黑客”或者病毒精心设计的,覆盖缓冲区的数据恰恰是“黑客”或者病毒的入侵程序代码,一旦多余字节被编译执行,“黑客”或者病毒就有可能为所欲为,获取系统的控制权。
溢出导致“黑客”病毒横行
缓冲区溢出是病毒编写者和特洛伊木马编写者偏爱使用的一种攻击方法。攻击者或者病毒善于在系统当中发现容易产生缓冲区溢出之处,运行特别程序,获得优先级,指示计算机破坏文件,改变数据,泄露敏感信息,产生后门访问点,感染或者攻击其他计算机。
2000年7月,微软Outlook以及Outlook Express被发现存在漏洞能够使攻击者仅通过发送邮件就能危及目标主机安全,只要邮件头部程序被运行,就会产生缓冲区溢出,并且触发恶意代码。2001年8月,“红色代码”利用微软IIS漏洞产生缓冲区存溢出,成为攻击企业网络的“罪魁祸首”。2003年1月,Slammer蠕虫利用微软SQL漏洞产生缓冲区溢出对全球互联网产生冲击。而在近几天,一种名为“冲击波”的蠕虫病毒利用微软RPC远程调用存在的缓冲区漏洞对Windows 2000/XP、Windows Server 2003进行攻击,波及全球网络系统。据CERT安全小组称,*作系统中超过50%的安全漏洞都是由内存溢出引起的,其中大多数与微软技术有关,这些与内存溢出相关的安全漏洞正在被越来越多的蠕虫病毒所利用。
缓冲区溢出是目前导致“黑客”型病毒横行的主要原因。从红色代码到Slammer,再到日前爆发的“冲击波”,都是利用缓冲区溢出漏洞的典型。缓冲区溢出是一个编程问题,防止利用缓冲区溢出发起的攻击,关键在于程序开发者在开发程序时仔细检查溢出情况,不允许数据溢出缓冲区。此外,用户需要经常登录*作系统和应用程序提供商的网站,跟踪公布的系统漏洞,及时下载补丁程序,弥补系统漏洞。
缓充区溢出是怎么回事,黑客是如何利用它入侵个人电脑的?
什么是缓冲区溢出
单的说就是程序对接受的输入数据没有进行有效的检测导致错误,后果可能造成程序崩溃或者执行攻击者的命令,详细的资料可以看unsecret.org的漏洞利用栏目 。
缓冲区溢出的概念
堆栈溢出(又称缓冲区溢出)攻击是最常用的黑客技术之一。我们知道,UNIX本身以及其上的许多应用程序都是用C语言编写的,C语言不检查缓冲区的边界。在某些情况下,如果用户输入的数据长度超过应用程序给定的缓冲区,就会覆盖其他数据区。这称作“堆栈溢出或缓冲溢出”。
一般情况下,覆盖其他数据区的数据是没有意义的,最多造成应用程序错误。但是,如果输入的数据是经过“黑客”精心设计的,覆盖堆栈的数据恰恰是黑客的入侵程序代码,黑客就获取了程序的控制权。如果该程序恰好是以root运行的,黑客就获得了root权限,然后他就可以编译黑客程序、留下入侵后门等,实施进一步地攻击。按照这种原理进行的黑客入侵就叫做“堆栈溢出攻击”。
为了便于理解,我们不妨打个比方。缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里。一旦该容器放满了,余下的部分就溢出在柜台和地板上,弄得一团糟。由于计算机程序的编写者写了一些编码,但是这些编码没有对目的区域或缓冲区——五磅的容器——做适当的检查,看它们是否够大,能否完全装入新的内容——十磅的糖,结果可能造成缓冲区溢出的产生。如果打算被放进新地方的数据不适合,溢得到处都是,该数据也会制造很多麻烦。但是,如果缓冲区仅仅溢出,这只是一个问题。到此时为止,它还没有破坏性。当糖溢出时,柜台被盖住。可以把糖擦掉或用吸尘器吸走,还柜台本来面貌。与之相对的是,当缓冲区溢出时,过剩的信息覆盖的是计算机内存中以前的内容。除非这些被覆盖的内容被保存或能够恢复,否则就会永远丢失。
在丢失的信息里有能够被程序调用的子程序的列表信息,直到缓冲区溢出发生。另外,给那些子程序的信息——参数——也丢失了。这意味着程序不能得到足够的信息从子程序返回,以完成它的任务。就像一个人步行穿过沙漠。如果他依赖于他的足迹走回头路,当沙暴来袭抹去了这些痕迹时,他将迷失在沙漠中。这个问题比程序仅仅迷失方向严重多了。入侵者用精心编写的入侵代码(一种恶意程序)使缓冲区溢出,然后告诉程序依据预设的方法处理缓冲区,并且执行。此时的程序已经完全被入侵者操纵了。
入侵者经常改编现有的应用程序运行不同的程序。例如,一个入侵者能启动一个新的程序,发送秘密文件(支票本记录,口令文件,或财产清单)给入侵者的电子邮件。这就好像不仅仅是沙暴吹了脚印,而且后来者也会踩出新的脚印,将我们的迷路者领向不同的地方,他自己一无所知的地方。
缓冲区溢出的处理
你屋子里的门和窗户越少,入侵者进入的方式就越少……
由于缓冲区溢出是一个编程问题,所以只能通过修复被破坏的程序的代码而解决问题。如果你没有源代码,从上面“堆栈溢出攻击”的原理可以看出,要防止此类攻击,我们可以:
1、开放程序时仔细检查溢出情况,不允许数据溢出缓冲区。由于编程和编程语言的原因,这非常困难,而且不适合大量已经在使用的程序;
2、使用检查堆栈溢出的编译器或者在程序中加入某些记号,以便程序运行时确认禁止黑客有意造成的溢出。问题是无法针对已有程序,对新程序来讲,需要修改编译器;
3、经常检查你的操作系统和应用程序提供商的站点,一旦发现他们提供的补丁程序,就马上下载并且应用在系统上,这是最好的方法。但是系统管理员总要比攻击者慢一步,如果这个有问题的软件是可选的,甚至是临时的,把它从你的系统中删除。举另外一个例子,你屋子里的门和窗户越少,入侵者进入的方式就越少。
黑客主要先从微软漏洞公布表上或者0days上找到漏洞,再根据漏洞编写溢出程序(好多都自带扫描功能)包括本地提权溢出,远程提权溢出.编好后,先用那个扫描一下有漏洞的主机,然后再用它溢出获得权限,控制目标主机.
黑客基本术语
1,肉鸡:所谓“肉鸡”是一种很形象的比喻,比喻那些可以随意被我们控制的电脑,对方可以是WINDOWS系统,也可以是UNIX/LINUX系统,可以是普通的个人电脑,也可以是大型的服务器,我们可以象操作自己的电脑那样来操作它们,而不被对方所发觉。
2,木马:就是那些表面上伪装成了正常的程序,但是当这些被程序运行时,就会获取系统的整个控制权限。有很多黑客就是 热中与使用木马程序来控制别人的电脑,比如灰鸽子,黑洞,PcShare等等。
3,网页木马:表面上伪装成普通的网页文件或是将而已的代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的电脑上来自动执行。
4,挂马:就是在别人的网站文件里面放入网页木马或者是将代码潜入到对方正常的网页文件里,以使浏览者中马。
5,后门:这是一种形象的比喻,入侵者在利用某些方法成功的控制了目标主机后,可以在对方的系统中植入特定的程序,或者是修改某些设置。这些改动表面上是很难被察觉的,但是入侵者却可以使用相应的程序或者方法来轻易的与这台电脑建立连接,重新控制这台电脑,就好象是入侵者偷偷的配了一把主人房间的要是,可以随时进出而不被主人发现一样。
通常大多数的特洛伊木马(Trojan Horse)程序都可以被入侵者用语制作后门(BackDoor)
6,rootkit:rootkit是攻击者用来隐藏自己的行踪和保留root(根权限,可以理解成WINDOWS下的system或者管理员权限)访问权限的工具。通常,攻击者通过远程攻击的方式获得root访问权限,或者是先使用密码猜解(破解)的方式获得对系统的普通访问权限,进入系统后,再通过,对方系统内存在的安全漏洞获得系统的root权限。然后,攻击者就会在对方的系统中安装rootkit,以达到自己长久控制对方的目的,rootkit与我们前边提到的木马和后门很类似,但远比它们要隐蔽,黑客守卫者就是很典型的rootkit,还有国内的ntroorkit等都是不错的rootkit工具。
9,IPC$:是共享“命名管道”的资源,它是为了让进程间通信而开放的饿命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
10.弱口令:指那些强度不够,容易被猜解的,类似123,abc这样的口令(密码)
11.默认共享:默认共享是WINDOWS2000/XP/2003系统开启共享服务时自动开启所有硬盘的共享,因为加了"$"符号,所以看不到共享的托手图表,也成为隐藏共享。
12.shell:指的是一种命令指行环境,比如我们按下键盘上的“开始键+R”时出现“运行”对话框,在里面输入“cmd”会出现一个用于执行命令的黑窗口,这个就是WINDOWS的Shell执行环境。通常我们使用远程溢出程序成功溢出远程电脑后得到的那个用于执行系统命令的环境就是对方的shell
13.webshell:webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做是一种网页后门。黑客在入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,好后就可以使用浏览器来访问这些asp 或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。可以上传下载文件,查看数据库,执行任意程序命令等。国内常用的webshell有海阳ASP木马,Phpspy,c99shell等
14.溢出:确切的讲,应该是“缓冲区溢出”。简单的解释就是程序对接受的输入数据没有执行有效的检测而导致错误,后果可能是造成程序崩溃或者是执行攻击者的命令。大致可以分为两类:(1)堆溢出(2)栈溢出。
15.注入:随着B/S模式应用开发的发展,使用这种模式编写程序的程序员越来越来越多,但是由于程序员的水平参差不齐相当大一部分应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想要知的数据,这个就是所谓的SQLinjection,即:SQL注意入。
16.注入点:是是可以实行注入的地方,通常是一个访问数据库的连接。根据注入点数据库的运行帐号的权限的不同,你所得到的权限也不同。
17.内网:通俗的讲就是局域网,比如网吧,校园网,公司内部网等都属于此类。查看IP地址如果是在以下三个范围之内的话,就说明我们是处于内网之中的:10.0.0.0—10.255.255.255,172.16.0.0—172.31.255.255,192.168.0.0—192.168.255.255
18.外网:直接连入INTERNET(互连网),可以与互连网上的任意一台电脑互相访问,IP地址不是保留IP(内网)IP地址。
19.端口:(Port)相当于一种数据的传输通道。用于接受某些数据,然后传输给相应的服务,而电脑将这些数据处理后,再将相应的恢复通过开启的端口传给对方。一般每一个端口的开放的偶对应了相应的服务,要关闭这些端口只需要将对应的服务关闭就可以了。
20.3389、4899肉鸡:3389是WINDWS终端服务(Terminal Services)所默认使用的端口号,该服务是微软为了方便网络管理员远程管理及维护服务器而推出的,网络管理员可以使用远程桌面连接到网络上任意一台开启了终端服务的计算机上,成功登陆后就会象操作自己的电脑一样来操作主机了。这和远程控制软件甚至是木马程序实现的功能很相似,终端服务的连接非常稳定,而且任何杀毒软件都不会查杀,所以也深受黑客喜爱。黑客在入侵了一台主机后,通常都会想办法先添加一个属于自己的后门帐号,然后再开启对方的终端服务,这样,自己就随时可以使用终端服务来控制对方了,这样的主机,通常就会被叫做3389肉鸡。Radmin是一款非常优秀的远程控制软件,4899就是Radmin默认使以也经常被黑客当作木马来使用(正是这个原因,目前的杀毒软件也对Radmin查杀了)。有的人在使用的服务端口号。因为Radmin的控制功能非常强大,传输速度也比大多数木马快,而且又不被杀毒软件所查杀,所用Radmin管理远程电脑时使用的是空口令或者是弱口令,黑客就可以使用一些软件扫描网络上存在Radmin空口令或者弱口令的主机,然后就可以登陆上去远程控制对恶劣,这样被控制的主机通常就被成做4899肉鸡。
21.免杀:就是通过加壳、加密、修改特征码、加花指令等等技术来修改程序,使其逃过杀毒软件的查杀。
22.加壳:就是利用特殊的酸法,将EXE可执行程序或者DLL动态连接库文件的编码进行改变(比如实现压缩、加密),以达到缩小文件体积或者加密程序编码,甚至是躲过杀毒软件查杀的目的。目前较常用的壳有UPX,ASPack、PePack、PECompact、UPack、免疫007、木马彩衣等等。
23.花指令:就是几句汇编指令,让汇编语句进行一些跳转,使得杀毒软件不能正常的判断病毒文件的构造。说通俗点就是”杀毒软件是从头到脚按顺序来查找病毒。如果我们把病毒的头和脚颠倒位置,杀毒软件就找不到病毒了“。
先写这么多吧,希望对哥们们有帮助了哈
“反弹端口”原理:
服务端(被控制端)主动连接客户端(控制端),为了隐蔽起见,监听端口一般开在80(提供HTTP服务的端口),这样,即使用户使用端口扫描软件检查自己的端口,也难以发现。而控制端发给服务端的数据是一个第三方的空间来实现的,一般用一个主页空间,控制端通过FTP写主页空间上的一个文件,而服务端定期?*** TTP协议读取这个文件的内容,当发现客户端让自己开始连接时,就主动连接。这样,控制端就可以穿过防火墙,甚至还能访问局域网内部的电脑。
软件加壳:
“壳”是一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。经过加壳的软件在跟踪时已看到其真实的十六进制代码,因此可以起到保护软件的目的。
软件脱壳:
顾名思义,就是利用相应的工具,把在软件“外面”起保护作用的“壳”程序去除,还文件本来面目,这样再修改文件内容就容易多了。
蠕虫病毒:
它利用了WINDOWS系统的开放性特点,特别是COM到COM+的组件编程思路,一个脚本程序能调用功能更大的组件来完成自己的功能。以VB脚本病毒为例,它们都是把VBS脚本文件加在附件中,使用*.HTM,VBS等欺骗性的文件名。蠕虫病毒的主要特性有:自我复制能力、很强的传播性、潜伏性、特定的触发性、很大的破坏性。
缓冲区溢出:
功击者向一个地址区输入这个区间存储不下的大量字符。在某些性况下,这些多余的字符可以作为“执行代码”来运行,因此足以使功击者不受安全措施限制地获得计算机的控制权。
CMD:
是一个所谓命令行控制台。有两条进入该程序的通道:第一、鼠标点击“开始—运行”,在出现的编辑框中键入“CMD”,然后点击“确定”;第二、在启动Windows2000的时候,按F8进入启动选择菜单,移动光条或键入数字至安全模式的命令行状态。出现的窗口是一个在win9x系统常见的那种MSDOS方式的界面。尽管微软把这个工具当做命令解释器一个新的实例,但使用方法去和原来的DOS没有区别。
嗅控器:
(Snifffer)就是能够捕获网络报文的设备。嗅控器的正当用处在于分析网络的流量,以便找出所关心的网络中潜在的问题。
密罐:(Honeypot)
是一个包含漏洞的系统,它摸拟一个或多个易受功击的主机,给黑客提供一个容易功击的目标。由于密罐没有其它任务需要完成,因此所有连接的尝试都应被视为是可疑的。密罐的另一个用途是拖延功击者对其真正目标的功击,让功击者在密罐上浪费时间。与此同时,最初的功击目标受到了保护,真正有价值的内容光焕发不将受侵犯。
路由器(Routers):
是用来连接不同子网的中枢,它们工作于osi 7层模型的传输层和网络层。路由器的基本功能就是将网络信息包传输到它们的目的地。一些路由器还有访问控制列表(ACLs),允许将不想要的信息包过滤出去。许多路由器都可以将它们的日志信息注入到IDS系统中,提供有关被阻挡的访问网络企图的宝贵信息。
Unicode漏洞:
Unicode是一个16位的字符集,他可以移植到所有主要的计算机平台并且覆盖几乎整个世界。微软IIS4和5都存在利用扩展Unicode字符取代“/”“\”而能利用“../”目录便利的漏洞。未经授权的用户可能利用IUSR_machinename帐号的上下文空间访问任何已知的文件。该帐号在默认情况下属于Everyone和Users组的成员,因此任何与Web根目录在同一个逻辑驱动器上的能被这些用户组访问的文件都能被删除、修改或执行,如同一个用户成功的登陆所能完成的功能一样!
CGI漏洞:
CGI是Common Gateway Inerface(公用网关接口)的简称,并不特指一种语言。Web服务器的安全问题主要包括:1)Web服务器软件编制中的BUG;2)服务器配置的错误。可能导致CGI源代码泄漏,物理路径信息泄漏,系统敏感信息泄漏或远程执行任意命令。CGI语言漏洞分为以下几类:配置错误、边界条件错误、访问验证错误、来源验证错误、输入验证错误、策略错误、使用错误等等。CGI漏洞大多分为一下几种类型:暴露不该暴露的信息、执行不该执行的命令、溢出。
SSL漏洞:
SSL是Secure Socket Layer的缩写。是网上传输信用卡和帐户密码等信息时广泛采用的行业加密标准。SSL常见的安全漏洞有三种:1、攻击证书,由于IIS服务器提供“客户端证书映射”功能,用于将客户端提交证书中的名字映射到NT系统的用户帐号,再这种情况下我们能够获得该主机的系统管理员权限!如果黑客不能利用非法的证书突破服务器,还可尝试暴力攻击。2、窃取证书,黑客还可能窃取有效的证书及相关的思友密匙。3、安全盲点。没有网络检测系统再加上没有安全漏洞审查,使得最重要的服务器反而成为受到最少防护的服务器。
IPC$漏洞:
IPC$是共享“命名管道”的资源,它对于程序间的通讯十分重要。再远程管理计算机和查看计算机的共享资源时使用。利用IPC我们可以与目标主机建立一个空的连接,而利用这个空连接,我们还可以得到目标主机上的用户列表。但是,一些别有用心的人会利用IPC$,查找我们的用户列表,并使用一些字典工具,对我们的主机进行入侵攻击。
IIS漏洞:
IIS是Internet Information Service的缩写。是微软公司的Web服务器。IIS支持多种需要服务器端处理的文件类型,当一个WEB用户从客户端请求此类文件时,相应的DLL文件将自动对其进行处理。然而再ISM.DLL这个负责处理HTR文件的文件中被发现存在严重的安全漏洞。该漏洞包含了一个再ISM.DLL重未经验证的缓冲,他可能对WEB服务器的安全运作造成两方面的威胁。首先,是来自服务拒绝攻击的威胁,另一个威胁通过使用一个精心构建过的文件请求将可以利用标准缓存溢出手段导致2进制代码再服务器端运行,再这种情况下,什么都可能发生!
NTLM验证:
NTLM(NT LAN Mangager)是微软公司开发的一种身份验证机制,从NT4开始就以之使用,主要用于本地的帐号管理。
IPC管道:
为了更好的控制和处理不同进程之间的通信和数据交换,系统会通过一个特殊的连接管道来调度整个进程。
3389漏洞:
由于微软的原因,使得安装了微软服务终端和全拼的Win2K服务器存在着远程登陆并能获得超级用户全县的严重漏洞。
139漏洞:
通过139端口入侵是网络攻击中常见的一种攻击手段,一般情况下139端口开启是由于NetBIOS网络协议的使用。NetBIOS就是网络基本输入输出系统,系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应的IP地址,从而实现信息通讯。再局域网内部使用NetBIOS协议可以非常方便的实现消息通信,但是如果再Internet上,NetBIOS就相当于一个后门程序,很多攻击这都是通过NetBIOS漏洞发起攻击的!
shell:
shell是系统与用户的交换方式界面。简单来说,就是系统与用户“沟通”的环境。我们平时常用到的DOS,就是一个shell。(Windows2000是cmd.exe)
root:
Unix里面最高权限的用户~即超级管理员
admin:
Windows NT里面最高权限的用户~
rootshell:
通过溢出程序,再主机溢出一个具有root权限的shell。(顺便说一句,国内一知名黑客也叫这个名字)
IDS:
入侵检测系统,用于在黑客发起进攻或是发起进攻之前检测到攻击,并加以拦截。IDS是不同于防火墙的,防火墙只能屏蔽入侵,而IDS却可以在入侵发生以前,通过一些信息来检测到即将发生的攻击或是入侵以作出反应。
UDP:
一种传输层协议,在网络上不可靠的传输数据包,被DNS用于查询和应答,许多流音频和视频应用也使用它。
API:
一套定义的一致性方法,软件开发人员能用他来编写与其他程序捷克欧的程序。API用于扩展程序的功能和使用预编写的组创建新的程序。
FTP:
文件传输协议。一类应用以及该应用使用的协议的名字,用于将文件从一台计算机移动到另一台。
HTTP:
超文本传输协议。用于在万维网上传输数据,包括超文本标识语言文档、图像、可执行内容等等。TCP承载HTTP,一般服务器监听端口80。
HTTPS:
安全超文本传输协议。通过在安全套接字层(SSL)协议上运行超文本传输协议来将安全添加到万维网中。HTTPS能用于将WEB服务器认证到客户,将客户认证到WEB服务器和加密在两个系统之间传输的所有数据,HTTPS服务器一般监听TCP端口443。
IRC:
Internet中继交谈,一系列程序和一种协议,用于实现在Internet上的交谈会话。IRC特别受计算机地下组织的欢迎,北移些攻击者用来讨论他们的工具、技术和战利品。
MAC Address:
网络接口的数据链路层(第二层)地址。对于以太网卡,MAC地址维48bit长。
LAN:
局域网!一种网络,连接近距离的计算机,一般位于单个房间、建筑物或小的地理区域里。LAN上的所有系统位于一个网络跳之间。
ping:
一类基于Internet控制消息协议的数据包,用于判断网络上的某台计算机是否可以到达。
Proxy:
代理。一类程序或系统,接收来自客户机算计的流量,并代表客户与服务器交互。代理能用于过滤应用级别的制定类型的流量或缓存信息以提高性能。许多防火墙依赖代理进行过滤。
telnet:
用于系统的远程命令行访问的程序和协议。telnet在TCP上传输,服务器一般在TCP端口23监听。
TCP:
传输控制协议。一种传输层协议,被许多要求数据的可靠传输的应用所使用。HTTP、SMTP、FTP和telnet都使用TCP进行传输。
TCP/IP:
整个网际协议族的集合名,包括TCP、UDP、IP和ICMP。
溢出式攻击?
缓冲区溢出问题并非已成古老的历史,缓冲区溢出(又称堆栈溢出)攻击已成为最常用的黑客技术之一。据统计,仅去年缓冲区溢出就占使CERT/CC 提出建议的所有重大安全性错误的百分之五十以上。引起缓冲区溢出问题的根本原因是 C(与其后代 C++)本质就是不安全的,没有边界来检查数组和指针的引用,也就是开发人员必须检查边界(而这一行为往往会被忽视),否则会冒遇到问题的风险。标准C 库中还存在许多非安全字符串操作,包括:strcpy() 、sprintf() 、gets() 等缓冲区溢出源于每个程序运行的需要:放置数据的空间。多数计算机程序都在内存中创建多个地址用于信息存储。C 编程语言允许程序员在运行时在内存的两个不同部分(堆栈和堆)中创建存储器。通常,分配到堆的数据是那些malloc() 或新建时获得的数据。而分配到堆栈的数据一般包括非静态的局部变量和所有按值传递的参数。大部分其它信息存储在全局静态存储器中。在分配同一数据类型的相邻块时,这块内存区域称为缓冲区。(想知道具体在下面网页)
网友评论
最新评论
进程之间的通信和数据交换,系统会通过一个特殊的连接管道来调度整个进程。3389漏洞: 由于微软的原因,使得安装了微软服务终端和全拼的Win2K服务器存在着远
级别的制定类型的流量或缓存信息以提高性能。许多防火墙依赖代理进行过滤。telnet: 用于系统的远程命令行访问的程序和协议。telnet在TCP上传输,服务器一般在TCP端口23监听。TCP: 传输控制协议。一种传输层协议,被许多要求数据的可靠传输的应用所使用。HTTP、SMTP
黑客”病毒横行 缓冲区溢出是病毒编写者和特洛伊木马编写者偏爱使用的一种攻击方法。攻击者或者病毒善于在系统当中发现容易产生缓冲区溢出之处,运行特别程序,获得优先级,指示计算机破坏文件,改变数据,泄露敏感信息,产生后门访问点,感染或者攻击其他计算机。 2
服务端(被控制端)主动连接客户端(控制端),为了隐蔽起见,监听端口一般开在80(提供HTTP服务的端口),这样,即使用户使用端口扫描软件检查自己的端口,也难以发现。而控制端发给服务端