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

相关推荐
克里斯蒂亚诺更新6 小时前
ruoyi角色权限的对应关系
笔记
a1117769 小时前
2FA 验证码生成器(github登录验证 app)
笔记·学习
我的xiaodoujiao9 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
破碎的南瓜10 小时前
sqli--sql注入过关笔记(1,2,3,4,5,9)
数据库·笔记·sql
你想知道什么?11 小时前
线性回归-学习笔记
笔记·学习·线性回归
鱼毓屿御11 小时前
从「只会聊」到「边想边做」的跃迁
前端·学习·react.js
谙弆悕博士11 小时前
系统集成项目管理工程师教程(第3版)笔记——第17章:法律法规和标准规范
笔记·职场和发展·学习方法·业界资讯·软考·法律·法规
AOwhisky12 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
谙弆悕博士13 小时前
系统集成项目管理工程师教程(第3版)笔记——第4章:信息系统架构
笔记·系统架构·项目管理·创业创新·学习方法·业界资讯·物理
minglie114 小时前
zynq中linux系统的自动登录和免密登录
学习