web攻击原理_网站攻击原理与技术

hacker|
353

请问常见的网络攻击技术有哪些

常见的网络攻击技术有:

1,跨站脚本攻击。

跨站脚本攻击可以将代码注入到用户浏览的网页上,这种代码包括HTML和JavaScript。

2,跨站请求伪造攻击。

跨站请求伪造攻击是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去执行。

3,SQL注入攻击。

这种攻击的原理是服务器上的数据库运行非法的SQL语句,主要通过拼接来完成。

更多关于常见的网络攻击技术有哪些,进入:查看更多内容

解释解释入侵网站的原理

一、获取口令

这种方式有三种方法:一是缺省的登录界面(ShellScripts)攻击法。在被攻击主机上启动一个可执行程序,该程序显示一个伪造的登录界面。当用户在这个伪装的界面上键入登录信息(用户名、密码等)后,程序将用户输入的信息传送到攻击者主机,然后关闭界面给出提示信息“系统故障”,要求用户重新登录。此后,才会出现真正的登录界面。二是通过网络监听非法得到用户口令,这类方法有一定的局限性,但危害性极大,监听者往往能够获得其所在网段的所有用户账号和口令,对局域网安全威胁巨大;三是在知道用户的账号后(如电子邮件“@”前面的部分)利用一些专门软件强行破解用户口令,这种方法不受网段限制,但黑客要有足够的耐心和时间;尤其对那些口令安全系数极低的用户,只要短短的一两分钟,甚至几十秒内就可以将其破解。

二、电子邮件攻击

这种方式一般是采用电子邮件炸弹(E-mailBomb),是黑客常用的一种攻击手段。指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的恶意邮件,也可称之为大容量的垃圾邮件。由于每个人的邮件信箱是有限的,当庞大的邮件垃圾到达信箱的时候,就会挤满信箱,把正常的邮件给冲掉。同时,因为它占用了大量的网络资源,常常导致网络塞车,使用户不能正常地工作,严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪。

三、特洛伊木马攻击

“特洛伊木马程序”技术是黑客常用的攻击手段。它通过在你的电脑系统隐藏一个会在Windows启动时运行的程序,采用服务器/客户机的运行方式,从而达到在上网时控制你电脑的目的。黑客利用它窃取你的口令、浏览你的驱动器、修改你的文件、登录注册表等等,如流传极广的冰河木马,现在流行的很多病毒也都带有黑客性质,如影响面极广的“Nimda”、“求职信”和“红色代码”及“红色代码II”等。攻击者可以佯称自己为系统管理员(邮件地址和系统管理员完全相同),将这些东西通过电子邮件的方式发送给你。如某些单位的网络管理员会定期给用户免费发送防火墙升级程序,这些程序多为可执行程序,这就为黑客提供了可乘之机,很多用户稍不注意就可能在不知不觉中遗失重要信息。

四、诱入法

黑客编写一些看起来“合法”的程序,上传到一些FTP站点或是提供给某些个人主页,诱导用户下载。当一个用户下载软件时,黑客的软件一起下载到用户的机器上。该软件会跟踪用户的电脑操作,它静静地记录着用户输入的每个口令,然后把它们发送给黑客指定的Internet信箱。例如,有人发送给用户电子邮件,声称为“确定我们的用户需要”而进行调查。作为对填写表格的回报,允许用户免费使用多少小时。但是,该程序实际上却是搜集用户的口令,并把它们发送给某个远方的“黑客”。

五、寻找系统漏洞

许多系统都有这样那样的安全漏洞(Bugs),其中某些是操作系统或应用软件本身具有的,如Sendmail漏洞,Windows98中的共享目录密码验证漏洞和IE5漏洞等,这些漏洞在补丁未被开发出来之前一般很难防御黑客的破坏,除非你不上网。还有就是有些程序员设计一些功能复杂的程序时,一般采用模块化的程序设计思想,将整个项目分割为多个功能模块,分别进行设计、调试,这时的后门就是一个模块的秘密入口。在程序开发阶段,后门便于测试、更改和增强模块功能。正常情况下,完成设计之后需要去掉各个模块的后门,不过有时由于疏忽或者其他原因(如将其留在程序中,便于日后访问、测试或维护)后门没有去掉,一些别有用心的人会利用专门的扫描工具发现并利用这些后门,然后进入系统并发动攻击。

现在,你该知道黑客惯用的一些攻击手段了吧?当我们对黑客们的这些行为有所了解后,就能做到“知己知彼,百战不殆”,从而更有效地防患于未然,拒黑客于“机”外。网络的开放性决定了它的复杂性和多样性,随着技术的不断进步,各种各样高明的黑客还会不断诞生,同时,他们使用的手段也会越来越先进。我们惟有不断提高个人的安全意识,再加上必要的防护手段,斩断黑客的黑手。相信通过大家的努力,黑客们的舞台将会越来越小,个人用户可以高枕无忧地上网冲浪,还我们一片宁静的天空。

一,ping

它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车,。所示的帮助画面。在此,我们只掌握一些基本的很有用的参数就可以了(下同)。

-t 表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。

