攻防世界PHP2详细解答

2023-11-06

攻防世界PHP2

一、

1.进入环境

看到一句话“Can you anthenticate to this website?”意思为:你能认证到这个网站吗?

2.burpsuite

用burpsuite抓包后也没有什么重要的信息o(一︿一+)o

我们可以进入index.php,但页面并没有变化。

于是输入index.php开始有东西出来了。

在这里可能看的不明显,我们直接回到页面在后面+/index.phps看看

给出了一下代码

3.解析代码

<?php
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>";
}
?>

Can you anthenticate to this website?

只需一眼就可以看出这是一个 PHP 代码片段,用于检查用户是否具有访问网站的权限

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

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

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

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

  1. 代码以 PHP 结束标记结束。

咱们的目的就是求出这个密钥了( ¯▽¯;)

4.但要注意的是这个函数urldecode

urldecode() 是一个 PHP 函数,用于解码 URL 编码字符串。在 URL 中,一些字符是有特殊含义的,例如空格、问号、等号等。如果需要在 URL 中使用这些字符,就需要对其进行编码,将其转换成特定的编码格式。例如空格会被编码成 %20。urldecode() 函数可以将这些编码格式的字符解码回原始字符,以便使用或显示。

在上面的 PHP 代码片段中,urldecode() 函数用于解码传递的 'id' 参数的 URL 编码值,以便后续判断 'id' 参数的值是否等于 'admin'。

所以直接输入下面是不行的。

http://61.147.171.105:64170/?id=admin

我们需要将admin进行转换,也就是进行url编码。

admin 的 URL 编码是 %61%64%6d%69%6e。

http://61.147.171.105:64170/?id=%61%64%6d%69%6e

还是不行滴!

因为浏览器本身会进行因此url解码,这里相当于进行两次url解码,应该是

http://61.147.171.105:64170/?id=%2561%2564%256d%2569256e

最后也是得到结果了!\( ^▽^ )/

5.知识总结:(✿◡‿◡)

1.后缀名为.phps的文件:phps即php source,phps文件就是php的源代码文件,通常用于提供给用户查看php代码,因为用户无法通过web浏览器直接查看到php文件的内容,所以需要用phps文件代替

2.在传入参数时,浏览器会对非ASCII编码进行一次urlencode,结果在代码执行时,相当于id还是admin,所以我们在传参时需要进行两次URL编码

3.在URL编码中, "%" 符号是一个特殊字符,它被用来表示接下来的两个字符是一个ASCII值的十六进制表示。因此,如果我们想要在URL中出现一个 "%" 符号本身,而不是它的特殊含义,那么我们需要对它进行编码。

4.对于 "admin" 字符串,在进行一次URL编码后,会得到 "%61%64%6d%69%6e" 这个字符串。如果我们想对其进行二次URL编码,可以使用 "%25" 来代替每个 "%" 符号。由于 "%25" 在URL编码中表示 "%" 符号,所以最终的二次URL编码结果为 "%2561%2564%256d%2569%256e"。

5.另一方面,如果我们将 "%25" 放在 "dmin" 前面,会得到 "%25dmin"。这个字符串也可以被解码为 "admin"。这是因为,在进行URL解码时,系统会先解码所有出现的 "%" 符号,然后再将剩下的字符串解码为原始字符。因此,"%25dmin" 和 "%2564%6d%69%6e" 都可以被解码为 "admin"。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

