修复ecshop注入XSS三个漏洞方法

2016-09-07 22:02 来源:www.chinab4c.com 作者:ecshop专家

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’]);

(责任编辑:chinab4c)