某模块未对上传文件类型进行验证。可上传任意文件
c" S. K$ k) G- k# V
1 u9 u0 y! x1 @
3 X3 c g9 f$ {9 ~! f 6 K# m# @: @" E3 i3 a! T
代码产生位置2 L5 U6 Q- L5 M' P& r
apps\wap\Lib\Action\IndexAction.class.php5 Z4 W: x1 [- c4 Q( U- D/ `
263行* _# }' P0 b5 l+ l/ J
if(!empty($_FILES['pic']['name'])) { // 自动发一条图片微博0 H. i p( _. R5 I: t+ R, @2 b- |
$data['pic'] = $_FILES['pic'];, ] A/ t9 H3 N O- U5 F
$data['content'] = '图片分享';
* G( h8 \: V1 V! Y! i0 m$data['from'] = $this->_type_wap;6 U. `3 Z/ B1 z8 f
$res = api('Statuses')->data($data)->upload();% |9 ~% ?$ g: H I
}
5 a9 F; J( L# ?4 x6 m" c- [/ X 6 J% k6 b. P% T! d7 K
未对文件类型过滤 y0 u2 }( V& O; |
, Y. M3 X6 x0 P7 I K5 A% o8 A7 Q访问wap 模块9 T, O, r8 `0 ?# @
% \! S i+ }) G! f
& |3 ^: v# G) ~, Y2 F2 p
发一条微博并传图
) C+ J* O% c6 o1 E: r+ Z 4 Q, k: S& R& d6 u9 { |
firebug 地址' q! u1 ]0 `5 ^
9 p+ z4 I' i3 b" A5 n
/ h8 z6 i1 z' o( ^- D; m4 X+ u9 O* O& k: X
3 ?& m. ~9 j' j去掉small_然后访问2 E- t! R: D; M: }# J3 w
1 O! ?+ B5 G! P- X9 C3 Yhttp://www.myhack58.com/data/upl ... 7/50865d481c217.php( q5 q( U0 E! _
# T$ z3 x2 ]* O5 c1 C 2 }- i/ b9 P& ~ Y
! [- M. v2 k$ d" y4 U
修复方案:
/ Q: J8 X& J3 c& y( N1 f+ T( c$ N/ w7 y/ x' q
对上传类型要进行检查
$ p" K9 i) I9 S& T: Z; f0 C) C- O5 }& ]- r0 R1 G7 _1 ~) D
6 ~/ N5 G! I Z/ e3 U
|