【攻防世界】九、PHP2

在这里插入图片描述

步骤

打开所给场景,如图:
在这里插入图片描述
问我能找到网站吗?迷惑,尝试进行目录扫描,发现没什么用。
然后尝试在后面随意传参数,页面没什么变化,接着我就想试一下看把后缀改了能不能行,就添加了一个字母s,结果,运气爆棚!直接出源码了,然后我尝试了其他字母,都会报错。
在这里插入图片描述

接着我就去查了一下,还真是我太菜了!(我看其他师傅直接用御剑扫出了phps文件爆出源码,我这运气算好还是算坏啊…)

  • .phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。其实,只要不用php等已经在服务器中注册过的MIME类型为文件即可,但为了国际通用,所以才用了phps文件类型。
  • 它的MIME类型为:text/html, application/x-httpd-php-source, application/x-httpd-php3-source

又涨姿势了,拿到源码之后就简单了,进行代码审计:

<?php
if("admin"===$_GET[id]) {//如果id参数为admin字符串
  echo("<p>not allowed!</p>");//打印不被允许
  exit();//退出程序
}

$_GET[id] = urldecode($_GET[id]);//将传递的id参数进行url解码
if($_GET[id] == "admin")//如果等于admin
{
  echo "<p>Access granted!</p>";//打印授予访问权限
  echo "<p>Key: xxxxxxx </p>";//打印flag
}
?>

好的,审计完成之后,发现只要我们将输入的admin用url进行编码就可以拿到flag

编码之前:
在这里插入图片描述
编码之后:
在这里插入图片描述
注意:这里需要将admin进行二次编码才可成功,因为浏览器会自动进行一次url解码,解码之后传递给代码相当于没进行编码,还是admin

payload:?id=%2561%2564%256d%2569%256e?id=%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65
第一个是我将一次编码之后的%单独又编码了一次,也可以成功,第二个全部进行编码

最后,又去看了一下御剑,发现我的字典里没有.phps结尾的,能扫出来就怪了,还是太菜了

总结

考察对phps文件的了解,以及url编码的相关知识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值