某模块未对上传文件类型进行验证。可上传任意文件
, f3 U" ^" J& E
% F6 P* c1 ~* V: E: Z7 X: h2 o7 m; C. `. f, j
- C; r1 E8 v% K/ y
代码产生位置
W/ Q2 ]8 q4 ^/ X4 i) K/ Q, eapps\wap\Lib\Action\IndexAction.class.php
: `' @* e) W ^263行
* l5 ` _! a: p! f- _; \if(!empty($_FILES['pic']['name'])) { // 自动发一条图片微博
' L7 a( q) C, r$data['pic'] = $_FILES['pic'];
" c3 \) @# O0 R% `; a1 c$data['content'] = '图片分享';
8 z8 R D9 L+ F; u* u6 N$data['from'] = $this->_type_wap;
3 P; I# L, n( o5 W$ n$ J. C$res = api('Statuses')->data($data)->upload();. V O, d+ i% Y# g& ^, _- e/ Z
}
6 i N) ~! d: [! N3 J : e1 z; v' q; G9 ?
未对文件类型过滤
9 @3 T, |5 ^# `8 |) F8 m 6 J( s- Z+ m* n, m6 Z& W/ a8 m
访问wap 模块
2 i! A: e# Z; Z9 S# B( J 6 ~' Q8 y7 l. p" h' M) |( O# v
/ V+ y0 U# R8 C6 ]发一条微博并传图
2 I- m" w6 s% \3 l) h 1 r* C/ \% r1 Y* g8 e2 O4 l8 e! ?
firebug 地址
: w _; ]8 x, H1 p, Z; _ 6 {# z% Y* K& E b
0 R( O, I, ~) y/ p: b! Y, ^6 E/ c* |/ A- [9 A |$ @
t3 U& r7 N3 O$ G/ [6 c8 c
去掉small_然后访问
/ s% t; }; R, t3 H/ {. n; [& s* W6 ~. B9 Y/ p- k B
http://www.myhack58.com/data/upl ... 7/50865d481c217.php, L4 d( X$ D9 o; H) T6 E8 k* Q9 F' H& O
* ~3 D+ c& s) \, P: ~ C# R5 K. F
5 v1 y4 S W* H3 R8 T' r* p
5 }. V7 r `2 A修复方案:
+ `- N7 {, H# Y
6 h' ^3 t* r; C8 h/ }+ e `对上传类型要进行检查0 B4 y' r: E( ^5 c. U$ B$ @
3 D" O6 l3 o. S0 |8 h
" d- p6 N, l: B |