* o5 s/ Y& B0 v0 N+ k( _
2 c7 k j+ B$ {( e% a0 f# w* l5 n) q6 {
. b6 N! B5 s6 x$ N) @/ @0 S2 y; {
. v5 r: k2 Z7 c; k8 I
4 e, k! r* ?! q9 ?0 w, F: d J* @* g5 ^) E' L# q; a K" A
: x" H: Z5 ?3 U! x$ d! f
! x3 c$ b' G$ }0 J, Z& f; n
7 Q6 P* E$ x6 Y: A* @5 o3 \1 \2 `% S
) L2 P1 k m7 t0 z( e/ t0 ^5 @
8 m; l1 c9 c O
. @9 _0 ?2 a2 y9 G 以iphone客户端app为例,在登陆的时候选择使用微博账号登陆
9 T# t" e+ \" r" c! M我的登陆账号为no*****003
: d; L: @! U q- x 1 e& Z. D: G- @" X' F8 N0 ]$ ^
4 K& U7 ]0 }! d9 T: j
2 i6 P% Y- q$ A, Z1 V; B2 j0 A ; E) C! D% [) u) _" t" Y
/ {+ k" v- h+ p9 M ]
0 v6 b( Q! c/ o8 n4 b点击登陆,然后截取https://api.weibo.com/oauth2/sso ... p;disable_sinaurl=1
5 t: n/ w; P5 _+ h1 x0 x这个数据包,将返回的uid改为其他人的uid就可以登陆对应的账号了。4 y# |- C5 H$ S0 u
+ s5 s# Z/ D9 }8 |5 K# z
/ ]; I X! c1 }7 [+ ] 6 s8 B4 O, X: }6 Y) C7 U; z+ A
漏洞证明:
4 A1 B! i' ?1 a/ e ( m& d7 z& d( K$ K$ b8 u) Z$ r
# \' q; {. u* Z e
2 c# R& n$ @% J2 E% @3 l
我把uid修改为雪狼领导的,成功登陆雪狼领导账号。: `" T- Y& O* H. J; {- O
, L- G4 n$ S" o7 C
* l/ B" v! M1 ~0 C" X
/ N' _2 I( D) x( a. l: { $ ^! j6 J6 X; i+ y% k, V" V$ O
; P; e+ R* w' T3 P) [2 ?# y
8 y3 h& L% I* q) }' f/ N% [, Y
6 z& n' @+ s P7 m
; t9 [0 I, q Q- `4 ^
! l8 w# F' ^5 D8 e$ |7 a0 F6 z
; G' o7 x5 | s/ M$ t9 J
. S3 d; v) C0 j: C: Z h+ H. i
8 `4 F& L( `: b, J9 P3 U/ S- z * `+ a/ a _8 `. O9 K! g
7 n- I, f/ d1 J- x5 S2 m: x
) e8 x/ |4 R2 F" i7 o- o$ r% i" g 修复方案:
! A- V/ W8 H6 C- w 8 x! L R; x8 A* p7 s( C3 e* y
X# {) [% V3 [) E
2 q! @, u3 n; N% m! { W 正确校验uid与token的关系! H# e3 f1 v9 l/ F- Y. o
4 x# Y7 t/ o3 m1 D) t" v
0 ? u; n5 t# Q# t/ Y
/ D; s3 B9 `% h- T6 O. Z
* y/ M* ^$ X+ o9 z* z* c |