XCTF-攻防世界CTF平台-Web类——9PHP2(.phps文件url编码)

Posted 大灬白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XCTF-攻防世界CTF平台-Web类——9PHP2(.phps文件url编码)相关的知识,希望对你有一定的参考价值。

先查看题目地址:

希望我们获得这个网站的权限,查看源代码也没有其他信息:

查看index页面:

之后尝试查看index.phps文件(.phps文件就是php的源代码文件,通常用于提供给访问者查看php代码):

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]) 
  echo("<p>not allowed!</p>");
  exit();


$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "admin")

  echo "<p>Access granted!</p>";
  echo "<p>Key: xxxxxxx </p>";

?>

Can you anthenticate to this website?

要求传入变量id的值,不能直接等于admin:

http://111.200.241.244:63169/index.php?id=admin

要求经过$_GET[id] = urldecode($_GET[id])URL解码后等于admin再输出Key。
admin进行一次url编码后的值:

因为浏览器会对URL编码后的数据进行一次URL解码,所以我们将admin进行两次url编码得到,才能让$_GET[id]得到admin进行一次url编码后的值%61%64%6d%69%6e:

访问http://111.200.241.244:63169/index.php?id=%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65
或者http://111.200.241.244:63169/index.php?id=%2561%2564%256d%2569%256e

得到flag:cyberpeacebb726b10bab311dbabcd7af5a352f1c9

以上是关于XCTF-攻防世界CTF平台-Web类——9PHP2(.phps文件url编码)的主要内容,如果未能解决你的问题,请参考以下文章

XCTF-攻防世界CTF平台-Web类——1baby_web

XCTF-攻防世界CTF平台-Web类——14supersqli

XCTF-攻防世界CTF平台-Web类——6warmup

XCTF-攻防世界CTF平台-Web类——7NewsCenter

XCTF-攻防世界CTF平台-Web类——13Web_php_unserialize

XCTF-攻防世界CTF平台-Web类——11upload1