某模块未对上传文件类型进行验证。可上传任意文件
}5 S0 x w1 S+ }, ?% R: T3 J: [2 x" x% r4 D z' `
& M0 T' A" s- d6 K3 @$ Z; ~* u
' m! c" Y, f( ~# E& ]$ U, L代码产生位置
) n$ }. q) H) K8 L' S0 napps\wap\Lib\Action\IndexAction.class.php
# T, }# `) x B( e# \/ l263行4 c# h. i% D% A4 b, K1 K
if(!empty($_FILES['pic']['name'])) { // 自动发一条图片微博
+ b: x$ s. n. }5 O/ S% I+ |$data['pic'] = $_FILES['pic'];
2 _: ~) x$ g3 u* G6 c( L$data['content'] = '图片分享';' t7 @( k( E7 k; Y
$data['from'] = $this->_type_wap;
8 J& {0 B: |6 B' |6 I$ q# r$res = api('Statuses')->data($data)->upload();# X- i* Z$ Q P- h% Q5 p# x) a
}
& h3 F7 `4 O: T5 ]$ o 5 b# |7 g7 i9 s0 T4 {. S- r
未对文件类型过滤5 |1 B. U0 N5 M) X
: y0 ^ L' j s
访问wap 模块. U) I3 R( c q' f+ ]+ s6 P) `
( _% H/ s; [ \/ x/ t9 @( ~; K! g0 b" T7 u8 e2 b" s; f
发一条微博并传图/ ~. Y2 r& _' p8 Y# p7 a
( h% ~$ s) K) _
firebug 地址
8 m+ p) r5 N; C/ U; u) Y: V! ~, \
7 K7 {+ R' d9 b: I# Z& A, } c# P, b8 B
! }5 q% I ] r, d
. @! i- R- }! e8 A3 |1 l9 A: J& F* Q) u6 L) h$ e4 ?: y7 r
去掉small_然后访问
# b% V$ [2 w+ Z- P: L8 i
- z# g$ V$ b D; j. V1 N9 b* Ahttp://www.myhack58.com/data/upl ... 7/50865d481c217.php
: r) G8 f+ [7 j' J O4 O
) Z& C( k' k# ~
" c& O3 x: n# U z) i2 }9 `) P; s! e
修复方案:1 F% v1 \3 I% B9 _
' i5 F6 E. C' l/ L- ^# s1 {对上传类型要进行检查; m! Y3 X$ Q1 @+ r4 P; U- g
1 A7 I K; m! X2 f/ Z
# L; x. S+ [/ y' e |