-l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。

-n 定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。

说明一下,如果-t 参数和 -n参数一起使用,ping命令就以放在后面的参数为标准,比如“ping IP -t -n 3”,虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。

下面我们举个例子来说明一下具体用法。

这里time=2表示从发出数据包到接受到返回数据包所用的时间是2秒,从这里可以判断网络连接速度的大小 。从TTL的返回值可以初步判断被ping主机的操作系统,之所以说“初步判断”是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。

(小知识:如果TTL=128,则表示目标主机可能是Win2000;如果TTL=250,则目标主机可能是Unix)

至于利用ping命令可以快速查找局域网故障,可以快速搜索最快的QQ服务器,可以对别人进行ping攻击……这些就靠大家自己发挥了。

二,nbtstat

该命令使用TCP/IP上的NetBIOS显示协议统计和当前TCP/IP连接,使用这个命令你可以得到远程主机的NETBIOS信息,比如用户名、所属的工作组、网卡的MAC地址等。在此我们就有必要了解几个基本的参数。

-a 使用这个参数,只要你知道了远程主机的机器名称,就可以得到它的NETBIOS信息(下同)。

-A 这个参数也可以得到远程主机的NETBIOS信息,但需要你知道它的IP。

-n 列出本地机器的NETBIOS信息。

当得到了对方的IP或者机器名的时候,就可以使用nbtstat命令来进一步得到对方的信息了,这又增加了我们入侵的保险系数。

三,netstat

这是一个用来查看网络状态的命令,操作简便功能强大。

-a 查看本地机器的所有开放端口,可以有效发现和预防木马,可以知道机器所开的服务等信息,如图4。

这里可以看出本地机器开放有FTP服务、Telnet服务、邮件服务、WEB服务等。用法:netstat -a IP。

-r 列出当前的路由信息,告诉我们本地机器的网关、子网掩码等信息。用法:netstat -r IP。

四,tracert

跟踪路由信息,使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径,这对我们了解网络布局和结构很有帮助。如图5。

这里说明数据从本地机器传输到192.168.0.1的机器上,中间没有经过任何中转,说明这两台机器是在同一段局域网内。用法:tracert IP。

五,net

这个命令是网络命令中最重要的一个,必须透彻掌握它的每一个子命令的用法,因为它的功能实在是太强大了,这简直就是微软为我们提供的最好的入侵工具。首先让我们来看一看它都有那些子命令,键入net /?回车如图6。

在这里,我们重点掌握几个入侵常用的子命令。

net view

使用此命令查看远程主机的所以共享资源。命令格式为net view \\IP。

net use

把远程主机的某个共享资源影射为本地盘符,图形界面方便使用,呵呵。命令格式为net use x: \\IP\sharename。上面一个表示把192.168.0.5IP的共享名为magic的目录影射为本地的Z盘。下面表示和192.168.0.7建立IPC$连接(net use \\IP\IPC$ "password" /user:"name"),

建立了IPC$连接后,呵呵,就可以上传文件了:copy nc.exe \\192.168.0.7\admin$,表示把本地目录下的nc.exe传到远程主机,结合后面要介绍到的其他DOS命令就可以实现入侵了。

net start

使用它来启动远程主机上的服务。当你和远程主机建立连接后,如果发现它的什么服务没有启动,而你又想利用此服务怎么办?就使用这个命令来启动吧。用法:net start servername,如图9,成功启动了telnet服务。

net stop

入侵后发现远程主机的某个服务碍手碍脚,怎么办?利用这个命令停掉就ok了,用法和net start同。

net user

查看和帐户有关的情况,包括新建帐户、删除帐户、查看特定帐户、激活帐户、帐户禁用等。这对我们入侵是很有利的,最重要的,它为我们克隆帐户提供了前提。键入不带参数的net user,可以查看所有用户,包括已经禁用的。下面分别讲解。

1,net user abcd 1234 /add,新建一个用户名为abcd,密码为1234的帐户,默认为user组成员。

2,net user abcd /del,将用户名为abcd的用户删除。

3,net user abcd /active:no,将用户名为abcd的用户禁用。

4,net user abcd /active:yes,激活用户名为abcd的用户。

5,net user abcd,查看用户名为abcd的用户的情况

net localgroup

查看所有和用户组有关的信息和进行相关操作。键入不带参数的net localgroup即列出当前所有的用户组。在入侵过程中,我们一般利用它来把某个帐户提升为administrator组帐户,这样我们利用这个帐户就可以控制整个远程主机了。用法:net localgroup groupname username /add。

现在我们把刚才新建的用户abcd加到administrator组里去了,这时候abcd用户已经是超级管理员了,呵呵,你可以再使用net user abcd来查看他的状态,和图10进行比较就可以看出来。但这样太明显了,网管一看用户情况就能漏出破绽,所以这种方法只能对付菜鸟网管,但我们还得知道。现在的手段都是利用其他工具和手段克隆一个让网管看不出来的超级管理员,这是后话。有兴趣的朋友可以参照《黑客防线》第30期上的《由浅入深解析隆帐户》一文。

net time

