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

相关推荐
M78佐菲1 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
噜~噜~噜~2 小时前
操作系统笔记-2.3.5.1.1生产者-消费者问题
笔记·操作系统
yi.Ist2 小时前
数据定义语言-DDL操作
数据库·学习·mysql·oracle·大海豚
骐骥16 小时前
学习:javaScriptProxy和registerJavaScriptProxy有什么区别,能注册多少个对象
学习·鸿蒙
Huathy-雨落江南,浮生若梦6 小时前
Caddy 学习笔记 - 反向代理与 IP 封禁
笔记·学习·tcp/ip
谢白羽7 小时前
SGLang的AWQ量化笔记
笔记·python·sglang
噜~噜~噜~7 小时前
操作系统笔记-2.3.5.2 读者-写者问题
笔记·操作系统
m4Rk_8 小时前
【论文阅读】Agent 记忆机制(57):MemSearch-o1——从查询词元生长证据,重组 Deep Search 记忆路径
论文阅读·人工智能·学习·开源·github
闭月之泪舞8 小时前
C++编程学习
c++·学习
MindUp8 小时前
企业私有化文件管理系统选型实录:从部署架构到AI能力的技术调研笔记
人工智能·笔记·架构