大众点评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),请尊重他人的辛勤劳动成果,谢谢! 我之前写 ...
随机推荐
- spring cloud Ribbon
参考:https://www.jianshu.com/p/1bd66db5dc46 Ribbon 是什么 spring cloud ribbon 是一个基于HTTP 和 TCP 的客户端负载均衡工具, ...
- pandas,对dataFrame中某一个列的数据进行处理
背景:dataFrame的数据,想对某一个列做逻辑处理,生成新的列,或覆盖原有列的值 下面例子中的df均为pandas.DataFrame()的数据 1.增加新列,或更改某列的值 df[&qu ...
- 内置函数-fliter
def is_odd(x): return x % 2 == 1 ret = filter(is_odd, [1,4,6,7,9]) print(ret) for i in ret: print(i) ...
- RabbitMQ的学习
生成者就是发送信息,消费者就是接收信息,队列就是存储数据的排队.消息通过你的应用程序和RabbitMQ进行传输,它们只能存储在队列中,队列容量没有限制,你要存储多少消息都可以——基本上是一个无限的缓冲 ...
- Oracle lag()/lead() over()分析函数
with tmp as(select '1' id ,'aa' name ,'22' age from dual union allselect '2' id ,'bb' name ,'20' age ...
- redis get乱码
- oracle异机恢复 open resetlogs 报:ORA-00392
参考文档:ALTER DATABASE OPEN RESETLOGS fails with ORA-00392 (Doc ID 1352133.1) 打开一个克隆数据库报以下错误: SQL> a ...
- GarageBand mac怎么剪切音频片段? GarageBand mac使用教程
garageband mac智能控制轻松修饰声音资源库中任何乐器的音色,让你在世界各地都可以开始你的创意,让世界听到你的歌声.GarageBand mac剪切音频片段的操作小伙伴们也是需要掌握的,Ga ...
- jieba库词频统计
一.jieba 库简介 (1) jieba 库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组:除此之外,jieba 库还提供了增加自定义中文 ...
- monkey测试样例
我们通过在CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试了.首先,我们准备了一个有bug的项目CityWeather:通过测试这个项目(源码在附件文件夹中) ...