- f* |# q) o, N9 ^8 B/ E
2 _' Z7 b5 e# n& A, i N& E
! n0 t$ h# z- W0 c2 f& I8 F! ?8 @! b
$ h H+ d2 R9 l/ y9 ?
; A' ~2 }1 Y+ v5 ]% Z$ H) |6 l
2 x- T; x9 d% Y/ H& C" i4 r( \/ {- ]4 p
8 }- ` U/ s8 ^7 y9 g( x( ^( k: x l: _# y. L
% x0 T% F# t6 P/ P
2 c# x y. x P$ w9 H" q/ ~6 f. w5 L ? R
: D1 e0 p. t8 |' N2 A+ i5 A5 W 以iphone客户端app为例,在登陆的时候选择使用微博账号登陆
1 n+ e- n6 i0 M我的登陆账号为no*****003
7 v) l) g; p2 |% F # j( P7 Y; E; r) i5 j0 W
/ r2 Y) }% J4 K- O. z
p! [& l9 b% {9 B6 e) A, M
3 l! |( z6 ]; b$ a+ N * h! |4 c2 K# K9 K. e. }
U% _! o& ]& C
点击登陆,然后截取https://api.weibo.com/oauth2/sso ... p;disable_sinaurl=1
( v7 G* r8 e8 y' b% A这个数据包,将返回的uid改为其他人的uid就可以登陆对应的账号了。
; J' a( |1 U+ Q
- w- W. L6 p! d# B% O
2 a( N' V( H1 E8 V& I 6 Z' b1 ?0 j' R& c0 p
漏洞证明:
/ n! _ Q: |9 Y; m0 ~$ {7 S' ~: V
# p( g' p4 |) I8 r4 Z
4 ?0 D5 U0 S" m9 I$ `6 v/ d . f" i J1 E7 B3 _
我把uid修改为雪狼领导的,成功登陆雪狼领导账号。
' u3 t3 e% _* f
# |! P7 A+ \1 N( m 0 K+ _8 n8 Q* u& A% x: `
1 H7 l0 g j( s
" v9 g# x2 Y0 d( i& N7 \$ Y5 ?0 W
9 [; [4 j) C; f3 i4 I# U# c% c ( [ V+ _1 V9 t$ U: V
- N& J- ^' `. g2 E, n3 N
# R* ~# D7 F3 o) G: w! w+ H, G) }
1 S0 K! `& V+ p6 S) O: i. {3 X+ x5 h
5 N z3 M% l |9 |3 }% o( O8 p % A! X3 ?4 U7 |1 n0 N8 T4 `, F$ s
) J3 p3 u2 y$ m: {; G
1 t) s( g) O5 J9 }- h" D2 y8 U
: s5 e# X8 ?( y" [0 J' G( K 0 Y7 Z; I7 o& u: Z9 R8 F7 c
修复方案:! m, h* p( P! F+ g6 E$ x
2 D' a1 L) S f. w- N7 Z / D0 a$ w& d: v$ i# G
6 B5 C0 p" P- e% o5 h/ v 正确校验uid与token的关系$ u3 B! e! h( w6 b0 C
@* c% i& g4 x8 l
% H) |' k& z' _: N7 B+ ] D3 u
' l" N; N6 r5 z# Z% a5 Y
- X m% H. {3 y7 D |