) R! B! P+ Y( C+ w
3 w2 ~/ r% @2 G( l# n
$ I2 G1 p b3 t3 m& K! ]8 j3 I' y8 ]
. x8 I% o$ c! h3 M
) E5 H* j! K" n3 ?7 H9 t' e6 k9 T S0 P/ \- W* w0 t( S0 `
- Y$ r% \. ^# r o3 x5 }1 n* H8 q ^3 \
7 R% H1 I4 H# H; s# a
) R2 u) ], G- E' j- P( }3 Z
0 a0 R& G" D1 V! N0 K$ @
7 A* X# s. C" P2 a
5 P W9 ]& q' {, i7 z
* i, o1 [ T2 t# j9 T 以iphone客户端app为例,在登陆的时候选择使用微博账号登陆 0 d n* |; k1 o" @
我的登陆账号为no*****003$ y' A% Z, b! f5 w% r% c
% J- [# c- Z# u/ h' S2 Y* f/ F; s0 Q , \) F& [; S o0 C0 o- U O
/ n1 E4 e& _! v# a2 ]% |
( C3 @' o' U; B9 t& r
7 |8 f6 x+ W$ ~9 a" ?& E , @5 ^ p: S3 x8 s/ N
点击登陆,然后截取https://api.weibo.com/oauth2/sso ... p;disable_sinaurl=1
% [. g. Q1 y7 I) E5 Y这个数据包,将返回的uid改为其他人的uid就可以登陆对应的账号了。* I4 _ |( k7 J/ z6 n7 t
2 J0 Z+ {$ W- i 4 O7 ~ \% K4 P6 Q ]+ g5 l
4 @' D. U5 i( d' m/ E5 Q( N 漏洞证明:
' `$ h2 b1 H; ^& {3 g U' Y* ]5 ?
5 |8 y; Q3 S% g 1 F/ c" m! l6 B$ ]8 f0 @8 q
2 G9 d! V$ A8 J3 ~- {- S: Q 我把uid修改为雪狼领导的,成功登陆雪狼领导账号。
8 `: ^, ?* @% ?8 l; E/ t ( t( y( S8 s& u" V
0 l" y7 M0 z5 O3 z. g
& }8 Q8 M2 G p8 R
% P* m" ?; w: j. s. n
0 Y; v% g9 M) I! ?7 n' M
0 ]$ R8 [5 B% v / W, h! M$ Z+ y. N, b" ]) Y
! L/ M$ o, [% o# Y4 u ]
0 C( B# O7 Y% X8 D2 X& U
# d4 x- A( j7 |# x9 ~! Z+ O: c- c 8 H' n7 |1 R" L
" [7 w) b& x# |
5 |4 h( }0 \$ U+ c q7 y
S/ y% z, v! K7 `1 w+ P3 N
8 ?+ h: J6 a! G) m 修复方案:
* l9 U4 I$ P( u+ V
7 n9 j6 I0 p9 g/ K9 a$ n4 ~
/ }) X& M8 A! C1 n 3 d; K' o( A: a0 T: f* u4 }
正确校验uid与token的关系, f: J. ]8 b6 M$ {
* u+ V0 z Y- F
+ |! C4 u1 c* ?, O$ e0 W
& y4 `$ Z) `4 @" a, i) x
f" e! X. I" ~2 A |