这个命令可以查看远程主机当前的时间。如果你的目标只是进入到远程主机里面,那么也许就用不到这个命令了。但简单的入侵成功了,难道只是看看吗?我们需要进一步渗透。这就连远程主机当前的时间都需要知道,因为利用时间和其他手段(后面会讲到)可以实现某个命令和程序的定时启动,为我们进一步入侵打好基础。用法:net time \\IP。

六,at

这个命令的作用是安排在特定日期或时间执行某个特定的命令和程序(知道net time的重要了吧?)。当我们知道了远程主机的当前时间,就可以利用此命令让其在以后的某个时间(比如2分钟后)执行某个程序和命令。用法:at time command \\computer。

表示在6点55分时,让名称为a-01的计算机开启telnet服务(这里net start telnet即为开启telnet服务的命令)。

七,ftp

大家对这个命令应该比较熟悉了吧?网络上开放的ftp的主机很多,其中很大一部分是匿名的,也就是说任何人都可以登陆上去。现在如果你扫到了一台开放ftp服务的主机(一般都是开了21端口的机器),如果你还不会使用ftp的命令怎么办?下面就给出基本的ftp命令使用方法。

首先在命令行键入ftp回车,出现ftp的提示符,这时候可以键入“help”来查看帮助(任何DOS命令都可以使用此方法查看其帮助)。

大家可能看到了,这么多命令该怎么用?其实也用不到那么多,掌握几个基本的就够了。

首先是登陆过程,这就要用到open了,直接在ftp的提示符下输入“open 主机IP ftp端口”回车即可,一般端口默认都是21,可以不写。接着就是输入合法的用户名和密码进行登陆了,这里以匿名ftp为例介绍。

用户名和密码都是ftp,密码是不显示的。当提示**** logged in时,就说明登陆成功。这里因为是匿名登陆,所以用户显示为Anonymous。

接下来就要介绍具体命令的使用方法了。

dir 跟DOS命令一样,用于查看服务器的文件,直接敲上dir回车,就可以看到此ftp服务器上的文件。

cd 进入某个文件夹。

get 下载文件到本地机器。

put 上传文件到远程服务器。这就要看远程ftp服务器是否给了你可写的权限了,如果可以,呵呵,该怎么 利用就不多说了,大家就自由发挥去吧。

delete 删除远程ftp服务器上的文件。这也必须保证你有可写的权限。

bye 退出当前连接。

quit 同上。

八,telnet

功能强大的远程登陆命令,几乎所有的入侵者都喜欢用它,屡试不爽。为什么?它操作简单,如同使用自己的机器一样,只要你熟悉DOS命令,在成功以administrator身份连接了远程机器后,就可以用它来干你想干的一切了。下面介绍一下使用方法,首先键入telnet回车,再键入help查看其帮助信息。

然后在提示符下键入open IP回车,这时就出现了登陆窗口,让你输入合法的用户名和密码,这里输入任何密码都是不显示的。

当输入用户名和密码都正确后就成功建立了telnet连接,这时候你就在远程主机上具有了和此用户一样的权限,利用DOS命令就可以实现你想干的事情了。这里我使用的超级管理员权限登陆的。

到这里为止,网络DOS命令的介绍就告一段落了,这里介绍的目的只是给菜鸟网管一个印象,让其知道熟悉和掌握网络DOS命令的重要性。其实和网络有关的DOS命令还远不止这些,这里只是抛砖引玉,希望能对广大菜鸟网管有所帮助。学好DOS对当好网管有很大的帮助,特别的熟练掌握了一些网络的DOS命令。

另外大家应该清楚,任何人要想进入系统,必须得有一个合法的用户名和密码(输入法漏洞差不多绝迹了吧),哪怕你拿到帐户的只有一个很小的权限,你也可以利用它来达到最后的目的。所以坚决消灭空口令,给自己的帐户加上一个强壮的密码,是最好的防御弱口令入侵的方法。

最后,由衷的说一句,培养良好的安全意识才是最重要的。

黑客攻击网站的原理是什么?

最简单的一种攻击方式,偷偷跑的机房把对方服务器砸了..

有SQL注入,主要是里用数据库进行攻击。可以得到网站后台密码。或直接向服务器传脚本木马.

DDOS,就是一个网站他的访问人数过多他不是就不能访问了吗。跟这个差不多。

黑客攻击原理

黑客入侵常用的攻击手法

1. 利用系统漏洞进行攻击

这是一种最普通的攻击手法,任何一种软件、一种操作系统都有它的漏洞,因而利用操作系统本身的漏洞来入侵、攻击网站也成为了一种最普遍的攻击手法,一方面由于网络安全管理员安全意识低下,没有及时对系统漏洞进行修补或选用默认安装的方式,从而被入侵者攻击得逞;另一方面由于系统漏洞很容易被初学者所掌握。由于服务器在初次安装完成后,都存在着重大安全隐患,正如米特尼克所说,他可以进入世界任何一台默认安装的服务器。不光是米特尼克能进入任何一台默认安装的服务器,任何一个稍懂计算机漏洞的人都可以做到。

2. 通过电子邮件进行攻击

