| 关键词: 字符 漏洞 白帽 限制 域名 长度 输入 payload 安全 |
大家好,这是我编写的第一篇文章,之所以会分享这个故事,是因为我花了几个晚上的时间,终于找到了解决某个问题的方法。故事如下: 几个月前,我被邀请参加一个非公共的漏洞悬赏项目,在初期发现了一些漏洞后,就再无收获。 而在最后5天里,出于对金钱的渴望,我告诉自己必须在整个项目结束之前再找到一些漏洞,因此我又从头开始梳理整个目标。 这个目标是一个大型的社交网络,而转折就发生在我去创建一个新的帐户时。 当我在用户名处输入一个XSS的payload时,特殊字符: <:’();?>全不能输入,而且长度限制为20个字符。 此时,我没有太好的办法,只能去寻找其他漏洞。 而当我访问目标范围内的第二个域名,试图用我的电子邮件注册新帐户时,被告知:用户已经注册,请登录。看来,这两个网站使用的是同一个数据库的用户数据,那么我可以借这个网站插入XSS么? 我很快进入到“个人资料”页面,尝试编辑我的用户名。是的,的确没有了敏感字符限制! 但是,这个长度还是被限制在20个字符以内。 我首先输入一个简单的payload来确认XSS的存在: 输入并保存后,我转向第一个网站,并成功在“个人资料”页面发现了弹框! 接下来,我开始探究如何窃取cookie,因为危害越大,奖励越高。 不过由于无法绕过长度限制,所以如何才能用小于20个字符的XSS来窃取cookie?xsshunter工具的确很有用,但payload都太长了,所以我花费了很久的时间不停寻找新方法。48小时之后,我发现了这条来自2016年的推特,其中的payload的确很短,来自@0x6D6172696F: ![]() |
| 本文出处: https://www.toutiao.com/a6762061401092522503/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|