+ |. x& H0 h4 N! \, s5 B# E& \ 0 t0 T( |! d1 Q* S5 h
以iphone客户端app为例,在登陆的时候选择使用微博账号登陆
: E8 n* P. A2 [+ j+ {$ {4 L
我的登陆账号为no*****0033 K. ^: A5 U' j
6 e. Z K: l8 t4 y; i& ]0 E
5 F* Y1 d5 Q1 v A4 K+ c! [
% Q F, L: f- L
# A6 Z* x1 c2 y0 S
& u# m( T) q4 j3 }( @
8 q* S: [( a4 N; @: f9 J& v点击登陆,然后截取https://api.weibo.com/oauth2/sso ... p;disable_sinaurl=1
/ f' g! y& H+ Z4 j, M f& c% c% k这个数据包,将返回的uid改为其他人的uid就可以登陆对应的账号了。
0 z6 {$ B5 g" c6 [1 `8 T) A( |( h
% | C7 m) E# O8 K* ^ . f: x+ r1 Y: ^
) E1 m. d7 J! S) f+ u, U5 _1 r4 \ 漏洞证明:2 J: w0 Q) a( w/ {) M1 k5 R
/ B3 a1 z. a3 _2 C. W& x
1 {; B+ |8 u: A. f! @
7 I' r4 n n" T( ]' f, `! { 我把uid修改为雪狼领导的,成功登陆雪狼领导账号。6 M# \9 H" e9 }+ F# }
" l1 ]3 f& q9 H( n7 K& z0 w5 L) z
8 h8 t" |+ k& Z8 ^' O5 S
) G( N# O$ g0 ~9 X/ c) X1 B6 [: i- A; ^
, g: B' g- r1 Y6 `+ F
+ v/ F% k% O( v" { * N( b! g. k4 k8 ~" j2 Z: B: Y# u
, S8 [0 z& b! j- A6 S* ~$ R
2 U2 L3 ?3 y) N3 y1 A$ ]
6 R: Y4 v- q9 p9 k1 f
, d6 Q+ H: F0 O) I/ z . s2 A* U* d, w2 Y# Y* L
/ @) Z3 ?+ o& M; b3 _# J2 x
% J5 {: {0 L& w; [2 k
0 I; v3 h6 t. R( `5 K
( Q6 A& m' t% V* Q
修复方案:
8 H- \+ W+ E% d2 F
2 N* L$ w {& r" ?7 d: U " Q* t. c# J( _; v( [( i, `# v* E
I q0 U5 p6 O- B! X 正确校验uid与token的关系' X4 P- s% I$ F a1 E$ e+ ^5 ]3 ? e4 P
4 Q+ Q3 ?' ^" P- F8 e o5 ?) H
7 W1 T) L* v; f. A$ [
, R& Q/ H. |* D" x3 O4 r
8 z, U! L1 g% A5 o