这属于一种简单的攻击方法,一般有3种情况。第1种情况:攻击者给受害人发送大量的垃圾信件,导致受害人信箱的容量被完全占用,从而停止正常的收发邮件;第2种情况:非法使用受害服务器的电子邮件服务功能,向第三方发送垃圾邮件,为自己做广告或是宣传产品等,这样就使受害服务器负荷;第3种情况:一般公司的服务器可能把邮件服务器和Web服务器都放在一起,攻击者可以向该服务器发送大量的垃圾邮件,这些邮件可能都塞在一个邮件队列中或者就是坏邮件队列中,直到邮箱被撑破或者把硬盘塞满。这样,就实现了攻击者的攻击目的。

3. 破解攻击

破解攻击是网上攻击最常用的方法,入侵者通过系统常用服务或对网络通信进行监听来搜集账号,当找到主机上的有效账号后,就采用字典穷举法进行攻击,或者他们通过各种方法获取PASSWORD文件,然后用口令猜测,程序破译用户的账号和密码。

4. 后门程序攻击

后门程序攻击是指入侵者躲过日志、使自己重返被入侵系统的技术。后门程序的种类很多,常见的有:调试后门程序、管理后门程序、恶意后门程序、服务后门程序、文件系统后门程序、内核后门程序等。

特洛伊木马就是一种后门程序,伪造合法的程序,偷偷侵入用户系统从而获得系统的控制权。它提供某些功能作为诱饵,当目标计算机启动时木马程序随之启动,然后在某一特定的端口监听,通过监听端口收到命令后,木马程序会根据命令在目标计算机上执行一些操作,如传送或删除文件,窃取口令、重新启动计算机等。

5. 拒绝服务攻击

拒绝服务攻击是入侵者的攻击方法,因为在入侵目标服务器无法得逞时,可以利用拒绝服务攻击使服务器或网络瘫痪。通过发送大量合法请求,进行恶意攻击导致服务器资源耗尽,不能对正常的服务请求做出响应。可以说拒绝服务攻击是入侵者的终极手法。

6. 缓冲区溢出攻击

溢出攻击可以说是入侵者的最爱,是被入侵者使用最多的攻击漏洞。因为它是一个非常具有危险性的漏洞,造成溢出后一般可以获取一个Shell,从而计算机就被入侵者完全控制。接下来认识一下缓冲区溢出攻击。

溢出区是内存中存放数据的地方,在程序试图将数据放到计算机内存中的某一个地方时,因为没有足够的空间就会发生缓冲区溢出,而人为溢出则是攻击者编写一个超出溢出区长度的字符串,然后植入缓冲区,这样就可能导致两种结果。一是过长的字符串覆盖了相邻的存储单元引起程序运行错误,有时可能导致系统崩溃;另一方面是,通过把字符串植入缓冲区,从而获得系统权限,可以执行任意指令。

网络攻击的常见手法及其防范措施

一、计算机病毒攻击手段

(一)利用网络系统漏洞进行攻击

许多网络系统都存在着这样那样的漏洞,这些漏洞有可能是系统本身所有的,如WindowsNT、UNIX等都有数量不等的漏洞,也有可能是由于网管的疏忽而造成的。黑客利用这些漏洞就能完成密码探测、系统入侵等攻击。

对于系统本身的漏洞,可以安装软件补丁;另外网管也需要仔细工作,尽量避免因疏忽而使他人有机可乘。

(二)通过电子邮件进行攻击

电子邮件是互联网上运用得十分广泛的一种通讯方式。黑客可以使用一些邮件炸弹软件或CGI程序向目的邮箱发送大量内容重复、无用的垃圾邮件,从而使目的邮箱被撑爆而无法使用。当垃圾邮件的发送流量特别大时,还有可能造成邮件系统对于正常的工作反映缓慢,甚至瘫痪,这一点和后面要讲到的“拒绝服务攻击(DDoS)比较相似。

对于遭受此类攻击的邮箱,可以使用一些垃圾邮件清除软件来解决,其中常见的有SpamEater、Spamkiller等,Outlook等收信软件同样也能达到此目的。

(三)解密攻击

在互联网上,使用密码是最常见并且最重要的安全保护方法,用户时时刻刻都需要输入密码进行身份校验。而现在的密码保护手段大都认密码不认人,只要有密码,系统就会认为你是经过授权的正常用户,因此,取得密码也是黑客进行攻击的一重要手法。取得密码也还有好几种方法,一种是对网络上的数据进行监听。因为系统在进行密码校验时,用户输入的密码需要从客户端传送到服务器端,而黑客就能在两端之间进行数据监听。但一般系统在传送密码时都进行了加密处理,即黑客所得到的数据中不会存在明文的密码,这给黑客进行破解又提了一道难题。这种手法一般运用于局域网,一旦成功攻击者将会得到很大的操作权益。另一种解密方法就是使用穷举法对已知用户名的密码进行暴力解密。这种解密的软件对尝试所有可能字符所组成的密码,但这项工作十分地费时,不过如果用户的密码设置得比较简单,如“12345”、“ABC”等那有可能只需一眨眼的功夫就可搞定。

