当前位置: 首页 > article >正文

攻防世界_PHP2

(你能验证这个网站吗?)

【参考大佬博客writeup】

尝试查看源代码:无事发生 再用burp抓包该网页:还是没啥特别的

查看index.php,无事发生

请求一下index.phps:得到一段php代码片段,用于检查用户是否有访问网站的权限

phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。

 

 

开始分析得到的语句

第一行是 PHP 的开头标记,表示 PHP 代码的开始。

第二行检查通过 URL 传递的 'id' 参数的值是否等于 'admin'。如果它相等,则使用 'echo' 函数显示消息“not allowed!”并使用 'exit' 函数退出脚本。这是为了防止未经授权访问网站的管理员页面。

第六行使用 'urldecode' 函数解码 'id' 参数的 URL 编码值。

urldecode urlencode的区别
-  urlencode 函数:将字符串进行URL编码。把字符串中的非字母数字字符按照特定的规则转换为 % 加上两位十六进制数的形式,空格会被转换为 + 号,以便于在URL中安全地传输数据。
-  urldecode 函数的功能与 urlencode 相反,用于对已编码的URL字符串进行解码。它会把 % 加上两位十六进制数的形式还原为原来的字符,把 + 号转换为空格,将URL字符串恢复为原始的字符串形式。

第七行检查 'id' 参数的解码值是否等于 'admin'。如果它相等,则使用 'echo' 函数显示消息“Access granted!”和一个密钥。

用burp对admin进行url两次编码

对id=admin中的admin进行编码,但由于浏览器会进行一次解码,所以对admin进行两次编码得到%2561%2564%256d%2569%256e

在网址后加上?id=%2561%2564%256d%2569%256e便能得到结果。


http://www.kler.cn/a/528501.html

相关文章:

  • DIFY源码解析
  • 游戏引擎 Unity - Unity 启动(下载 Unity Editor、生成 Unity Personal Edition 许可证)
  • MINIRAG: TOWARDS EXTREMELY SIMPLE RETRIEVAL-AUGMENTED GENERATION论文翻译
  • Longformer:处理长文档的Transformer模型
  • Elasticsearch Queries
  • C++并行化编程
  • Web-3.0(Solidity)ERC-20
  • 【Uniapp-Vue3】获取用户状态栏高度和胶囊按钮高度
  • 手撕Vision Transformer -- Day1 -- 基础原理
  • 【react-redux】react-redux中的 useDispatch和useSelector的使用与原理解析
  • 2 Flink 部署及启动
  • 基于Python的简单企业维修管理系统的设计与实现
  • TypeScript 运算符
  • 【毕业与课程大作业参考】基于 yolov8+pyqt5 界面自适应的表情识别检测系统 demo
  • Java中对消息序列化和反序列化并且加入到Spring消息容器中
  • 语音识别播报人工智能分类垃圾桶(论文+源码)
  • 使用HttpClient和HttpRequest发送HTTP请求
  • 软件工程中的需求工程
  • 电脑优化大师-解决电脑卡顿问题
  • FFmpeg(7.1版本)编译:Ubuntu18.04交叉编译到ARM
  • Scratch 《像素战场》系列综合游戏:像素战场游戏Ⅰ~Ⅲ 介绍
  • 深入理解linux中的文件(上)
  • C++——缺省参数、函数重载、引用、inline
  • 海外问卷调查之渠道查,对企业经营的重要价值有哪些表现
  • 3.5.5 基于横盘结构的分析体系——缠论(走势类型)
  • abc 390 D(暴搜 复杂度用 bell数 证明 n 的集合的划分方法的数目)