86.(2)攻防世界 WEB PHP2

之前做过,回顾一遍,详解见下面这篇博客

29.攻防世界PHP2-CSDN博客

既然是代码审计题目,打开后又不显示代码,肯定在文件里

php 复制代码
<?php
// 首先检查通过 GET 请求传递的名为 "id" 的参数值是否严格等于字符串 "admin"
// 使用 === 进行严格比较,意味着不仅值要相等,数据类型也要相同
if("admin" === $_GET['id']) {
    // 如果严格等于 "admin",则输出提示信息,表明不允许该操作
    echo("<p>not allowed!</p>");
    // 调用 exit() 函数终止当前脚本的执行,防止后续代码继续运行
    exit();
}

// 对通过 GET 请求传递的名为 "id" 的参数值进行 URL 解码操作
// 因为在 URL 中,某些特殊字符会被编码,这里进行解码以获取原始值
$_GET['id'] = urldecode($_GET['id']);

// 再次检查解码后的 "id" 参数值是否等于字符串 "admin"
// 这里使用 == 进行比较,只比较值是否相等,不考虑数据类型
if($_GET['id'] == "admin")
{
    // 如果解码后的值等于 "admin",则输出访问授权的提示信息
    echo "<p>Access granted!</p>";
    // 同时输出密钥信息,这里密钥用占位符 xxxxxxx 表示
    echo "<p>Key: xxxxxxx </p>";
}
?>

admin编码后%61%64%6D%69%6E

浏览器本身会进行一次url解码

再次编码%2561%2564%256D%2569%256E

相关推荐
小小星球之旅1 分钟前
redis缓存常见问题
数据库·redis·学习·缓存
Haoea!3 分钟前
Flink03-学习-套接字分词流自动写入工具
开发语言·学习
哆啦A梦的口袋呀14 分钟前
基于Python学习《Head First设计模式》第三章 装饰者模式
python·学习·设计模式
哆啦A梦的口袋呀15 分钟前
基于Python学习《Head First设计模式》第五章 单件模式
python·学习·设计模式
love530love22 分钟前
【笔记】Windows 下载并安装 ChromeDriver
人工智能·windows·笔记·python·深度学习
Kila_1 小时前
【iOS(swift)笔记-13】App版本不升级时本地数据库sqlite更新逻辑一
数据库·笔记
Kila_1 小时前
【iOS(swift)笔记-14】App版本不升级时本地数据库sqlite更新逻辑二
数据库·笔记
Lester_11011 小时前
嵌入式学习笔记 - FreeRTOS关于vApplicationGetIdleTaskMemory
笔记·stm32·学习·freertos
大写-凌祁2 小时前
GLIDE论文阅读笔记与DDPM(Diffusion model)的原理推导
论文阅读·人工智能·笔记·python·深度学习·机器学习·计算机视觉
小葡萄20253 小时前
黑马程序员C++核心编程笔记--4 类和对象--多态
java·c++·笔记