ctf_攻防世界web进阶区_php2

题目描述

在这里插入图片描述

题目分析

经过抓包、目录扫描都没有找到可利用信息,最终知道这题考察的是.phps文件,属于个人盲区

What is the file extension .PHPS? And what is it used for?
Answer:
PHP files will get interpreted by the Web server and PHP executable, and you will never see the code behind the PHP file. If you make the file extension .PHPS, a properly-configured server will output a color-formated version of the source instead of the HTML that would normally be generated.

.phps可以查看php源代码,于是有

在这里插入图片描述
分析源码,需要绕过"admin"===$_GET[id],再结合urldecode($_GET[id]),由于浏览器会自动url解码一次,我们可以通过两次hex编码(url编码在此基础上加%)即可,当然这里我们可以对admin全部编码,也可以部分编码,都是可以绕过的。

对a字母进行两次url编码
第一次url编码:a ==> %61 //a的ascii码是97,而97的十六进制是61,再加上一个%,最终得到%61
第二次url编码:%61 ==> %25%36%31 //分别对%,6,1进行url编码,%的ascii码是37,37的hex值是25,再加上一个%,最终就是%25,6的ascii码是54,54的hex值是36,加上一个%,最终就是%36,1同理

使用在线工具对a进行url编码的时候,还是会得到a,这时候就需要知道编码的规则
%25%36%31 == %2561  why?
Answer:
%2561解码一次得到 %61,因为url编码是%加上两位数字,所以先对%25进行url解码得到%本身,而61是数字用不解码,就得到%61 二次解码得到a
%25%36%31 第一次解码 %25==>%   %36==>6  %31==>1 于是解码一次得到 %61 解码第二次得到a

于是有
在这里插入图片描述

总结

1.了解.phps是什么
2.掌握url二次编码

参考资料

what is the file extention .phps?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值