攻防世界 WEB 高手进阶区 PHP2 Writeup

题目介绍

题目考点

  • url 二次解码
  • index.phps 文件(第一次使用dirsearch可能扫不到,需要加到工具字典里)
  • php 简单语法

Writeup

进入题目

研究一番无果,开始拿 dirsearch 扫描目录

依次尝试访问,最后在访问 index.phps 时发现源码泄露

右键查看源码

分析PHP源码 ,不出意外,那个 key 的内容就是 Flag

if("admin"===$_GET[id]) {
echo("<p>not allowed!</p>");
exit();
}
$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "admin")
{
echo "<p>Access granted!</p>";
echo "<p>Key: xxxxxxx </p>";
}

首先要绕过第一个if,然后在经过一次 urldecode,满足第二个if才能输出 flag

urldecode(%2561)=%61
urldecode(%61)=a

巧妙利用两次url解码,第一次浏览器url解码使第一个if不成立,第二次程序内部url解码刚好满足第二个if条件

构造 url 直接得到 flag

http://220.249.52.134:45849/index.php?id=%61dmin 注意是%2561dmin,前面博客不知原因不显示 25

最新文章

  1. bootstrap中的Grid system详解
  2. 显式意图启动一个Activity
  3. C# .Net中七层架构浅析
  4. java入门 第一季4
  5. (转)hadoop 集群间数据迁移
  6. 在鼠标右键添加“使用WPS打开”
  7. Linux软件安装管理
  8. LaLeX数学公式
  9. Dubbo(3)Dubbo admin管理控制台
  10. 【转载】Activiti delete process definition by key
  11. [py]pycharm远程环境添加
  12. Vue设置页面的title
  13. 乘风破浪:LeetCode真题_016_3Sum Closest
  14. Infor SyteLine如何快速锁定用户
  15. mvc Dapper_Report_Down_ExcelFile
  16. express.Router创建模块化路由
  17. UIRecorder安装与使用
  18. xxx referenced from: xxx in xxx.o
  19. Python3 try-except、raise和assert解析
  20. Mac开发必备工具(二)—— iTerm 2

热门文章

  1. 鸿蒙内核源码分析(内存映射篇) | 虚拟内存虚在哪里 | 百篇博客分析OpenHarmony源码 | v15.03
  2. P6113-[模板]一般图最大匹配【带花树】
  3. Springboot --- Bug集
  4. Unity Event Trigger 事件响应(二维,三维)添加组件
  5. 开源框架 - 新 代码生成器 WebFirst / .NET Core
  6. caffe.cpp解析
  7. 山顶点提取(ArcPy实现)
  8. TCP服务器和客户端_Socket编程
  9. 枚举类型(enum)
  10. C++ IDE或编辑器安装