攻防世界PHP2详细解答 的相关文章

  • gmail 不断阻止 PHPmailer 登录

    我将在接下来的 8 小时内部署一个网站 而 Gmail 刚刚停止接受 PHPmailer 登录我的帐户 起初 它在测试过程中工作了几个小时 然后 它就停止工作了 我已经允许所有允许不太安全的应用程序从 gmail 登录 但它仍然不允许 ph
  • Laravel 从 5.6 升级到 Laravel 6

    我有一个项目https github com javedbaloch4 Laravel Booking https github com javedbaloch4 Laravel Booking发展于Laravel 5 6现在我想将其升级到
  • 当数据验证失败时保留表单字段中的值

    我在弄清楚验证失败时如何保留用户数据时遇到问题 我对 PHP 有点陌生 所以我的逻辑可能会犯一些巨大的错误 目前 如果验证失败 所有字段都会被清除 并且 Post 数据也会消失 这是一些代码 假设用户输入无效电子邮件 我希望保留 名称 字段
  • 删除PHP字符串中所有不匹配的字符?

    我有一个文本 我想从中删除所有不属于以下字符的字符 所需字符 0123456789 abcdefghijklmnopqrstuvwxyz n 最后一个是我确实想保留的 n 换行符 要匹配除列出的字符之外的所有字符 请使用反转字符集 http
  • 优雅地处理没有数据的 amcharts

    我想知道我的 dataProvider 是否为空 amCharts绘制时默认为null 我怎样才能动态地处理它 var chart AmCharts makeChart chartdiv theme none type serial dat
  • 单词之间没有空格的语言(例如亚洲语言)中的断词?

    我想让 MySQL 全文搜索适用于日语和中文文本以及任何其他语言 问题在于这些语言以及可能其他语言通常在单词之间没有空格 当您必须键入与文本中相同的句子时 搜索没有用 我不能只在每个字符之间添加空格 因为英语也必须有效 我想用 PHP 或
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • FPDI/FPDF:水印和打印多页

    我修改了这个堆栈问题 当用户尝试下载文件时在 pdf 文件上应用水印 https stackoverflow com questions 3983432 applying watermarks on pdf files when users
  • 为什么我需要结束 ob_start()?

    php 文档建议我应该用 ob end flush 结束每个 ob start 我在网站的每个页面上使用一个 只是为了允许我在应用程序中的任何位置使用 firephp 日志方法 该应用程序运行良好 但我想知道是否有任何我不知道的东西可能有害
  • 使用 preg_replace 仅替换第一个匹配项

    我有一个结构类似于以下的字符串 aba aaa cba sbd dga gad aaa cbz 该字符串每次都可能有点不同 因为它来自外部源 我只想替换第一次出现的 aaa 但其他人则不然 是否可以 可选的第四个参数预替换 http php
  • 如何在原则 2 迁移中删除外键

    我想在原则 2 迁移中删除外键 但没有 dropForeignKeyConstraint 有谁知道怎么丢掉吗 public function down Schema schema table schema gt getTable table
  • “使用未定义常量”注意,但该常量应该被定义

    共有三个文件 common php controller php 和 user php 文件 common php 如下所示 文件controller php看起来像 文件 user php 如下所示 执行脚本时 会给出通知 注意 使用未定
  • 为什么 iconv 在 php:7.4-fpm-alpine docker 中返回空字符串

    给出以下代码
  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账
  • 简单的 PHP 表单:电子邮件附件(代码 Golf)

    想象一下 一个用户想要在其网站上放置一个表单 该表单将允许网站访问者上传一个文件和一条简单的消息 该消息将立即通过电子邮件发送 即 该文件未存储在服务器上 或者如果该文件存储在服务器上 仅暂时 作为文件附件 并在邮件正文中添加注释 查看更多
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • python --- 之pil图像转换的一些方式

    在数字图像处理中 针对不同的图像格式有其特定的处理算法 所以 在做图像处理之前 我们需要考虑清楚自己要基于哪种格式的图像进行算法设计及其实现 本文基于这个需求 使用python中的图像处理库PIL来实现不同图像格式的转换 对于彩色图像 不管
  • UNITY普通3D项目转换成URP项目

    注意 要确认 UniversalRP 对应的版本支持 目前此插件在2019和2020 2版本上已经得到认证 转换的前提 1 查看素材或询问素材支持的Unity版本 2 查看或询问素材是否支持 UniversalRP 插件 3 查看或询问素材
  • 睿智的目标检测48——Tensorflow2 搭建自己的Centernet目标检测平台

    睿智的目标检测48 Tensorflow2 搭建自己的Centernet目标检测平台 学习前言 什么是Centernet目标检测算法 源码下载 Centernet实现思路 一 预测部分 1 主干网络介绍 2 利用初步特征获得高分辨率特征图
  • IDEA启动Tomcat时报java.lang.IllegalStateException: Error starting child

    今天刚刚开始学习使用idea时 在网上查了资料后 写了一个简单的Servlet做测试 结果出现 2019 01 13 01 30 39 745 Artifact testidea war exploded Artifact is being
  • web服务器型号价格,web服务器的价格

    web服务器的价格 内容精选 换一换 华为云将可用的计算资源 按照一定折扣进行售卖 其价格随市场供需关系实时变化 这种打折销售 价格实时变化的计费模式称为 竞价计费 在该计费模式下 您可以以折扣价购买并使用弹性云服务器 性能与常规云服务器无
  • 什么是高防CDN?

    高防CDN是为了更好的服务网络而出现的 是通过高防DNS来实现的 高防CDN是通过智能化的系统判断来路 再反馈给用户 可以减轻用户使用过程的复杂程度 通过智能DNS解析 能让网站访问者连接到响应的服务器上 以避免某个服务器因访问者过多而瘫痪
  • 多任务学习综述:推荐系统多任务学习(multitask)的实战总结和常见问题(一)

    多任务学习算法系列的主要内容是回顾和总结自己2019 2021间在深度学习多任务学习算法 multitask 的工业实践和遇到的常见问题 欢迎更多同学讨论和指正 同时也宣传一波我们组在推荐方向的工作成果 大规模推荐算法库PaddleRec
  • C语言操作字符练习题---跟着鹏哥学C语言第二天打卡

    选A 这里的字符串 hello bit hello bit 0 此处是有空格 在字符串里每个符号包空格都是由阿斯科码值组成 所以每个字符都会各自存储一个字节的空间 包括后面隐藏的 0 字符串内都会有 strlen计算包括空格 所以sizeo
  • Webgl开发输入框兼容问题及开发注意的问题

    Webgl开发输入框 InputField组件 输入中文 说明 解决方案一通过重写原生的InputField组件来兼容 解决方案二通过打包后自己定义JS 总结 说明 最近一直再搞WEBGL平台的项目 花了好几天解决InputField组件输
  • WPF PasswordBox 绑定

    对于PasswordBox 可能很多人都会按着TextBox的路子 在ViewModel里面写一个属性 然后绑定到Password属性上 当你写完这一切的时候 你会突然收到Visual Studio的提示 Password并不是依赖属性 不
  • java面对对象(中.2)(多态性,终极父类,instanceof,包装类等)

    今天来讲java中的多态性 多态性我个人认为它是最重要 同时也是最难理解的 不过不用担心 下面就带你了解java中的多态性 多态性 是面向对象中最重要的概念 在Java中的体现 对象的多态性 父类的引用指向子类的对象 可以直接应用在抽象类和
  • 爬虫学习笔记

    基于CefSharp开发浏览器 一 项目搭建 CefSharp中文帮助文档 public partial class Form1 Form 如何解释 public 表示类的访问级别 公开 partial 表示部分类 就是说这些代码只是类的一
  • Prometheus连接多个指标

    Prometheus连接多个指标与聚合 初识PromSQL 一 Prometheus二进制操作符 一对一匹配One to one 一对多和多对一匹配 初识PromSQL PromSQL看起来简短整洁 通俗易懂 乍一看很简单 但是当真正使用它
  • Python读取xls文件报错:raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+‘; not supported‘)

    Python读取xls文件报错 raise XLRDError FILE FORMAT DESCRIPTIONS file format not supported 只需要下载pyexcel xls pip install pyexcel
  • 网络粘包,拆包处理

    数据由一台设备通过网络发送给另一台设备普遍存在着网络上的 拆包与粘包问题 如图 有四个数据包 相同颜色表示一条完整的数据 对于 红色数据 它被拆分成了数据包一和数据包二 并与黑色和粉色数据同在一个数据包二中 这两个数据包就发生了粘包和拆包的
  • 数据分析与挖掘概述

    数据分析与挖掘概述 1 什么是数据分析和挖掘 数据分析和挖掘都是基于搜集来的数据 应用数学 统计 计算机等技术抽取出数据中的有用信息 进而为决策提供依据和指导方向 应用漏斗分析法挖掘出用户体验过程中的不足之处 从而进一步改善产品的用户流程
  • MySQL基本用法

    一 数据库的基本操作 1 启动数据库 net start mysql 2 进入数据库 mysql h localhost u root p 3 关闭数据库服务 net stop mysql 4 查看数据库 show databases 5
  • 【微信小程序】为模块设置背景颜色

    微信小程序中不支持直接使用本地图片的形式添加背景图片 1 转换为base64格式类型 2 使用云服务器中的图片 https unicloud dcloud net cn pages login login uniIdRedirectUrl
  • python基于神经机器翻译技术的翻译网站实现

    摘要 机器翻译一直是人工智能领域里的一个重要研究对象 本文应用神经机器翻译技术 实现了从数据预处理到模型训练与模型部署的全流程 并实现了一个可以跨平台访问的翻译网站供需要的人使用 在训练神经机器翻译模型时 首先对原始语料数据集进行清洗 去除
  • 攻防世界PHP2详细解答

    攻防世界PHP2 一 1 进入环境 看到一句话 Can you anthenticate to this website 意思为 你能认证到这个网站吗 2 burpsuite 用burpsuite抓包后也没有什么重要的信息o 一 一 o 我