广州传奇网络

地址:广州市天河区东圃大马路富华楼C座

电话:13808825895

邮箱:gz020wbs@163.com

QQ:1564443073

网址:http://www.020wbs.com/

首页 > 二次开发Ecshop二次开发 > 修复ecshop注入XSS三个漏洞方法

二次开发Ecshop二次开发

二次开发Ecshop二次开发

修复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’] == 0): ?>

这里执行$this的时候就出现错误了,,因为没有进行template的初始化。

既然找到原因了,下面给出解决办法:

打开page.lbi文件,在第二行插入如下代码:

<?php if (!defined(‘IN_ECS’)) { die(‘Hacking attempt’); } ?>

 

2.search.php注入漏洞

search.php
大概300 源
if (is_not_null($val) )
修改为
if (is_not_null($val) && is_numeric($key))
就可以了

 

3.Ecshop version XSS漏洞

打开/admin/receive.php文件中,搜索如下代码:

$version=$_GET[‘version’];

修改为如下代码:

$version=Htmlspecialchars($_GET[‘version’]);