专栏名称: 渗透师老A
不一样的角度学习五花八门的渗透技巧,了解安全圈背后的故事
目录
相关文章推荐
传媒招聘那些事儿  ·  【简历提升】挖掘亮点:提升眼界思路,优化简历! ·  18 小时前  
传媒招聘那些事儿  ·  【全职岗位表格】在线文档持续更新:新闻媒体/ ... ·  昨天  
传媒招聘那些事儿  ·  【职业咨询】1V1模拟面试/语音答疑服务助力求职! ·  2 天前  
传媒招聘那些事儿  ·  小红书:新客运营-生态业务 ·  昨天  
传媒招聘那些事儿  ·  小米:快递运营经理 ·  昨天  
51好读  ›  专栏  ›  渗透师老A

记几次略有意思的 XSS 漏洞发现

渗透师老A  · 公众号  ·  · 2022-12-19 10:25

正文

记挖洞过程中遇到的几个XSS漏洞,三个存储型XSS和一个反射型XSS,主要 分享思路。输入可控,且被输出,均可测一测XSS。


登录明细+IP+XFF


登录后进入【个人中心】,发现【登录明细】的功能,记录了登录时间登录IP这些东西。



抓登录的请求包,构造 X-Forwarded-For 头重放,咦,简单的拼接,有机会。



很多应用在用户登录时都有选择记录登录IP,没错,首先想到就是构造xff测sql注入。这里我们不做关于sql注入的分析,主要还是菜xiong反复测试始终没测出来(默念没关系没关系)。


好了,回到正题,登录明细中将我们构造的xff值回显,这不得尝试xss。


登录明细的记录我们删除不了,避免造成不必要的困扰,这里就不用弹窗的payload了,我们使用console.log('test'),触发效果就是控制台输出日志test。



这个漏洞提交后厂家很快就修复了,真的很快。分析发现修复是做了两次HTML转义,传入传出各一次。

加之修复前的测试截图找不着了,这里只能用 修复后的截图给大家分析分析了。


修复前,就是尖括号没还未被转义成“没用”的字符时,是能触发控制台日志输出的。


下面是修复前植入的payload,但是截图是修复后的。厂家修复做了输入输出两次转义,但由于下面的payload是修复前植入的,就没办法做输入时的转义,仅能做输出的转义了。


下面是修复后植入的,做了输入输出两次转义,所以展示给用户的就成了这样。



登录成功失败均有记录,那么不就证明了非self-xss。


聊天框+img标签+图片地址


发现输入框,输入文本test<>"" 发送,尖括号双引号被转义,尝试绕过无果。


传送图片,发现content参数可控图片地址,地址中插入test<>""简单测试,发现未对图片地址中的尖括号双引号转义,构造事件下面的xss Payload。


成功触发,哈哈哈。其实这里gif表情图同样可触发。

查看源代码,发现payload已经成功植入了。

payload发送给了目标,目标聊天窗口同样返回,证明非self-xss。

动态+简单过滤+分两次发布

可发布动态,直接 ,发布会直接替换成空。

这里其实只是做了前端检测,相信师傅们都能很轻松绕过,不过这里分享一个我另外的思路。

尝试将 分两次发布,

第一次输入发表:*/sole.log(1111);

第二次输入发表:







请到「今天看啥」查看全文