" J4 o" j9 N- @5 E& |
$ g& V# ?% t+ E8 D, [4 j# s5 N7 I
以iphone客户端app为例,在登陆的时候选择使用微博账号登陆
; o5 d) k% I% U我的登陆账号为no*****0038 f. y. g* N, J8 @$ |6 ]5 X
$ ~0 Z! ^3 Y# J' ^ " a3 {. \, ]! ^# i( o) E! F2 n
9 ^$ C* ]( y" |, J5 ?( v2 e
& Y' w& r+ ?% E# }: Z" H4 i% O" Z 7 m- a, Q5 [! }
( n2 q3 v$ F0 ~点击登陆,然后截取https://api.weibo.com/oauth2/sso ... p;disable_sinaurl=1
( Q, r, J5 B. i @+ z
这个数据包,将返回的uid改为其他人的uid就可以登陆对应的账号了。: B) `$ ~- i8 ~9 G; I
% y7 C6 f. z+ u
$ C: z3 ~' Q' i7 n, ]% I0 Z
* a$ T: j6 N, A# S
漏洞证明:* e. \ J* |- |& t* E2 S) w, n" X) g
. y9 a6 M5 {( j5 l3 _# P0 @' J( v! h
$ E: F0 c* S h7 t' T T* z$ m3 [# m) f: o+ t
我把uid修改为雪狼领导的,成功登陆雪狼领导账号。
0 m, L: G4 M( l8 r5 v
' N+ \/ U8 M) r3 \2 t
. j: c8 r3 @) P7 f, q' v
8 N$ V! L5 c% w4 X
( X5 l' n" C( |
* D( u, h& [- n, |9 R
% B6 Z# N+ Z0 {7 G! [
& K8 j# X$ @9 s2 P 6 ^! d0 F% p% M( Q3 J0 r4 y1 p
7 Q% U' q+ C' i4 E
4 K$ v4 |/ \! X, h, O# k7 B
+ A- s( W) s2 s4 O& j : `) ?# P k8 e6 g$ w
4 l# I: `1 o# B: E
* r$ f/ d8 i T8 U" a
6 c, B) _- c# k 修复方案:( U, b2 g$ V2 ]7 c4 f9 h* w
( }7 h) f% g3 ]& Z# j
5 [5 r$ k6 l5 B" K U
* w, i: @1 F& U 正确校验uid与token的关系
+ x/ P# g2 C. D5 ?
" b% a) ` \* \# Y - t0 l/ R5 p J; Q5 u5 Z
' w+ P$ L6 w A7 P. F! U# l
/ k4 Q! E6 h/ e; V: c" q% v