【web实战-业务逻辑】评论点赞逻辑

简介: 【web实战-业务逻辑】评论点赞逻辑

前言:


介绍:

博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。


殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edusrc高白帽,vulfocus、攻防世界等平台排名100+、高校漏洞证书、cnvd原创漏洞证书等。


擅长:对于技术、工具、漏洞原理、黑产打击的研究。


C站缘:C站的前辈,引领我度过了一个又一个技术的瓶颈期、迷茫期。


导读:


面向读者:对于网络安全方面的学者。

本文知识点:

(1)重放数据包(√)

(1)可能会验证cookie中的身份参数(√)

(1)可能会有特殊的逻辑,如再次点击会取消点赞(√)


让读者如虎添翼


业务逻辑漏洞 博文 目标 状态
评论、点赞 【web实战-业务逻辑】评论点赞逻辑 1、学习各种验证评论点赞成功的逻辑 已发布
短信轰炸 【web实战-业务逻辑】短信轰炸逻辑 2、对于短信轰炸的防护机制的绕过 已发布
并发 2023将公开实战笔记,敬请期待 —— ——
爆破 2023将公开实战笔记,敬请期待 —— ——
csrf 2023将公开实战笔记,敬请期待 —— ——
xss 2023将公开实战笔记,敬请期待 —— ——
越权操作 2023将公开实战笔记,敬请期待 —— ——


点赞逻辑一:


第一步:找关键


先把关键函数最终推测出的结果放出来:

comment_id=为帖子id(且有指定位数)


status=推测为业务相关的


callback=__jp8推测为指定返回服务器的ip


(其余不影响业务的无用关键函数已被删除)


serviceToken=鉴别身份的


14559a5847994208b9a3d08db6e262db.png


再次点赞,就为-1,即取消点赞


9ed43eec500f4893a09e962c5ba36f69.png


第二步:猜测逻辑


(此处的基本逻辑:可以点赞,也可以取消点赞,听说你想取消别人带赞?)


假设:comment_id=为用户id,尝试批量单一账号点赞


确实全部成功

bf34acf6cd7c46799f1ed08151f3944a.png



回到点赞页面查看(就加一)


直接可以推断出comment_id=为帖子的id


点赞不同的帖子,抓到的id不同,验证了猜想


(找关键字时候发现ID不同就应该引起注意的)


##所有帖子点赞一遍?搞笑了一波,请见谅

7508c44cb51043a089822761a0cbaae8.png


第三步:结论


记录点赞次数的


是通过鉴别serviceToken=值


一个serviceToken=只能点赞一个,且其值也不好继续整下去了


整不了了,跑了


第四步:归类


(此系统中与此类似的逻辑)


踩一脚功能


这里不能针对一个一直踩,所以无危害了


一时不知道说什么,那就遍历id把所有帖子都踩一脚

5dc47329d58b4ca68e36e3b0d6179607.png


点赞逻辑二:


第一步:找关键


先把关键函数最终推测出的结果放出来:


postId=为发帖人的id


commentId=为帖子id(且有指定位数,这里被加密了,难搞)


miui_vip_serviceToken=鉴别身份的


cUserId=鉴定用户的


e58d1bcfb07a4f8a872039f10bffc6ed.png


第二步:猜测逻辑

(此处的基本逻辑:只能点赞一次,再点赞将被识别为重复点赞)


a2adc3308e734fc3b2a62faec08173ba.png


假设:修改id值,绕过检测?(难搞,看见直接放弃,cookie了里面有身份鉴别,还有id鉴别)


改postId=提示评论与id不匹配


所以为发帖人id


现在唯一可以利用的就是cookie里面的id,能否替换了


能知道别人的id,但是不知道加密方法,或破解加密算法

6442d789c70b4e26984c3ecb12597196.png


第三步:结论


记录点赞次数的


是通过cookie中的


miui_vip_serviceToken、cUserId


整不了了,再跑了


第四步:归纳


(此系统中与此类似的逻辑)


投票

74c341e1bd1442e7bc1c67f2c818cc66.png


点赞逻辑三:


第一步:找关键


测试了一下,没啥可以操作的关键参数

ca28ffe116af4f7191f6a91c5765dd9c.png


第二步:猜测逻辑


尝试对其进行重放


发现可以一直重放

71b47feb76ab4c6cab458728964c8ba2.png



一段时间后出现提示操作频繁(但10s左右又可以继续重放)


(经测试一分钟可以刷赞70次)


e785c7701b054c8aa19cd6877f6ecf20.png


7fe7bda3bef544628084bef6ac5f7ca8.png


第三步:结论


同一账号可以通过重放进行点赞


为鉴别点赞的用户身份,并进行限制


