所属建站程序:帝国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']); 133行 value="<?=$_GET['filesize']?>"改为 value="<?=htmlspecialchars($_GET['filesize'])?>" |
