西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > ecshop教程 >

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

时间:2016-01-02 03:13来源:未知 作者:好模板 点击:
Ecshop pages.lbi.php Xss漏洞,search.php注入漏洞,Ecshop version XSS漏洞 1.Ecshop pages.lbi.php Xss漏洞 先来分析这个漏洞的原因: 直接访问temp/compiled/pages.lbi.php时,浏览源文件,会发现如下代码: for

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

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------