) q4 k& R; H3 H, c5 W) @- ?" d+ c- v% G0 M: k
3 N; a& C# j+ G* p* }8 y9 y* q) j
/ Q$ ^& o$ r6 i0 p1 ]. g8 |+ Y3 n; P+ S, J& n S- Z1 N: S( {
$ p6 L o' @, m1 j, h( _0 g K+ D: s3 q; @3 T
N9 ?0 ~2 a z
+ x) W1 U8 _2 E
/ U, p0 ]% A! P$ }0 F4 b3 Z
$ j6 m/ }! ^6 D0 M' l. w5 O: z( [: g# @$ H W+ h- d
/ L4 |# e+ F% d9 U/ s) P
以iphone客户端app为例,在登陆的时候选择使用微博账号登陆
: n: S" O# k0 V. C, q我的登陆账号为no*****003
$ } R/ G2 Z; S: a0 p, v 7 [2 |( h# a* Y+ w1 z
3 r# g# O s$ C) h, k! S/ D
( q7 G- q9 [" Y 0 Y/ Z7 K9 }0 y2 T( I1 b* K
, Q$ r' p8 i. ^# F 7 ~; i. F$ C& w, r. |, W4 A6 z2 G
点击登陆,然后截取https://api.weibo.com/oauth2/sso ... p;disable_sinaurl=1 , o8 W% |& [/ u" p9 E( S
这个数据包,将返回的uid改为其他人的uid就可以登陆对应的账号了。8 O( B7 P+ g& ^" \+ [+ V
0 `3 W1 P" @" J& e4 L; o
0 G+ C+ {' }2 a$ W
* E; D8 K4 c& I
漏洞证明:
. v# M2 |; ]9 |# K 8 X! O7 n, t! C' Q5 u) h8 P
/ J8 l( \0 O' H$ v
) S( y5 W, Y- R* s2 k. G 我把uid修改为雪狼领导的,成功登陆雪狼领导账号。
8 q* [+ O9 l5 p) Y; f
$ q" z$ H0 r! b8 |
3 K8 J( }% C9 I3 ~- o5 c' w 1 p1 f, A5 k7 K# Q6 p/ o; Z: \& Y
& C/ `& Z% q6 [4 E& ^% s/ ?2 Y
9 ~0 R4 u; B7 @
- S9 Q# F: ~; p3 V h
6 w5 H. H/ t) u! \8 N
; v7 a6 b7 w5 [( Y/ U/ _
3 ]2 o7 w8 z+ b6 p7 u" t - q" h$ n8 ^1 K" ^. @1 {; u
& y/ y ^5 G1 x, G/ p2 P $ t) Y8 |0 y1 G; y$ K2 P
* b' }! l& G6 s7 @
+ n9 X$ ^) Y) U+ ~4 J$ T3 O. j4 ^" \
* h6 y% F; x+ o% g1 ]0 g! f4 u
修复方案:
# E# H6 q5 w' S0 X P
' P$ K) n0 P+ ~% H
$ P( g0 N% d2 Q4 n6 n 1 P! D/ B% ^, M4 |9 A8 z" p- ?
正确校验uid与token的关系
* m- D& q- _: B. e- _
# Z$ _0 N' j Q: K& P' \2 y$ P
: i( @& Z: b3 c8 ~: N % n2 R; U: \* }- o5 G2 s
. v7 m8 T0 k* H1 o3 |, _ S |