火狐Quick Translator插件XSS及利用技巧脚本安全 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

    Quick Translator未经过滤直接输出,导致XSS

   

    Quick Translator对谷歌翻译返回未经过滤直接输出,导致XSS

    不知道什么原因,直接翻译script标签是不行的,所以需要借助img等其他标签,

火狐Quick Translator插件XSS及利用技巧脚本安全

。Quick Translator默认设置为检测语言,而谷歌翻将英文翻译成中文时会将引号转换为全角,并在其他符号后面加空格,所以需要加上一些中文字符让谷歌翻译认为提交的是中文。

    说了这么多,看个例子吧,以下代码用Quick Translator翻译从中文翻译到英文会弹框(右键翻译和在对话框输入是一样的)。

<code style="padding-bottom: 0px; background-color: rgb(248,248,248); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Console', 'Courier New', Courier, mono, monospace; color: rgb(51,51,51); padding-top: 0px"><img src='#' alt='中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文' nerror='javascript.:alert(document.domain)'/></code>

    由于没有人会憨厚到选中代码翻译,所以需要将这段代码隐藏起来,同时不影响选中。仿照论坛复制干扰码,将其进行html转义后放在一个指定文字大小为0px的span中;同时,由于实际触发点位于右下角翻译结果处,为了隐藏图片需要给图片加上display:none样式;最后,将这段代码插在一段很少有人认识的语言中,例如الاشتراكية جيدة ,使得别人可能会去翻译这句话。

    最后的poc如下:

<code style="padding-bottom: 0px; background-color: rgb(248,248,248); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Console', 'Courier New', Courier, mono, monospace; color: rgb(51,51,51); padding-top: 0px">الاشتراكية جيدة <span style="font-size:0px;"><img src='#' alt='中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文' style='display:none' nerror='javascript.:alert(document.domain)'></span> الاشتراكية جيدة <br></code>

   

    可以在某些公共博客、论坛之类发个吸引人的帖子,然后引用一段官方的“原话”作为证据(选个较为少见的语种,比如德语意大利语之类),并在其中插入代码,

电脑资料

火狐Quick Translator插件XSS及利用技巧脚本安全》(https://www.unjs.com)。

    例子:躺中枪的某程序猿博客

   

   

    要是以“nodejs进阶技巧”等热点技术发个帖,并在资料引用处插入poc,会有多少人中招?

修复方案:

<code style="padding-bottom: 0px; background-color: rgb(248,248,248); margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Lucida Console', 'Courier New', Courier, mono, monospace; color: rgb(51,51,51); padding-top: 0px">

最新文章