目录
相关文章
|
12天前
|
前端开发 JavaScript API
【独家揭秘】Bottle框架为何能俘获开发者的心?三大实战案例带你领略Web开发新境界!
【8月更文挑战第31天】Bottle是一款轻量级Python Web框架,以简单高效著称,秉持极简设计,适合快速开发小型项目或构建API服务。本文通过具体代码示例展示Bottle框架的独特魅力,从安装到创建应用、路由设置、模板渲染及表单处理等方面进行详细介绍,帮助读者轻松上手并掌握Bottle的应用技巧。
27 1
|
11天前
|
Java 缓存 数据库连接
揭秘!Struts 2性能翻倍的秘诀:不可思议的优化技巧大公开
【8月更文挑战第31天】《Struts 2性能优化技巧》介绍了提升Struts 2 Web应用响应速度的关键策略,包括减少配置开销、优化Action处理、合理使用拦截器、精简标签库使用、改进数据访问方式、利用缓存机制以及浏览器与网络层面的优化。通过实施这些技巧,如懒加载配置、异步请求处理、高效数据库连接管理和启用GZIP压缩等,可显著提高应用性能,为用户提供更快的体验。性能优化需根据实际场景持续调整。
35 0
|
11天前
|
开发者 前端开发 开发框架
JSF与移动应用,开启全新交互体验!让你的Web应用轻松征服移动设备,让用户爱不释手!
【8月更文挑战第31天】在现代Web应用开发中,移动设备的普及使得构建移动友好的应用变得至关重要。尽管JSF(JavaServer Faces)主要用于Web应用开发,但结合Bootstrap等前端框架,也能实现优秀的移动交互体验。本文探讨如何在JSF应用中实现移动友好性,并通过示例代码展示具体实现方法。使用Bootstrap的响应式布局和组件可以确保JSF页面在移动设备上自适应,并提供友好的表单输入和提交体验。尽管JSF存在组件库较小和学习成本较高等局限性,但合理利用其特性仍能显著提升用户体验。通过不断学习和实践,开发者可以更好地掌握JSF应用的移动友好性,为Web应用开发贡献力量。
19 0
|
11天前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
34 0
|
11天前
|
开发者 C# UED
如何轻松将WinUI控件引入Web应用?Uno Platform实战攻略——从环境搭建到性能优化,一探究竟!
【8月更文挑战第31天】Uno Platform 通过支持 WebAssembly,将 WinUI 控件无缝带入 Web,为多平台开发提供了新途径。本文介绍如何在 Web 中使用 WinUI 控件,包括环境搭建、控件使用、性能优化、样式调整及测试调优,助力开发者打造高质量跨平台应用。
29 0
|
11天前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
34 0
|
11天前
|
JSON API 数据库
探索FastAPI:不仅仅是一个Python Web框架,更是助力开发者高效构建现代化RESTful API服务的神器——从环境搭建到CRUD应用实战全面解析
【8月更文挑战第31天】FastAPI 是一个基于 Python 3.6+ 类型提示标准的现代 Web 框架,以其高性能、易用性和现代化设计而备受青睐。本文通过示例介绍了 FastAPI 的优势及其在构建高效 Web 应用中的强大功能。首先,通过安装 FastAPI 和 Uvicorn 并创建简单的“Hello, World!”应用入门;接着展示了如何处理路径参数和查询参数,并利用类型提示进行数据验证和转换。
29 0
|
11天前
|
数据库 开发者 数据库管理
【惊艳登场】Bottle框架凭什么成为Web开发新宠儿?一个实战案例告诉你背后的秘密!
【8月更文挑战第31天】Bottle是一个简洁高效的Web框架,适用于构建轻量级应用。本文通过开发一个在线笔记应用,展示了Bottle的核心特性和优势。从环境搭建、路由设置到数据库操作,详细介绍了用户注册、登录、笔记创建及管理等功能的实现过程。通过简洁的语法和灵活的路由机制,Bottle让开发者能快速构建功能完备的应用,提升开发效率。
23 0
|
13天前
|
运维 前端开发 API
实战 web 应用 Docker 镜像解耦交付
实战 web 应用 Docker 镜像解耦交付
|
14天前
|
JSON Java API
解码Spring Boot与JSON的完美融合:提升你的Web开发效率,实战技巧大公开!
【8月更文挑战第29天】Spring Boot作为Java开发的轻量级框架,通过`jackson`库提供了强大的JSON处理功能,简化了Web服务和数据交互的实现。本文通过代码示例介绍如何在Spring Boot中进行JSON序列化和反序列化操作,并展示了处理复杂JSON数据及创建RESTful API的方法,帮助开发者提高效率和应用性能。
45 0