GFSJ0234:PHP2

【原理】

简单的代码审计、php源代码文件

【目的】

GET行参数的请求和url编码知识以及服务器的初次解码知识、了解phps文件

【步骤】

1.打开浏览器,访问http://111.198.29.45:45191/index.phps 得到主页源代码,如图所示。

2.进行代码审计,可看出需要用GET方式给id参数传递一个为“admin”的值,但是会经过一次urldecode(),会将传入的值进行url解码,所以要对admin进行两次url编码。

3.对admin字符串进行第一次url编码得到%61%64%6d%69%6e

4.将%61%64%6d%69%6e再次进行url编码得到%2561%2564%256d%2569%256e

5.访问http://111.198.29.45:45191/index.php?id=%2561%2564%256d%2569%256e 得到flag。

了解一下index.php和index.phps

index.php

这是标准的 PHP 脚本文件,服务器会解析并执行其中的 PHP 代码,最终将生成的动态内容(如 HTML)返回给浏览器。例如,用户访问 index.php 时,服务器会执行代码中的逻辑(如数据库查询、身份验证等),并输出结果。

index.phps​

该文件扩展名通常用于展示 PHP 源代码。当用户访问 index.phps 时,服务器不会执行其中的代码,而是直接将文件内容以纯文本形式返回给浏览器。这种机制常用于代码共享或调试,但会暴露源码中的敏感信息(如数据库密码、逻辑漏洞)。

本题考察的是对于phps和index.php文件的理解与运用

1.开启环境,点击http://223.112.5.141:49350进入环境

2.进入后,发现以下页面:

提示:Can you anthenticate to this website?

翻译过来就是:你能登录这个网站吗?

3.先来试试看访问index.php,构造url:http://223.112.5.141:49350/index.phps

4.发现没有任何回显

5.再试试看访问index.phps文件,构造url:http://223.112.5.141:49350/index.phps

6.访问后发现了php源码

php源码如下:

not allowed!


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


Access granted!

"; echo "


Key: xxxxxxx

"; } ?> Can you anthenticate to this website? 

经过代码审计后得出结论:

①需要通过GET方式进行传参
②传递一个参数,名为id,值为“admin”,获取key

③经过urldecode(),会将传入的值进行url解码,所以要对admin进行两次url编码
④对admin字符串进行第一次url编码得到%61%64%6d%69%6e

⑤将%61%64%6d%69%6e再次进行url编码得到%2561%2564%256d%2569%256e

7.因此构造url:http://223.112.5.141:49350/?id=%2561%2564%256d%2569%256e获取key

8.返回页面,直接或者flag

cyberpeace{ac9dffd449c3bfe4ca49b0019a43d7d5}

版权声明与原创承诺

本文所有文字、实验方法及技术分析均为 本人原创作品,受《中华人民共和国著作权法》保护。未经本人书面授权,禁止任何形式的转载、摘编或商业化使用。

道德与法律约束

文中涉及的网络安全技术研究均遵循 合法合规原则:

1️⃣ 所有渗透测试仅针对 本地授权靶机环境

2️⃣ 技术演示均在 获得书面授权的模拟平台 完成

3️⃣ 坚决抵制任何未授权渗透行为

技术资料获取

如需完整实验代码、工具配置详解及靶机搭建指南:

请关注微信公众号 「零日破晓」

后台回复关键词 【博客资源】 获取独家技术文档包

法律追责提示

对于任何:

✖️ 盗用文章内容

✖️ 未授权转载

✖️ 恶意篡改原创声明

本人保留法律追究权利。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值