灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2566回复:0

腾讯微博私信接口存储型XSS及修复

楼主#
更多 发布于:2012-12-07 19:08

1、发送私信,内容为:

<img src=# onerror=alert(1)>

2、当然直接访问私信是不存在问题的,不过有两个json接口是和私信相关的

下面这个接口是返回和多少用户有私信往来,同事返回最后一条私信内容,参数包括返回的记录数等:

http://api.t.qq.com/inbox/pm_list.php<code>

下面这个接口是返回和指定用户的私信内容,参数包括返回的记录数等:

http://api.t.qq.com/inbox/pm_conversation.php?account=xxx</code>

3、由于上面两个接口返回的Content-Type为:text/html; charset=utf-8,同时返回的私信json数据中 oc 也为私信内容,但是没有经过编码处理,直接输出为:<img src=# onerror=alert(1)>。所以造成漏洞的出现。

给某个用户发私信,但是要想办法让他访问接口地址。

图片:20121207103228806.jpg

图片:20121207103228431.jpg

 

修复方案:

1、指定Content-Type为application/json; charset=utf-8

2、对oc的值进行html编码处理


喜欢0 评分0
游客

返回顶部