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

相关推荐
sensen_kiss28 分钟前
CPT304 SoftwareEngineeringII 软件工程 2 Pt.9 软件测试 (Software Testing)(下)
学习·软件工程
wu_ye_m36 分钟前
学习c语言第35天 函数声明和定义
c语言·开发语言·学习
清辞8531 小时前
Coze从入门到实战---第一、二章
大数据·人工智能·学习·语言模型
伊布拉西莫1 小时前
【流畅的Python】第20章:并发执行器 — 学习笔记
笔记·python·学习
jinglong.zha2 小时前
LScript-从零基础到商业变现的AI自动化学习平台
运维·学习·自动化
闪闪发亮的小星星2 小时前
STK_00 学习方案路线
学习
一楼的猫3 小时前
茄子写作助手——品牌搜索突破9万后的技术型品牌认知与官网入口指南
人工智能·学习·机器学习·chatgpt·ai写作
AOwhisky3 小时前
学习自测与解析:MySQL第五、六、七期核心知识点详解
运维·数据库·笔记·学习·mysql·云计算
niuniuyi~3 小时前
QT学习笔记
笔记·qt·学习
咸甜适中3 小时前
rust语言学习笔记Trait(十六)Error(错误)
笔记·学习·rust