来源:自学PHP网 时间:2015-04-16 23:15 作者: 阅读:次
[导读] Quick Translator未经过滤直接输出,导致XSSQuick Translator对谷歌翻译返回未经过滤直接输出,导致XSS不知道什么原因,直接翻译script标签是不行的,所以需要借助img等其他标签。Quick Translat...
Quick Translator对谷歌翻译返回未经过滤直接输出,导致XSS
不知道什么原因,直接翻译script标签是不行的,所以需要借助img等其他标签。Quick Translator默认设置为检测语言,而谷歌翻将英文翻译成中文时会将引号转换为全角,并在其他符号后面加空格,所以需要加上一些中文字符让谷歌翻译认为提交的是中文。
说了这么多,看个例子吧,以下代码用Quick Translator翻译从中文翻译到英文会弹框(右键翻译和在对话框输入是一样的)。
<img src='#' alt='中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文' onerror='javascript:alert(document.domain)'/>
由于没有人会憨厚到选中代码翻译,所以需要将这段代码隐藏起来,同时不影响选中。仿照论坛复制干扰码,将其进行html转义后放在一个指定文字大小为0px的span中;同时,由于实际触发点位于右下角翻译结果处,为了隐藏图片需要给图片加上display:none样式;最后,将这段代码插在一段很少有人认识的语言中,例如الاشتراكية جيدة ,使得别人可能会去翻译这句话。
最后的poc如下:
الاشتراكية جيدة <span style="font-size:0px;"><img src='#' alt='中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文' style='display:none' onerror='javascript:alert(document.domain)'></span> الاشتراكية جيدة <br>
可以在某些公共博客、论坛之类发个吸引人的帖子,然后引用一段官方的“原话”作为证据(选个较为少见的语种,比如德语意大利语之类),并在其中插入代码。
例子:躺中枪的某程序猿博客
要是以“nodejs进阶技巧”等热点技术发个帖,并在资料引用处插入poc,会有多少人中招?
修复方案:
<pre><xmp>xxx</xmp></pre>
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com