看一处知乎的业务逻辑

简介: 看一处知乎的业务逻辑

0x01 前言

最近在总结一些自己学习到或自己遇到的逻辑漏洞案例

640.png

自己也会分篇幅慢慢发到公众号上(看自己写的进度)

本意是想以一篇文章总结自己所学到的或自己遇到的逻辑漏洞案例,考虑到公众号发布文章不能修改和完成周期可能有点长,所以公众号上只能分篇幅发布,但是在博客上会实时更新,最终已一篇文章的形式进总结和持续更新。

博客前段时间搭建的,在公众号上没介绍

一直想在公众号介绍一下博客以后的更新方向,先发个博客地址。

    https://suifeng-kali.github.io/

    先看看一处知乎的业务逻辑吧,发现这个逻辑也是在写URL跳转想着去截图让文章更容易理解一点,所以跑去知乎截了个图,结果有了下面的东西,不是漏洞,只是正常业务逻辑。

    640.png

    0x02 白名单

    正常URL跳转应该是这样的

    640.png

    以前在知乎写文章跳转的链接也都是存在提示的,但是当天写我好巧不巧用了个百度的测试,结果直接跳转百度


    https://link.zhihu.com/?target=https://www.baidu.com

    640.png

    可想而知百度在知乎的跳转白名单内,但是百度能跳转到其他网站的方式可太多了,我们能不能利用知乎跳转到百度的跳转地址上呢?以下只写一种方式


    0x03 漏洞?

    首先我利用百度搜索csdn

    640.png

    复制这个csdn的跳转链接


    https://www.baidu.com/link?url=L1LdfTWmGl5f1P9nfgItTxjb6pJfiFl-OXHB5qYHdHm&wd=&eqid=8b9794310001febe0000000664635036

    然后让知乎跳转到这个百度链接


    https://link.zhihu.com/?target=https://www.baidu.com/link?url=L1LdfTWmGl5f1P9nfgItTxjb6pJfiFl-OXHB5qYHdHm&wd=&eqid=8b9794310001febe0000000664635036

    发现直接通过知乎跳转到csdn

    640.png

    利用这种方式进行跳转唯一条件是让百度收录该网站即可,让百度收录一些网站太容易了,且还有很多其他百度能进行跳转的地方且不需要让百度收录。当然这是一个正常的业务逻辑,也没有必要再去耗费时间。

    目录
    相关文章
    |
    存储 监控 小程序
    《优化接口设计的思路》系列:第三篇—留下用户调用接口的痕迹
    大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;二是我一直遵循某大厂代码规约,在开发过程中尽可能按规约编写代码;三是经过多年的开发经验积累,我成为了一名熟练工,掌握了一些实用的技巧。
    98 0
    《优化接口设计的思路》系列:第三篇—留下用户调用接口的痕迹
    |
    4月前
    |
    存储 Java
    软件开发常用之SpringBoot文件上传接口编写(中),一本书,代码大全(里面有很多代码重构的方法),屎山代码的原因是不断追加逻辑,在错误代码上堆积新的功能,在写完逻辑之后去思考一下,逻辑合理不
    软件开发常用之SpringBoot文件上传接口编写(中),一本书,代码大全(里面有很多代码重构的方法),屎山代码的原因是不断追加逻辑,在错误代码上堆积新的功能,在写完逻辑之后去思考一下,逻辑合理不
    |
    存储 NoSQL MongoDB
    变形记---抽象接口,屎山烂代码如何改造成优质漂亮的代码
    在游戏服务器开发过程中,我们经常会在动手码代码之前好好的设计一番,如何设计类,如何设计接口,如何调用,有没有什么隐患,在这些问题考虑评审可以Cover现阶段的需求的情况下再动手。不过,对于一些初级,甚至中高级开发者,仍然不可避免的进入了一个死胡同,缺少设计,屎山代码堆积,越堆越臭,越写越烂,直到很难维护必须要重新改造。最近我给M部门面试服务器主程序开发的职位,我不问开发语言的语法,我只问他们的架构设计经验,我发现相当一部分5-12年“本应该有足够开发经验。
    |
    前端开发 API
    【面试题】:前端怎么实现权限设计及遇到的bug
    前端怎么实现权限设计及遇到的bug
    207 0
    |
    前端开发
    前端学习笔记202305学习笔记第二十三天-重构和代码迁移1
    前端学习笔记202305学习笔记第二十三天-重构和代码迁移1
    44 0
    |
    设计模式 SQL Java
    有点狠有点猛,我用责任链模式重构了业务代码
    文章开篇,抛出一个老生常谈的问题,学习设计模式有什么作用? 设计模式主要是为了应对代码的复杂性,让其满足开闭原则,提高代码的扩展性 另外,学习的设计模式 一定要在业务代码中落实,只有理论没有真正实施,是无法真正掌握并且灵活运用设计模式的 这篇文章主要说 责任链设计模式,认识此模式是在读 Mybatis 源码时, Interceptor 拦截器主要使用的就是责任链,当时读过后就留下了很深的印象(内心 OS:还能这样玩)
    |
    运维 小程序 数据可视化
    不用写代码也能开发,产品经理是怎么做到的?
    不用写代码也能开发,产品经理是怎么做到的?
    |
    存储 运维 架构师
    如何画架构图?有什么是一定要有的,又有什么是不该有的?
    如何画架构图?有什么是一定要有的,又有什么是不该有的?
    135 0
    如何画架构图?有什么是一定要有的,又有什么是不该有的?
    |
    前端开发
    前端工作总结126-代码中的删除逻辑处理
    前端工作总结126-代码中的删除逻辑处理
    103 0
    前端工作总结126-代码中的删除逻辑处理