为了防止受到这种攻击的危害,用户在进行密码设置时一定要将其设置得复杂,也可使用多层密码,或者变换思路使用中文密码,并且不要以自己的生日和电话甚至用户名作为密码,因为一些密码破解软件可以让破解者输入与被破解用户相关的信息,如生日等,然后对这些数据构成的密码进行优先尝试。另外应该经常更换密码,这样使其被破解的可能性又下降了不少。

(四)后门软件攻击

后门软件攻击是互联网上比较多的一种攻击手法。Back Orifice2000、冰河等都是比较著名的特洛伊木马,它们可以非法地取得用户计算机的超级用户级权利,可以对其进行完全的控制,除了可以进行档操作外,同时也可以进行对方桌面抓图、取得密码等操作。这些后门软件分为服务器端和客户端,当黑客进行攻击时,会使用客户端程序登陆上已安装好服务器端程序的计算机,这些服务器端程序都比较小,一般会随附带于某些软件上。有可能当用户下载了一个小游戏并运行时,后门软件的服务器端就安装完成了,而且大部分后门软件的重生能力比较强,给用户进行清除造成一定的麻烦。

当在网上下载数据时,一定要在其运行之前进行病毒扫描,并使用一定的反编译软件,查看来源数据是否有其它可疑的应用程序,从而杜绝这些后门软件。

(五)拒绝服务攻击

互联网上许多大网站都遭受过此类攻击。实施拒绝服务攻击(DDoS)的难度比较小,但它的破坏性却很大。它的具体手法就是向目的服务器发送大量的数据包,几乎占取该服务器所有的网络宽带,从而使其无法对正常的服务请求进行处理,而导致网站无法进入、网站响应速度大大降低或服务器瘫痪。现在常见的蠕虫病毒或与其同类的病毒都可以对服务器进行拒绝服务攻击的进攻。它们的繁殖能力极强,一般通过Microsoft的Outlook软件向众多邮箱发出带有病毒的邮件,而使邮件服务器无法承担如此庞大的数据处理量而瘫痪。

对于个人上网用户而言,也有可能遭到大量数据包的攻击使其无法进行正常的网络操作,所以大家在上网时一定要安装好防火墙软件,同时也可以安装一些可以隐藏IP地址的程序,怎样能大大降低受到攻击的可能性。

二、计算机网络安全的防火墙技术

计算机网络安全是指利用网络管理控制和技术措施,保证在一个网络环境里,信息数据的保密性、完整性和可使用性受到保护。网络安全防护的根本目的,就是防止计算机网络存储、传输的信息被非法使用、破坏和篡改。防火墙技术正是实现上述目的一种常用的计算机网络安全技术。

(一)防火墙的含义

所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络,防止他们更改、拷贝、毁坏你的重要信息。

(二)防火墙的安全性分析

防火墙对网络的安全起到了一定的保护作用,但并非万无一失。通过对防火墙的基本原理和实现方式进行分析和研究,作者对防火墙的安全性有如下几点认识:

1.只有正确选用、合理配置防火墙,才能有效发挥其安全防护作用

防火墙作为网络安全的一种防护手段,有多种实现方式。建立合理的防护系统,配置有效的防火墙应遵循这样四个基本步骤:

a.风险分析;

b.需求分析;

c.确立安全政策;

d.选择准确的防护手段,并使之与安全政策保持一致。

然而,多数防火墙的设立没有或很少进行充分的风险分析和需求分析,而只是根据不很完备的安全政策选择了一种似乎能“满足”需要的防火墙,这样的防火墙能否“防火”还是个问题。

2.应正确评估防火墙的失效状态

评价防火墙性能如何,及能否起到安全防护作用,不仅要看它工作是否正常,能否阻挡或捕捉到恶意攻击和非法访问的蛛丝马迹,而且要看到一旦防火墙被攻破,它的状态如何? 按级别来分,它应有这样四种状态:

a.未受伤害能够继续正常工作;

b.关闭并重新启动,同时恢复到正常工作状态;

c.关闭并禁止所有的数据通行;

d. 关闭并允许所有的数据通行。

前两种状态比较理想,而第四种最不安全。但是许多防火墙由于没有条件进行失效状态测试和验证,无法确定其失效状态等级,因此网络必然存在安全隐患。

3.防火墙必须进行动态维护

防火墙安装和投入使用后,并非万事大吉。要想充分发挥它的安全防护作用,必须对它进行跟踪和维护,要与商家保持密切的'联系,时刻注视商家的动态。因为商家一旦发现其产品存在安全漏洞,就会尽快发布补救(Patch) 产品,此时应尽快确认真伪(防止特洛伊木马等病毒),并对防火墙软件进行更新。

4.目前很难对防火墙进行测试验证

防火墙能否起到防护作用,最根本、最有效的证明方法是对其进行测试,甚至站在“黑客”的角度采用各种手段对防火墙进行攻击。然而具体执行时难度较大,主要原因是:

