关于水军/广告机账号发帖、点赞的研究以及防止思路

2021/07/09243 浏览反馈建议
TapTap 也犯了 B站 的错误 —— 不对 Cookie 进行校验
真人操作太没劲了,咱们直接冒充其他用户给 TapTap 的 api 发 POST 请求
抓个包,可以看到点赞是给一个叫 vote 的 API 发了个请求
TapTap
api 返回了一串 json
TapTap
下面我们看看究竟给 api 传了什么值
这是表单数据,obj 声明了咱们操作的是什么类型的帖子(post 是回复),id 是操作的帖子 id,value 则是操作(up 是点赞)
TapTap
请求 API 当然要 cookie 了,不然太不安全了
TapTap
好家伙,看起来像直接把 cookie 全拼起来传给 api 了
下面咱们构造一个 POST 请求,为一个帖子点赞
TapTap
TapTap
发送请求会发现返回了奇怪的东西,并不是刚刚那串json,虽然没明确告诉我们缺了什么值,但是我们可以随便传点东西试试
TapTap
有个命名为 token 的 cookie(这个token是服务器进行身份校验的),我们把它一起传过去
TapTap
TapTap
TapTap
成功!
发布回复的 api 是 post/create,调用方法基本一致
发布长帖则需要先调用 topic-draft/create 创建草稿,使用 topic-draft/publish 发布目前发现还有另外的一个 webapiv2,调用似乎比较困难
个人建议:
对 cookie 进行校验,避免复制了 cookie 到其他设备进行操作
进入页面时创建一个短期有效的 token,供服务端进行验证
至少咱这做的比 B站 好,人家 B站 连 token 校验都没有
13
1
7