为什么这会触发XSS?

时间:2012-01-12 22:55:08

标签: security xss client-side

我刚在xssed.com上找到了这个,如果有人能解释我为什么警报显示here

为什么%25然后是十六进制值,我只尝试了%hexvalue,没有任何反应,%25如何帮助。 谢谢,满足我的好奇心......

2 个答案:

答案 0 :(得分:1)

完整的XSS有效负载是:

  

%2522%253E%253C%2573%2563%2572%2569%2570%2574%253E%2561%256℃%2565%2572%2574%2528%252F%2558%2553%2553%252F%2529%253℃% 252F%2573%2563%2572%2569%2570%2574%253E = XSS-ME

如果您执行单个url-decode,则会收到以下信息:

%22%3e%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%2f%58%53%53%2f%29%3c%2f%73%63%72%69%70%74%3

如果再次执行第二次URL解码,则会获得有效负载:

"><script>alert(/XSS/)</script>=XSS-ME

这是一个doulbe-url编码的有效载荷。当%2522被网址解码时,它变为:%22,因为hex-25是%,当它再次被url解码时,它变为"

答案 1 :(得分:0)

这就是答案。一些谷歌搜索给了我答案。不管怎样,谢谢。

http://www.criticalsecurity.net/index.php/topic/8870-bypassing-phps-urlencode/