a.防火墙性能测试目前还是一种很新的技术,尚无正式出版刊物,可用的工具和软件更是寥寥无几。据了解目前只有美国ISS公司提供有防火墙性能测试的工具软件。

b.防火墙测试技术尚不先进,与防火墙设计并非完全吻合,使得测试工作难以达到既定的效果。

c.选择“谁”进行公正的测试也是一个问题。

可见,防火墙的性能测试决不是一件简单的事情,但这种测试又相当必要,进而提出这样一个问题:不进行测试,何以证明防火墙安全?

5.非法攻击防火墙的基本“招数”

a. IP地址欺骗攻击。许多防火墙软件无法识别数据包到底来自哪个网络接口,因此攻击者无需表明进攻数据包的真正来源,只需伪装IP地址,取得目标的信任,使其认为来自网络内部即可。IP地址欺骗攻击正是基于这类防火墙对IP地址缺乏识别和验证的机制而得成的。

b.破坏防火墙的另一种方式是攻击与干扰相结合。也就是在攻击期间使防火墙始终处于繁忙的状态。防火墙过分的繁忙有时会导致它忘记履行安全防护的职能,处于失效状态。

c.防火墙也可能被内部攻击。因为安装了防火墙后,随意访问被严格禁止了, 这样内部人员无法在闲暇的时间通过Telnet浏览邮件或使用FTP向外发送信息,个别人会对防火墙不满进而可能攻击它、破坏它,期望回到从前的状态。这里,攻击的目标常常是防火墙或防火墙运行的操作系统,因此不仅涉及网络安全,还涉及主机安全问题。

(三)防火墙的基本类型

实现防火墙的技术包括四大类:网络级防火墙(也叫包过滤型防火墙)、应用级网关、电路级网关和规则检查防火墙。

1.网络级防火墙

一般是基于源地址和目的地址、应用或协议以及每个IP包的埠来作出通过与否的判断。一个路由器便是一个“传统”的网络级防火墙,大多数的路由器都能通过检查这些信息来决定是否将所收到的包转发,但它不能判断出一个IP包来自何方,去向何处。

先进的网络级防火墙可以判断这一点,它可以提供内部信息以说明所通过的连接状态和一些数据流的内容,把判断的信息同规则表进行比较,在规则表中定义了各种规则来表明是否同意或拒绝包的通过。包过滤防火墙检查每一条规则直至发现包中的信息与某规则相符。如果没有一条规则能符合,防火墙就会使用默认规则,一般情况下,默认规则就是要求防火墙丢弃该包。其次,通过定义基于TCP或UDP数据包的端口号,防火墙能够判断是否允许建立特定的连接,如Telnet、FTP连接。

网络攻击器的原理是什么?是怎么向固定的ip地址发起进攻的?

常见网络攻击原理

1.1 TCP SYN拒绝服务攻击

一般情况下,一个TCP连接的建立需要经过三次握手的过程,即:

1、 建立发起者向目标计算机发送一个TCP SYN报文;

2、 目标计算机收到这个SYN报文后,在内存中创建TCP连接控制块(TCB),然后向发起者回送一个TCP ACK报文,等待发起者的回应;

3、 发起者收到TCP ACK报文后,再回应一个ACK报文,这样TCP连接就建立起来了。

利用这个过程,一些恶意的攻击者可以进行所谓的TCP SYN拒绝服务攻击:

1、 攻击者向目标计算机发送一个TCP SYN报文;

2、 目标计算机收到这个报文后,建立TCP连接控制结构(TCB),并回应一个ACK,等待发起者的回应;

3、 而发起者则不向目标计算机回应ACK报文,这样导致目标计算机一致处于等待状态。

可以看出,目标计算机如果接收到大量的TCP SYN报文,而没有收到发起者的第三次ACK回应,会一直等待,处于这样尴尬状态的半连接如果很多,则会把目标计算机的资源(TCB控制结构,TCB,一般情况下是有限的)耗尽,而不能响应正常的TCP连接请求。

1.2 ICMP洪水

正常情况下,为了对网络进行诊断,一些诊断程序,比如PING等,会发出ICMP响应请求报文(ICMP ECHO),接收计算机接收到ICMP ECHO后,会回应一个ICMP ECHO Reply报文。而这个过程是需要CPU处理的,有的情况下还可能消耗掉大量的资源,比如处理分片的时候。这样如果攻击者向目标计算机发送大量的ICMP ECHO报文(产生ICMP洪水),则目标计算机会忙于处理这些ECHO报文,而无法继续处理其它的网络数据报文,这也是一种拒绝服务攻击(DOS)。

1.3 UDP洪水

原理与ICMP洪水类似,攻击者通过发送大量的UDP报文给目标计算机,导致目标计算机忙于处理这些UDP报文而无法继续处理正常的报文。

1.4 端口扫描

根据TCP协议规范,当一台计算机收到一个TCP连接建立请求报文(TCP SYN)的时候,做这样的处理:

1、 如果请求的TCP端口是开放的,则回应一个TCP ACK报文,并建立TCP连接控制结构(TCB);

2、 如果请求的TCP端口没有开放,则回应一个TCP RST(TCP头部中的RST标志设为1)报文,告诉发起计算机,该端口没有开放。

