小编给大家分享一下Ecshop pages.lbi.php Xss漏洞怎么修复,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
前段时间在用ecshop建站的时候,360报警说出现了严重的漏洞:
Ecshop pages.lbi.php Xss漏洞
==============================我是分割线==================================
描述:
目标存在跨站脚本***。
1.跨站脚本***就是指恶意***者向网页中插入一段恶意代码,当用户浏览该网页时,嵌入到网页中的恶意代码就会被执行。一般用来盗取浏览器cookie
+ 展开
危害:
恶意用户可以使用该漏洞来盗取用户账户信息、模拟其他用户身份登录,更甚至可以修改网页呈现给其他用户的内容。
解决方案:
临时解决方案:
1.使用360防护脚本
==========================我是分割线=================================
于是用360防护脚本,但没起到任何作用。于是只好自己动手。
先来分析这个漏洞的原因:
直接访问temp/compiled/pages.lbi.php时,浏览源文件,会发现如下代码:
<form name="selectPageForm" 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 name="selectPageForm" 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'); } ?>
再次测试,一切正常。
以上是“Ecshop pages.lbi.php Xss漏洞怎么修复”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。