返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >攻防世界PHP2详细解答
  • 845
分享到

攻防世界PHP2详细解答

phpPoweredby金山文档 2023-08-31 09:08:23 845人浏览 八月长安
摘要

攻防世界PHP2 一、 1.进入环境 看到一句话“Can you anthenticate to this WEBsite?”意思为:你能认证到这个网站吗?

攻防世界PHP2

一、

1.进入环境

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

2.burpsuite

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

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

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

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

给出了一下代码

3.解析代码

not allowed!

"); exit();}$_GET[id] = urldecode($_GET[id]);if($_GET[id] == "admin"){ echo "

Access granted!

"; echo "

Key: xxxxxxx

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

来源地址:https://blog.csdn.net/m0_74047686/article/details/129494742

--结束END--

本文标题: 攻防世界PHP2详细解答

本文链接: https://lsjlt.com/news/385119.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 攻防世界PHP2详细解答
    攻防世界PHP2 一、 1.进入环境 看到一句话“Can you anthenticate to this website”意思为:你能认证到这个网站吗? ...
    99+
    2023-08-31
    php Powered by 金山文档
  • 攻防世界--PHP2
    PHP2 进入场景 翻译: 你能访问这个网站吗? 扫描一下后台文件 这题访问php时没有回显 这里涉及到phps的知识 phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器...
    99+
    2023-10-18
    php 网络安全 攻防世界 ctf
  • 攻防世界-Web-PHP2
    PHP2 文章目录 PHP2 Can you anthenticate to this website 我们发现想要得到Access granted!回显需要用GET请求提交一个id,...
    99+
    2023-09-13
    php web安全
  • [CTF/网络安全] 攻防世界 PHP2 解题详析
    [CTF/网络安全] 攻防世界 PHP2 解题详析 index.php.phps扩展名姿势 翻译:你能给这个网站进行身份验证吗? index.php index.php是一个常见的...
    99+
    2023-09-01
    web安全 php 安全 网络安全
  • 攻防世界Web_php_include详解
    两种思路: 第一种:文件包含 根据代码审计,对get类型参数进行循环过滤字符串'php://',所以考虑其他伪协议,伪协议包括: 【file://协议】 file:// 协议在双off的情况下也可以正常使用; allow_url_fo...
    99+
    2023-09-02
    php 开发语言
  • 攻防世界-warmup详解
    1、进入题目的场景 只有一个表情,没有其他的信息,因此我们进行查看源码,发现source.php  2、访问source.php可以看的出来是代码审计 因此我们需要对其代码进行了解 ...
    99+
    2023-08-31
    php 开发语言
  • 攻防世界-web篇(php_rce)详解
    每日一题,今天我们来攻防世界web篇(php_rce) 目录 1、利用system函数远程命令执行 2、查找文件目录 3、进入flag目录 4、查看flag文件拿到flag 首先打开题目:  这里我们可以看到打开后是一个ThinkPH...
    99+
    2023-08-31
    安全 web安全
  • 攻防世界fileinclude题解
    目录 解题思路 file_get_contents()函数 PHP伪协议 解题思路续 解题思路 先看题目   打开题目场景   我们看到用了file_get_contents()函数 这里我忘了这个函数是什么意思了...
    99+
    2023-09-03
    php 网络安全
  • 攻防世界-upload1-(详细操作)做题笔记
    为了让自己记忆更深刻,查询跟资料更方便,开始试着写博客,新手菜鸟,思路有不正确的地方,还请各位大佬不吝啬指正,感谢。下面开始做题:  进去题目已有提示需要上传文件 这种情况一般是构建一句话木马,利用burpsuite修改包后缀名(一般会限...
    99+
    2023-09-01
    php 开发语言
  • simple_php (攻防世界)
    前言: 这篇文章还是是为了帮助一些 像我这样的菜鸟 找到简单的题解 题目描述 进入网址 解题工具: 可以使用hackerbar 问题解析: 我们来分析一下代码  很明显是一段php代码 前三行可略过 和解题无关 ...
    99+
    2023-09-28
    php
  • 攻防世界(fileinclude)
    记录一道简单的文件包含题,攻防世界的fileinclude。 打开环境 页面给出了flag在flag.php中,明确了目标,看一下网页源码 主要部分 $lan=$_COOKIE['language'];        ==>        ...
    99+
    2023-09-14
    php 服务器 开发语言 web安全 安全
  • 攻防世界unserialize3
    又来了我的攻防世界 原题:攻防世界         怎么说呢...先看一下题目吧  看到题目的时候我第一反应是无从下手,之前说过博主是个刚起步的新手而且对php不是特别了解...这真的是难度一的题嘛...不过!在查找了很多资料后我逐渐理解...
    99+
    2023-09-02
    php 开发语言
  • easyupload(攻防世界)
    文件上传,发现对文件的后缀名进行了过滤,php,phtml.php3等都不行 尝试.php. 绕过 (windows中会把后缀名最后的空格和. 省略,即上传.php.绕过后会变为.php) 又发现对上传文件的内容进行了验证,加入图片头。 ...
    99+
    2023-09-02
    php 开发语言
  • 攻防世界Web_php_include
    php文件包含题 启动场景 进行代码审计: 对get类型参数进行循环过滤字符串'php://',所以考虑其他伪协议,伪协议详见PHP伪协议详解_Snakin_ya的博客-CSDN博客 show_source() 函数 str_repla...
    99+
    2023-09-10
    php
  • baby_web (攻防世界)
    前言: 这篇文章还是是为了帮助一些 像我这样的菜鸟 找到简单的题解 题目描述 进入网址   解题工具: 一个有F12的键盘 问题解析: 题目说想想初始页面是哪个 一般都是index.php 然后如题分析即可 科普时间叒到 HTTP状态码...
    99+
    2023-09-16
    php
  • 攻防世界-fileclude
    一   输入的变量是language,用COOKIE传参,输出的是x 19行 @include("english.php")可以看出此处存在文件包含。include函数用php://filter伪协议来绕过 flag后面不加.php,会...
    99+
    2023-09-12
    php 开发语言
  • 攻防世界---fileclude
    打开环境   查看代码,发现包含了flag.php,如果file1和file2不为空,file2被放入了file_get_contents函数中,并且file2的返回结果为hello ctf 则可以得到flag  3.由题可知我们应该获...
    99+
    2023-09-05
    php 开发语言
  • 攻防世界fileclude
    自学的困难,一个题10个没见过的知识点,唉,太难了... ----------------------------------------------------------------------------------下面是正文。 原题...
    99+
    2023-09-09
    php 开发语言
  • 攻防世界-unseping
    攻防世界-unseping [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iPc18GlQ-1666931905094)(data:image/png;base64,i...
    99+
    2023-09-05
    php 开发语言 python ctf
  • 攻防世界 web2
    这个题需要考察php的代码审计,需要具备一定的php知识 最后一段说这个就是思路 首先先看看代码中的几个函数 Strlen()函数   将返回字符串的长度 Strrev()函数     将字符串倒置并且返回 Substr()函...
    99+
    2023-09-08
    php web安全
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作