帝国Ecms编辑器跨站攻击漏洞,跨站脚本攻击(XSS)

迅恒数据中心

 

 

漏洞类型:跨站脚本攻击(XSS)
所属建站程序:帝国cms
所属服务器类型:通用
所属编程语言:PHP
描述:帝国cms编辑器中存在xss跨站,$InstanceName参数外部获取直接输出
危害:1.恶意用户可以使用该漏洞来盗取用户账户信息、模拟其他用户身份登录,更甚至可以修改网页呈现给其他用户的内容
2.恶意用户可以使用JavaScript、VBScript、ActiveX、HTML语言甚至Flash应用的漏洞来进行攻击,从而来达到获取其他的用户信息目的。
解决方案:
修改目录:/e/admin/ecmseditor/infoeditor/epage/ 和 /e/data/ecmseditor/infoeditor/epage 中的TranFile.php,TranFlash.php,TranImg.php,TranMedia.php,TranMore.php 这个5个文件将:$InstanceName=$_GET['InstanceName']; 改为:$InstanceName=htmlspecialchars($_GET['InstanceName']);
同时,再将TranFile.php 文件中
将:value="<?=$_GET['fname']?>" 改为: value="<?=htmlspecialchars($_GET['fname'])?>"
将:value="<?=$_GET['filesize']?>" 改为: value="<?=htmlspecialchars($_GET['filesize'])?>"
具体方法如图:

 

此漏洞存在于帝国cms的/e/data/ecmseditor/infoeditor/epage/目录和/e/admin/ecmseditor/infoeditor/epage/中的,TranFile.php,TranFlash.php,TranImg.php,TranMedia.php,TranMore.php这5个文件中变量$InstanceName

第7行  $InstanceName=$_GET['InstanceName'];

直接输出:
 

 

第160行<input type=hidden name=InstanceName value="<?=$InstanceName?>">

修复建议:

$InstanceName=$_GET['InstanceName'];

改为

$InstanceName=htmlspecialchars($_GET['InstanceName']);
同时 TranFile.php文件还得修改
如下代码
128行 value="<?=$_GET['fname']?>" 改为 value="<?=htmlspecialchars($_GET['fname'])?>"

133行 value="<?=$_GET['filesize']?>"改为  value="<?=htmlspecialchars($_GET['filesize'])?>"

分类:IDC资讯 百度收录 必应收录