相应地,如果IP协议栈收到一个UDP报文,做如下处理:

1、 如果该报文的目标端口开放,则把该UDP报文送上层协议(UDP)处理,不回应任何报文(上层协议根据处理结果而回应的报文例外);

2、 如果该报文的目标端口没有开放,则向发起者回应一个ICMP不可达报文,告诉发起者计算机该UDP报文的端口不可达。

利用这个原理,攻击者计算机便可以通过发送合适的报文,判断目标计算机哪些TCP或UDP端口是开放的,过程如下:

1、 发出端口号从0开始依次递增的TCP SYN或UDP报文(端口号是一个16比特的数字,这样最大为65535,数量很有限);

2、 如果收到了针对这个TCP报文的RST报文,或针对这个UDP报文的ICMP不可达报文,则说明这个端口没有开放;

3、 相反,如果收到了针对这个TCP SYN报文的ACK报文,或者没有接收到任何针对该UDP报文的ICMP报文,则说明该TCP端口是开放的,UDP端口可能开放(因为有的实现中可能不回应ICMP不可达报文,即使该UDP端口没有开放)。

这样继续下去,便可以很容易的判断出目标计算机开放了哪些TCP或UDP端口,然后针对端口的具体数字,进行下一步攻击,这就是所谓的端口扫描攻击。

1.5 分片IP报文攻击

为了传送一个大的IP报文,IP协议栈需要根据链路接口的MTU对该IP报文进行分片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP分片报文组装起来。

目标计算机在处理这些分片报文的时候,会把先到的分片报文缓存起来,然后一直等待后续的分片报文,这个过程会消耗掉一部分内存,以及一些IP协议栈的数据结构。如果攻击者给目标计算机只发送一片分片报文,而不发送所有的分片报文,这样攻击者计算机便会一直等待(直到一个内部计时器到时),如果攻击者发送了大量的分片报文,就会消耗掉目标计算机的资源,而导致不能相应正常的IP报文,这也是一种DOS攻击。

1.6 SYN比特和FIN比特同时设置

在TCP报文的报头中,有几个标志字段:

1、 SYN:连接建立标志,TCP SYN报文就是把这个标志设置为1,来请求建立连接;

2、 ACK:回应标志,在一个TCP连接中,除了第一个报文(TCP SYN)外,所有报文都设置该字段,作为对上一个报文的相应;

3、 FIN:结束标志,当一台计算机接收到一个设置了FIN标志的TCP报文后,会拆除这个TCP连接;

4、 RST:复位标志,当IP协议栈接收到一个目标端口不存在的TCP报文的时候,会回应一个RST标志设置的报文;

5、 PSH:通知协议栈尽快把TCP数据提交给上层程序处理。

正常情况下,SYN标志(连接请求标志)和FIN标志(连接拆除标志)是不能同时出现在一个TCP报文中的。而且RFC也没有规定IP协议栈如何处理这样的畸形报文,因此,各个操作系统的协议栈在收到这样的报文后的处理方式也不同,攻击者就可以利用这个特征,通过发送SYN和FIN同时设置的报文,来判断操作系统的类型,然后针对该操作系统,进行进一步的攻击。

1.7 没有设置任何标志的TCP报文攻击

正常情况下,任何TCP报文都会设置SYN,FIN,ACK,RST,PSH五个标志中的至少一个标志,第一个TCP报文(TCP连接请求报文)设置SYN标志,后续报文都设置ACK标志。有的协议栈基于这样的假设,没有针对不设置任何标志的TCP报文的处理过程,因此,这样的协议栈如果收到了这样的报文,可能会崩溃。攻击者利用了这个特点,对目标计算机进行攻击。

1.8 设置了FIN标志却没有设置ACK标志的TCP报文攻击

正常情况下,ACK标志在除了第一个报文(SYN报文)外,所有的报文都设置,包括TCP连接拆除报文(FIN标志设置的报文)。但有的攻击者却可能向目标计算机发送设置了FIN标志却没有设置ACK标志的TCP报文,这样可能导致目标计算机崩溃。

1.9 死亡之PING

TCP/IP规范要求IP报文的长度在一定范围内(比如,0-64K),但有的攻击计算机可能向目标计算机发出大于64K长度的PING报文,导致目标计算机IP协议栈崩溃。

1.10 地址猜测攻击

跟端口扫描攻击类似,攻击者通过发送目标地址变化的大量的ICMP ECHO报文,来判断目标计算机是否存在。如果收到了对应的ECMP ECHO REPLY报文,则说明目标计算机是存在的,便可以针对该计算机进行下一步的攻击。

1.11 泪滴攻击

对于一些大的IP包,需要对其进行分片传送,这是为了迎合链路层的MTU(最大传输单元)的要求。比如,一个4500字节的IP包,在MTU为1500的链路上传输的时候,就需要分成三个IP包。

在IP报头中有一个偏移字段和一个分片标志(MF),如果MF标志设置为1,则表面这个IP包是一个大IP包的片断,其中偏移字段指出了这个片断在整个IP包中的位置。例如,对一个4500字节的IP包进行分片(MTU为1500),则三个片断中偏移字段的值依次为:0,1500,3000。这样接收端就可以根据这些信息成功的组装该IP包。

