白帽子讲web安全笔记——XSS(二)

XSS构造技巧

利用字符编码

由于采用GBK/GB2312编码   %c1\长两个字符组合在一起会成为一个新的Unicode,会变成一个字符从而绕过系统的安全检查。

绕过长度限制

假设下面的代码存在一个漏洞

那下面的XSS构造就会失效

">

重新构造利用攻击时间来缩短所需要的字节数

"onclick=alert(1)// 

但是利用时间缩短的字节数是有限的,最好的办法是把XSS Payload写到别处,通过简短的代码加载这段XSS Payload。

常用的藏代码的地方是“location.hash”,并且web日志中并不会记录下location.hash里的内容,从而更好地隐藏了黑客真实的意图。

利用注释符绕过长度限制。比如我们能控制两个文本框,通过注释符号把两个文本框之间的HTML代码全部注释掉。

在第一个input框中,输入

">

使用标签 




标签将指定其后的标签默认从"http://www.google.com"取url。标签可以出现在页面的任何地方,并作用于位于该标签之后的所有标签。攻击者可以通过在远程服务器上伪造图片、链接或脚本,劫持当前页面中的所有使用“相对路径”的标签。

window.name的妙用

使用window.name可以缩短XSS的payload长度

在同一窗口打开XSS的站点后,只需要通过XSS执行以下代码即可

eval(name);

 

Anehta回旋镖

Flash XSS

你可能感兴趣的:(白帽子讲web安全笔记,白帽子讲web安全,安全,xss,web)