PHP2(phps)- URL编码解码原理

简介: PHP2(phps)- URL编码解码原理

先用御剑扫一下


根据题目名字和扫描结果,我们访问一下网站的首页index.php,并没有什么发现

但这里肯定与php有关,题目在php后面加了个2,想到phps,phps 文件就是 php 的源代码文件

通过访问index.phps,我们得到php的源码

代码审计后发现需要使用get传参给id传入admin,但是这里有urldecode()函数,要求对admin进行解码,所以我们在传入id值前要先对admin进行URL编码,即urlencode()函数

URL编码原理:将每个字母对应转换成16进制,且每个前面加%

我们可以看到URL默认对字母和数字不编码,这里第一次对字母或者数字的编码需要手动编码

按照上述方法,我们先将字母转成16进制,再都加上%得到:%61%64%6d%69%6e

也可以用Python自己写一个转换的脚本(仅针对字母数字)

同样得到:%61%64%6d%69%6e

这里还有一个问题就是,我们在浏览器输入admin时,浏览器本身就会对admin进行一次url解码,所以这里需要对admin进行二次url编码

第二次就可以直接使用在线编码工具了

当然我们也可以根据它的原理自己编码,因为%对应的16进制为25,而url默认对数字不会进行编码,所以只需要将%都换成25,且每个前面再加上%即可。

得到  %2561%2564%256d%2569%256e

使用get传参,传入id=%2561%2564%256d%2569%256e

即URL为http://61.147.171.105:58331/?id=%2561%2564%256d%2569%256e



拿到flag:cyberpeace{b4e9a68866fcac0d51add0b2e70d0600}


其他:


1、我们知道了如何手动URL编码,那么URL的解码呢?


通过观察我们不难看出,对于有%的URL解码:

去掉%,并将%后两位数字视为16进制,转换成对应的ASCII字符。

2、看了wp后,发现这里其实也可以只针对第一个字母来进行,什么意思呢?


对admin编码时,只针对a,将a转换成16进制为61,同理添加上%后为:%61dmin


二次编码,将百分号转换成16进制为25,加上%为:%2561dmin


即URL为:http://61.147.171.105:58331/?id=%2561dmin

解码时只针%后两位数字,%2561dmin 去掉百分号,25换为ASCII字符为%:%61dmin


二次解码,还是先去掉%,61换成ASCII为a:admin


总的来说这里可以将所有字母进行转换,也可以只转换第一个字母


我们只要能成功将admin传给id就可以拿到flag了

目录
相关文章
|
6月前
|
小程序 前端开发 PHP
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
|
9月前
|
存储 JSON PHP
在 PHP 中从 URL 获取 JSON 对象
在 PHP 中从 URL 获取 JSON 对象
|
9月前
|
JSON 前端开发 安全
ajax中实现访问url已阅即焚的解决方案(url动态参数、变量加密、常量不变、php加密解密、API访问验证方式)
ajax中实现访问url已阅即焚的解决方案(url动态参数、变量加密、常量不变、php加密解密、API访问验证方式)
186 0
|
9月前
|
JSON 安全 关系型数据库
php传递url参数加密验证的解决方案(加密解密、安全验证过滤)
php传递url参数加密验证的解决方案(加密解密、安全验证过滤)
252 0
|
9月前
|
前端开发 JavaScript 关系型数据库
宝塔设置PHP定时任务实战记录(定时任务、ajax异步刷新API、shell脚本、访问url)
宝塔设置PHP定时任务实战记录(定时任务、ajax异步刷新API、shell脚本、访问url)
485 0
|
9月前
|
PHP 计算机视觉
php利用百度人脸识别实现人脸融合的解决方案(1)image_type为URL类型
php利用百度人脸识别实现人脸融合的解决方案(1)image_type为URL类型
71 0
|
9月前
|
PHP 开发工具 计算机视觉
PHP SDK百度人脸识别遇见的坑,BASE64识别程度高但加载慢;URL加载快,但总image download fail
PHP SDK百度人脸识别遇见的坑,BASE64识别程度高但加载慢;URL加载快,但总image download fail
78 0
|
9月前
|
PHP
云EC电商模版引擎读取的网址URL及路径原理分析(2)
云EC电商模版引擎读取的网址URL及路径原理分析(2)
54 0
|
9月前
|
PHP
PHP函数获取完整的URL
PHP函数获取完整的URL
53 0