大众点评selfxss结合两个csrf变废为宝(已修复,故公开,不涉及真实参数)
大众点评selfxss结合两个csrf变废为宝
漏洞不值钱,但还是蛮好玩的
漏洞信息
类型:存储型xss
场景:收藏商户后,去已收藏的商户列表可以给指定商户添加tag(与下文html标签区别)
漏洞限制:
1.selfxss,即需要用户自己登录账号,然后自己输入payload。。。绕过思路当然是csrf了
2.有waf拦截,绕过思路就是各种换标签换属性换事件尝试咯
3.单个tag字数不能10个字符,多个tag空格隔开,一次最多5个tag
突破selfxss
这里没什么好说的,找到添tag的接口:
http://www.dianping.com/addtag.do?tags={xsspayload}&shopid=12345
但是这里有个小问题,如果用户并没有收藏12345这个商户,添加tag是无意义的,因此需要再找一个添加指定商户的csrf,碰巧也是存在的:
http://www.dianping.com/addsh.do?shopid=12345
绕过waf
发现xss是因为我输入了一个<input>标签被解析,但是只要标签有其他属性就会被拦截,类似下面这样的都不可以
<标签名称 属性名称="属性值" on事件="执行函数">
但是只要不输入尖括号,就不被拦截
能不能不适用尖括号呢?
还真可以———标签输入栏本身就是一个 <input>标签!
<input name="tag" value="tag1 tag2 tag3 tag4 tag5">
因此可以在标签内闭合即可,我输入"onclick="alert(),就变成
<input name="tag" value=""onclick="alert()">
绕过tag长度限制
其实上一步的palyload是无法保存的,因为单个tag最多只能10个字符,因此需要把payload拆分成至多5份,每份字符不大于10个,中间用空格(%20)隔开,如果想弹出cookie,原始payload如下:
"onclick="alert(document.cookie)
下面是拆分思路:
"onclick= "alert(document.cookie)
"onclick= "alert (document.cookie)
到这步,document.cookie怎么拆,坑爹啊!这样拆↓
document ['cookie']
最终payload如下:
"onclick= "a= document ['cookie'] ;alert(a)
其实到这一步,仍然不能做太多的事情,顶多就是在用户收藏里面插入一些短标签或者执行一些简单函数,但是至少已经不是一个selfxss了!
大众点评selfxss结合两个csrf变废为宝(已修复,故公开,不涉及真实参数)的更多相关文章
- Hawk 1.2 快速入门2 (大众点评18万美食数据)
本文将讲解通过本软件,获取大众点评的所有美食数据,可选择任一城市,也可以很方便地修改成获取其他生活门类信息的爬虫. 本文将省略原理,一步步地介绍如何在20分钟内完成爬虫的设计,基本不需要编程,还能自动 ...
- Node.js大众点评爬虫
大众点评上有很多美食餐馆的信息,正好可以拿来练练手Node.js. 1. API分析 大众点评开放了查询商家信息的API,这里给出了城市与cityid之间的对应关系,链接http://m.api.di ...
- 【腾讯Bugly干货分享】美团大众点评 Hybrid 化建设
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/rNGD6SotKoO8frmxIU8-xw 本期 T ...
- Hawk: 20分钟无编程抓取大众点评17万数据
1. 主角出场:Hawk介绍 Hawk是沙漠之鹰开发的一款数据抓取和清洗工具,目前已经在Github开源.详细介绍可参考:http://www.cnblogs.com/buptzym/p/545419 ...
- 看大众点评V9新版如何为O2O止血 带领行业下半场回归理性
前不久,美团点评CEO王兴提出的“中国互联网进入下半场”观点一直在持续发酵,并引发了整个互联网圈对于进入下半场该如何改革,如何迎战的深刻反思.在互联网的上半场,大家依托的是人口红利,但是到了下半场,用 ...
- Android 仿美团网,大众点评购买框悬浮效果之修改版
转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17761431),请尊重他人的辛勤劳动成果,谢谢! 我之前写 ...
- 大众点评开源分布式监控平台 CAT 深度剖析
一.CAT介绍 CAT系统原型和理念来源于eBay的CAL的系统,CAT系统第一代设计者吴其敏在eBay工作长达十几年,对CAL系统有深刻的理解.CAT不仅增强了CAL系统核心模型,还添加了更丰富的报 ...
- 深度观察:腾讯收购大众点评背景下的O2O大格局
[亿欧导读] 腾讯入股大众点评获得20%股权,详情解读:①大众点评:独立自主为底线,要钱大于要流量:②腾讯:承认原生活服务O2O失败,丰富移动支付应用场景:③美团承受压力,拉手窝窝继续苦等买家:④BA ...
- Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17761431),请尊重他人的辛勤劳动成果,谢谢! 我之前写 ...
随机推荐
- Oracel递归查询start with ...connect by prior在Mysql中的实现
Oracle是一个强大的数据库,有很多的函数和语法可以带来很多便利,有些函数和语法在Mysql中有代替的,但是有些没有现成可用的方法,比如Oracle的递归,在Mysql中怎么实现呢? 例子: Ora ...
- Heroku发布前准备
group :development, :test do gem 'byebug', platform: :mri gem 'sqlite3', '~> 1.3.13' end group :p ...
- 登录注册页面(连接MySQL8.0.15版本)
原文链接:https://mp.weixin.qq.com/s?__biz=MzI4Njg5MDA5NA==&mid=2247483779&idx=1&sn=e23e68e96 ...
- listview的gridview视图中,获取列中模板内的button按钮(找控件内的控件)
点击“间隙”,获取“间隙”旁边隐藏的减号按钮(本图片未显示出来) private void TextBlock_MouseDown_2(object sender, MouseButtonEventA ...
- 数据如何输入输出_Spark
1)输入:在Spark程序运行中,数据从外部数据空间(如分布式存储:textFile读取HDFS等,parallelize方法输入Scala集合或数据)输入Spark,数据进入Spark运行时数据空间 ...
- mongodb cxx driver学习
mongodb 增删改查 insert 向集合中增加一个文档 remove 删除文档 update 更新(修改)某些文档 文档替换 文档修改器,只修改文档某个部分 find 返回集合中所有文档 fin ...
- python3 requestsGET请求传参
GET方式传参方式一: import requests url = 'http://www.baidu.com/s?page=2' # 使用?携带参数 r = requests.get(url) pr ...
- python3 经典排序方法
1.插入排序: def nsert_sort(list): for i in range(len(list)): for j in range(i): if list[i] < list[j]: ...
- bootstrap treeview 树形数据生成
这个问题还是挺经典的,后台只是负责查出所有的数据,前台js来处理数据展示给treeview;show you the code below:<script> $(function () { ...
- 关于python27和windows系统的中文编码问题
最近想写一个python脚本实现对文件夹中的文件进行批量命名.每个文件对应从txt文档中提取出来的一行,因为文件名是中文,所以涉及到了一些中文编码的问题. 脚本运行环境是win10+python27 ...