您好,登錄后才能下訂單哦!
小編給大家分享一下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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。