攻防世界-PHP2

打开实验环境:

实验准备,chrome (时间充裕准备:firefox、以及firefox下Hackbar插件)

   这是我用的火狐hackbar插件;

 

 传送门

 

 

 

 

 这里提示要访问主站:(嗯,用了几个扫描目录的都没扫到,原来是放在 index.phps 里了)

 

phps文件就是php的源代码文件,通常用于提供给用户(访问者)直接通过Web浏览器查看php代码的内容。

因为用户无法直接通过Web浏览器“看到”php文件的内容,所以需要用phps文件代替。

 

phps是php的源代码文件,但是不能接受传参,为什么提到传参呢,看下图访问 index.phps:

 

 

看到,主目录(index.php)接受一个 id 的GET传参; 就是 ?id=xxx

分析:题目需要我传 一个 id 的变量 ,使 id === 'admin' ,使用urldecode解码后 ,id == 'admin' 满足这三条 就可以拿到 key 了。

 

对admin进行 url 编码 %61%64%6D%69%6E  

 

 

提交的时候,要把 .phps 的 s 去掉 ,上面说了,index.phps不接受传参 ,提交玩发现不行。在 id === 'admin' 满足条件了,所以 返回 not allowed 

为什么会这样呢? 原来 在 url 地址栏提交数据时,浏览器会自动进行一次urldecode解码 ;浏览器解码了 那id提交的就变会 admin 了,第一个判断拦截下来不奇怪;

 

 这是 url 编码表里查到的,admin编码一次等于 %61%64%6D%69%6E  ; 我再一次对 百分号 进行一次编码 :  % 编码后为 %25

所以 %61%64%6D%69%6E 再url编码一次为 %2561%2564%256D%2569%256E ,提交就能拿到 KEY ;

 

 

提问:可以不让浏览器第一次的url解码吗?

答:可以,再火狐下用Hackbar插件就行 ,有图有真相。

 

 

这里仅URL加密了一次,用 %61%64%6D%69%6E 就拿到 KEY 了; 可以看到URL地址栏返回的就是 俩次加密的内容;

 

posted @ 2020-08-16 09:24  友好邻居  阅读(901)  评论(0编辑  收藏  举报