* L0 j n+ Q2 T, }5 J) }
5 o' |4 f' {, s# Y
0 K( c1 p6 p: ?* f
- N3 J: k8 ^4 x6 M. {6 V- c0 J$ O( ]( y1 v& ~8 n3 \
- D9 p" {1 \/ K' w1 y# F! z/ _
. R$ x* Q, }; n- f4 \/ |
1 z& W7 @* W1 ~8 E7 i' d& v; ?5 ~$ J; U) e& G" h
+ e ]' H. k' f$ p, ^' I; K1 X
( ]9 U+ Q( L0 l' L+ T+ `
- E$ n) @7 T- q$ k: s! I
6 y/ a- Y) k" z) [$ g/ M/ d8 ?
$ Y# _0 @; j2 U 以iphone客户端app为例,在登陆的时候选择使用微博账号登陆 " _; R; c1 `. L. Q- f' y3 C
我的登陆账号为no*****0030 R4 J* y- v1 r7 H8 u0 ^6 F0 v- o8 W
" a* u3 W- H! i) }
! L5 I8 @4 i1 t# V0 X5 B# Y: X
) @) `9 l/ N$ X; q6 e# L2 T3 }( n
( L6 a m5 g4 M: Y . S4 ^/ K( J, S
! `2 a7 d$ A% h: N8 Y
点击登陆,然后截取https://api.weibo.com/oauth2/sso ... p;disable_sinaurl=1 ) Z i% o5 n9 N; w/ }
这个数据包,将返回的uid改为其他人的uid就可以登陆对应的账号了。1 r6 {1 K: J; u1 n s5 T5 I" I+ r& Z
+ j9 ^% ?0 M! c0 W
/ ~! E a0 r: M7 ^( ]7 P
/ T' ?/ O7 X3 e! d, l* ~4 A' z6 I
漏洞证明:
( t" h7 V- G+ w
" O- j/ A8 f$ e4 d7 `
, D Y3 y% q ? 6 d4 V/ R2 z% S
我把uid修改为雪狼领导的,成功登陆雪狼领导账号。6 z( ~$ z6 n7 Y+ Q+ N
1 {. C7 C# h+ b( U. q* x
5 C2 s- l# j, N+ u: c r1 c 3 Z! X2 B, o1 s& r/ f2 K7 ]
; G. s5 q( S: M/ c8 S/ C4 Y. F
7 _# [& l4 b) M9 D3 i# H
9 ]7 j0 O/ A' K- y" ~9 P h. U) ]0 \+ W5 B5 B
' `5 I" \) H0 n / U9 b! D' s& h$ x
- C3 Q, m7 @" W : c! [: Q, j& e: ^% J' ?4 |
* [1 i' ]& N1 Y% S. w* E% } 4 ^; Q. y: f9 v& g: g" S* `( ]* U
$ a! q. O I5 z! ]1 X 7 d7 i1 t% k, d0 c
修复方案:1 @+ }1 a: }& A8 R" M
! Z% T" T; J; E/ g' O& b
: |$ }- |3 L7 Y- m* }* U [* g
/ A6 Z) b* h8 L+ V; y) o( }9 G8 J 正确校验uid与token的关系, S( |$ x3 J% B9 X: u! c5 U
- \9 k# t5 M4 _9 F
, t+ m& P+ E! Y1 }, ^# j4 A2 }
6 k/ _/ ? `7 X; N: O4 u
3 A/ O, _$ M( ?# A |