如果一个攻击者打破这种正常情况,把偏移字段设置成不正确的值,即可能出现重合或断开的情况,就可能导致目标操作系统崩溃。比如,把上述偏移设置为0,1300,3000。这就是所谓的泪滴攻击。

1.12 带源路由选项的IP报文

为了实现一些附加功能,IP协议规范在IP报头中增加了选项字段,这个字段可以有选择的携带一些数据,以指明中间设备(路由器)或最终目标计算机对这些IP报文进行额外的处理。

源路由选项便是其中一个,从名字中就可以看出,源路由选项的目的,是指导中间设备(路由器)如何转发该数据报文的,即明确指明了报文的传输路径。比如,让一个IP报文明确的经过三台路由器R1,R2,R3,则可以在源路由选项中明确指明这三个路由器的接口地址,这样不论三台路由器上的路由表如何,这个IP报文就会依次经过R1,R2,R3。而且这些带源路由选项的IP报文在传输的过程中,其源地址不断改变,目标地址也不断改变,因此,通过合适的设置源路由选项,攻击者便可以伪造一些合法的IP地址,而蒙混进入网络。

1.13 带记录路由选项的IP报文

记录路由选项也是一个IP选项,携带了该选项的IP报文,每经过一台路由器,该路由器便把自己的接口地址填在选项字段里面。这样这些报文在到达目的地的时候,选项数据里面便记录了该报文经过的整个路径。

通过这样的报文可以很容易的判断该报文经过的路径,从而使攻击者可以很容易的寻找其中的攻击弱点。

1.14 未知协议字段的IP报文

在IP报文头中,有一个协议字段,这个字段指明了该IP报文承载了何种协议 ,比如,如果该字段值为1,则表明该IP报文承载了ICMP报文,如果为6,则是TCP,等等。目前情况下,已经分配的该字段的值都是小于100的,因此,一个带大于100的协议字段的IP报文,可能就是不合法的,这样的报文可能对一些计算机操作系统的协议栈进行破坏。

1.15 IP地址欺骗

一般情况下,路由器在转发报文的时候,只根据报文的目的地址查路由表,而不管报文的源地址是什么,因此,这样就 可能面临一种危险:如果一个攻击者向一台目标计算机发出一个报文,而把报文的源地址填写为第三方的一个IP地址,这样这个报文在到达目标计算机后,目标计算机便可能向毫无知觉的第三方计算机回应。这便是所谓的IP地址欺骗攻击。

比较著名的SQL Server蠕虫病毒,就是采用了这种原理。该病毒(可以理解为一个攻击者)向一台运行SQL Server解析服务的服务器发送一个解析服务的UDP报文,该报文的源地址填写为另外一台运行SQL Server解析程序(SQL Server 2000以后版本)的服务器,这样由于SQL Server 解析服务的一个漏洞,就可能使得该UDP报文在这两台服务器之间往复,最终导致服务器或网络瘫痪。

1.16 WinNuke攻击

NetBIOS作为一种基本的网络资源访问接口,广泛的应用于文件共享,打印共享,进程间通信(IPC),以及不同操作系统之间的数据交换。一般情况下,NetBIOS是运行在LLC2链路协议之上的,是一种基于组播的网络访问接口。为了在TCP/IP协议栈上实现NetBIOS,RFC规定了一系列交互标准,以及几个常用的TCP/UDP端口:

139:NetBIOS会话服务的TCP端口;

137:NetBIOS名字服务的UDP端口;

136:NetBIOS数据报服务的UDP端口。

WINDOWS操作系统的早期版本(WIN95/98/NT)的网络服务(文件共享等)都是建立在NetBIOS之上的,因此,这些操作系统都开放了139端口(最新版本的WINDOWS 2000/XP/2003等,为了兼容,也实现了NetBIOS over TCP/IP功能,开放了139端口)。

WinNuke攻击就是利用了WINDOWS操作系统的一个漏洞,向这个139端口发送一些携带TCP带外(OOB)数据报文,但这些攻击报文与正常携带OOB数据报文不同的是,其指针字段与数据的实际位置不符,即存在重合,这样WINDOWS操作系统在处理这些数据的时候,就会崩溃。

1.17 Land攻击

LAND攻击利用了TCP连接建立的三次握手过程,通过向一个目标计算机发送一个TCP SYN报文(连接建立请求报文)而完成对目标计算机的攻击。与正常的TCP SYN报文不同的是,LAND攻击报文的源IP地址和目的IP地址是相同的,都是目标计算机的IP地址。这样目标计算机接收到这个SYN报文后,就会向该报文的源地址发送一个ACK报文,并建立一个TCP连接控制结构(TCB),而该报文的源地址就是自己,因此,这个ACK报文就发给了自己。这样如果攻击者发送了足够多的SYN报文,则目标计算机的TCB可能会耗尽,最终不能正常服务。这也是一种DOS攻击。

0条大神的评论

发表评论