遗落的世界 發表於 2011-10-10 00:03:17

ECSHOP php商城系统过滤不严导致SQL注入漏洞

影响版本: <br />ECSHOP 2.7.2 Release 0604 <br />程序介绍: <br />ECSHOP是一款开源免费的网上商店系统。由专业的开发团队升级维护,为您提供及时高效的技术支持,您还可以根据自己的商务特征对ECSHOP进行定制,增加自己商城的特色功能。 <br />漏洞分析: <br />在include_libcommon.php中存在如下函数<br />
<div class="codeText">
<div class="codeHead"><span class="lantxt">PHP Code</span><span class="copyCodeText" style="CURSOR: pointer" onclick="copyIdText('code_2129')">复制内容到剪贴板</span></div>
<div id="code_2129">
<ol class="dp-c">
    <li class="alt"><span><span class="keyword">function</span><span>&nbsp;get_package_info(</span><span class="vars">$id</span><span>)&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span> </li>
    <li class=""><span>{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">global</span><span>&nbsp;</span><span class="vars">$ecs</span><span>,&nbsp;</span><span class="vars">$db</span><span>,</span><span class="vars">$_CFG</span><span>;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$now</span><span>&nbsp;=&nbsp;gmtime();&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$sql</span><span>&nbsp;=&nbsp;</span><span class="string">&quot;SELECT&nbsp;act_id&nbsp;AS&nbsp;id,&nbsp;&nbsp;act_name&nbsp;AS&nbsp;package_name,&nbsp;goods_id&nbsp;,&nbsp;goods_name,&nbsp;start_time,&nbsp;end_time,&nbsp;act_desc,&nbsp;ext_info&quot;</span><span>.&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="string">&quot;&nbsp;FROM&nbsp;&quot;</span><span>&nbsp;.&nbsp;</span><span class="vars">$GLOBALS</span><span>[</span><span class="string">'ecs'</span><span>]-&gt;table(</span><span class="string">'goods_activity'</span><span>)&nbsp;.&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="string">&quot;&nbsp;WHERE&nbsp;act_id='$id'&nbsp;AND&nbsp;act_type&nbsp;=&nbsp;&quot;</span><span>&nbsp;.&nbsp;GAT_PACKAGE;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$package</span><span>&nbsp;=&nbsp;</span><span class="vars">$db</span><span>-&gt;GetRow(</span><span class="vars">$sql</span><span>);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/*&nbsp;将时间转成可阅读格式&nbsp;*/</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(</span><span class="vars">$package</span><span>[</span><span class="string">'start_time'</span><span>]&nbsp;&lt;=&nbsp;</span><span class="vars">$now</span><span>&nbsp;&amp;&amp;&nbsp;</span><span class="vars">$package</span><span>[</span><span class="string">'end_time'</span><span>]&nbsp;&gt;=&nbsp;</span><span class="vars">$now</span><span>)&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$package</span><span>[</span><span class="string">'is_on_sale'</span><span>]&nbsp;=&nbsp;</span><span class="string">&quot;1&quot;</span><span>;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">else</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$package</span><span>[</span><span class="string">'is_on_sale'</span><span>]&nbsp;=&nbsp;</span><span class="string">&quot;0&quot;</span><span>;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$package</span><span>[</span><span class="string">'start_time'</span><span>]&nbsp;=&nbsp;local_date(</span><span class="string">'Y-m-d&nbsp;H:i'</span><span>,&nbsp;</span><span class="vars">$package</span><span>[</span><span class="string">'start_time'</span><span>]);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$package</span><span>[</span><span class="string">'end_time'</span><span>]&nbsp;&nbsp;&nbsp;=&nbsp;local_date(</span><span class="string">'Y-m-d&nbsp;H:i'</span><span>,&nbsp;</span><span class="vars">$package</span><span>[</span><span class="string">'end_time'</span><span>]);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$row</span><span>&nbsp;=&nbsp;unserialize(</span><span class="vars">$package</span><span>[</span><span class="string">'ext_info'</span><span>]);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;unset(</span><span class="vars">$package</span><span>[</span><span class="string">'ext_info'</span><span>]);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(</span><span class="vars">$row</span><span>)&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span>&nbsp;(</span><span class="vars">$row</span><span>&nbsp;</span><span class="keyword">as</span><span>&nbsp;</span><span class="vars">$key</span><span>=&gt;</span><span class="vars">$val</span><span>)&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$package</span><span>[</span><span class="vars">$key</span><span>]&nbsp;=&nbsp;</span><span class="vars">$val</span><span>;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$sql</span><span>&nbsp;=&nbsp;</span><span class="string">&quot;SELECT&nbsp;pg.package_id,&nbsp;pg.goods_id,&nbsp;pg.goods_number,&nbsp;pg.admin_id,&nbsp;&quot;</span><span>.&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="string">&quot;&nbsp;g.goods_sn,&nbsp;g.goods_name,&nbsp;g.market_price,&nbsp;g.goods_thumb,&nbsp;g.is_real,&nbsp;&quot;</span><span>.&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="string">&quot;&nbsp;IFNULL(mp.user_price,&nbsp;g.shop_price&nbsp;*&nbsp;'$_SESSION')&nbsp;AS&nbsp;rank_price&nbsp;&quot;</span><span>&nbsp;.&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="string">&quot;&nbsp;FROM&nbsp;&quot;</span><span>&nbsp;.&nbsp;</span><span class="vars">$GLOBALS</span><span>[</span><span class="string">'ecs'</span><span>]-&gt;table(</span><span class="string">'package_goods'</span><span>)&nbsp;.&nbsp;</span><span class="string">&quot;&nbsp;AS&nbsp;pg&nbsp;&quot;</span><span>.&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="string">&quot;&nbsp;&nbsp;&nbsp;LEFT&nbsp;JOIN&nbsp;&quot;</span><span>.&nbsp;</span><span class="vars">$GLOBALS</span><span>[</span><span class="string">'ecs'</span><span>]-&gt;table(</span><span class="string">'goods'</span><span>)&nbsp;.&nbsp;</span><span class="string">&quot;&nbsp;AS&nbsp;g&nbsp;&quot;</span><span>.&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="string">&quot;&nbsp;&nbsp;&nbsp;ON&nbsp;g.goods_id&nbsp;=&nbsp;pg.goods_id&nbsp;&quot;</span><span>.&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="string">&quot;&nbsp;LEFT&nbsp;JOIN&nbsp;&quot;</span><span>&nbsp;.&nbsp;</span><span class="vars">$GLOBALS</span><span>[</span><span class="string">'ecs'</span><span>]-&gt;table(</span><span class="string">'member_price'</span><span>)&nbsp;.&nbsp;</span><span class="string">&quot;&nbsp;AS&nbsp;mp&nbsp;&quot;</span><span>.&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="string">&quot;ON&nbsp;mp.goods_id&nbsp;=&nbsp;g.goods_id&nbsp;AND&nbsp;mp.user_rank&nbsp;=&nbsp;'$_SESSION'&nbsp;&quot;</span><span>.&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="string">&quot;&nbsp;WHERE&nbsp;pg.package_id&nbsp;=&nbsp;&quot;</span><span>&nbsp;.&nbsp;</span><span class="vars">$id</span><span>.&nbsp;</span><span class="string">&quot;&nbsp;&quot;</span><span>.&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="string">&quot;&nbsp;ORDER&nbsp;BY&nbsp;pg.package_id,&nbsp;pg.goods_id&quot;</span><span>;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$goods_res</span><span>&nbsp;=&nbsp;</span><span class="vars">$GLOBALS</span><span>[</span><span class="string">'db'</span><span>]-&gt;getAll(</span><span class="vars">$sql</span><span>);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$market_price</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;</span> </li>
</ol>
</div>
</div>
<br />其中$id没有经过严格过滤就直接进入了SQL查询,导致一个SQL注射漏洞。 <br />在系统的lib_order.php中存在一个该函数的调用 <br />
<div class="codeText">
<div class="codeHead"><span class="lantxt">PHP Code</span><span class="copyCodeText" style="CURSOR: pointer" onclick="copyIdText('code_8930')">复制内容到剪贴板</span></div>
<div id="code_8930">
<ol class="dp-c">
    <li class="alt"><span><span class="keyword">function</span><span>&nbsp;add_package_to_cart(</span><span class="vars">$package_id</span><span>,&nbsp;</span><span class="vars">$num</span><span>&nbsp;=&nbsp;1)&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$GLOBALS</span><span>[</span><span class="string">'err'</span><span>]-&gt;clean();&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/*&nbsp;取得礼包信息&nbsp;*/</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$package</span><span>&nbsp;=&nbsp;get_package_info(</span><span class="vars">$package_id</span><span>);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(emptyempty(</span><span class="vars">$package</span><span>))&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$GLOBALS</span><span>[</span><span class="string">'err'</span><span>]-&gt;add(</span><span class="vars">$GLOBALS</span><span>[</span><span class="string">'_LANG'</span><span>][</span><span class="string">'goods_not_exists'</span><span>],&nbsp;ERR_NOT_EXISTS);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;false;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
</ol>
</div>
</div>
在flow.php中存在可控的输入源 <br />
<div class="codeText">
<div class="codeHead"><span class="lantxt">PHP Code</span><span class="copyCodeText" style="CURSOR: pointer" onclick="copyIdText('code_6186')">复制内容到剪贴板</span></div>
<div id="code_6186">
<ol class="dp-c">
    <li class="alt"><span><span class="vars">$package</span><span>&nbsp;=&nbsp;</span><span class="vars">$json</span><span>-&gt;decode(</span><span class="vars">$_POST</span><span>[</span><span class="string">'package_info'</span><span>]);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/*&nbsp;如果是一步购物,先清空购物车&nbsp;*/</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(</span><span class="vars">$_CFG</span><span>[</span><span class="string">'one_step_buy'</span><span>]&nbsp;==&nbsp;</span><span class="string">'1'</span><span>)&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clear_cart();&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/*&nbsp;商品数量是否合法&nbsp;*/</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(!</span><span class="func">is_numeric</span><span>(</span><span class="vars">$package</span><span>-&gt;number)&nbsp;||&nbsp;</span><span class="func">intval</span><span>(</span><span class="vars">$package</span><span>-&gt;number)&nbsp;&lt;=&nbsp;0)&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$result</span><span>[</span><span class="string">'error'</span><span>]&nbsp;&nbsp;&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$result</span><span>[</span><span class="string">'message'</span><span>]&nbsp;=&nbsp;</span><span class="vars">$_LANG</span><span>[</span><span class="string">'invalid_number'</span><span>];&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">else</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/*&nbsp;添加到购物车&nbsp;*/</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(add_package_to_cart(</span><span class="vars">$package</span><span>-&gt;package_id,&nbsp;</span><span class="vars">$package</span><span>-&gt;number))&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(</span><span class="vars">$_CFG</span><span>[</span><span class="string">'cart_confirm'</span><span>]&nbsp;&gt;&nbsp;2)&nbsp;&nbsp;&nbsp;</span></li>
</ol>
</div>
</div>
<br />$package-&gt;package_id来源于输入 <br />解决方案: <br />厂商补丁 <br />ECSHOP <br />---------- <br />目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: <br />http://www.ecshop.com <br />信息来源: <br />来源: WooYun
頁: [1]
查看完整版本: ECSHOP php商城系统过滤不严导致SQL注入漏洞