某模块未对上传文件类型进行验证。可上传任意文件
, L7 b/ }" [( A, c# H' w" t' C/ |0 c# t' @7 N" K
1 o- X8 r0 q( e, B! f5 }( Z " P- V" o/ V3 |2 q, ~! U- E% o5 @. E
代码产生位置# [5 b9 Y, Q* I) q
apps\wap\Lib\Action\IndexAction.class.php) f5 s0 T8 }, o9 Q0 f5 i
263行- Q) k, m) s% ^5 N, k8 T5 K# ?' F4 }
if(!empty($_FILES['pic']['name'])) { // 自动发一条图片微博) Y5 D* ?" R4 A! M/ R' L
$data['pic'] = $_FILES['pic'];
* o9 }; H6 p$ j# i$ Y, d$data['content'] = '图片分享';" | G& v$ X5 l' a4 M2 U4 T
$data['from'] = $this->_type_wap;
" b- p6 V9 s8 X1 ]4 s$res = api('Statuses')->data($data)->upload();
3 M9 e' u/ g: H* [2 U' v}
8 \: p+ `1 N! K' |6 K( B * U6 Y/ V, z8 Q
未对文件类型过滤
6 o3 u' a9 V1 J/ g: Q1 H a# ]5 c & l# O1 ~$ U, r7 t0 E0 l7 O
访问wap 模块/ j- J: p% y' K8 m4 |& l! _* i
) I- o# s" q9 U; Q: Z1 {
Y6 e! F3 m8 S% f; H& E' {+ L发一条微博并传图( E& ?8 y; h( B- C7 H, }
0 p+ W: K; Q& d% L% Z+ lfirebug 地址" ?, \* W3 f- D* ~8 o
8 M" z+ x. j" _7 V @' A. b, m, S
+ b2 y% G5 v4 R7 D# m. M! W$ Z- s
1 b) P2 M/ r2 Z( ~5 F7 e3 X; j3 h {1 S* A/ q* C4 t' o
去掉small_然后访问
& I1 H {% V+ f" n: ~1 l% [/ w
2 ^: x! p C. r$ M; }( n! ]http://www.myhack58.com/data/upl ... 7/50865d481c217.php
* m/ w6 f" O( Z/ R
3 |. U# ?5 [5 \
* ]3 b8 N# i2 z% }" \+ I( z: l) F+ [/ ~5 g5 Q/ F1 u
修复方案:
0 T( w5 C @( V( o
9 g9 V: L' N4 K0 q3 L4 ^; T对上传类型要进行检查; t! v8 R+ \9 c' y
6 i/ e7 A$ e) @+ J5 P# |: F
- v% @! o, y0 T# l; W6 S2 ^ |