[SWPUCTF 2021 新生赛]PseudoProtocols

[复制链接]
发表于 2023-5-18 00:28:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

看到提示和地址栏  很明显了吧 伪协议


base64解码可得
  1. [/code][img]https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pbWcyMDIzLmNuYmxvZ3MuY29tL2Jsb2cvMzE4MDgyMS8yMDIzMDUvMzE4MDgyMS0yMDIzMDUxNzIwMjAxNTk2Ni04MTEyMDUwNjUucG5n[/img]
  2. [code] <?php
  3. ini_set("max_execution_time", "180");
  4. show_source(__FILE__);
  5. include('flag.php');
  6. $a= $_GET["a"];
  7. if(isset($a)&&(file_get_contents($a,'r')) === 'I want flag'){
  8.     echo "success\n";
  9.     echo $flag;
  10. }
  11. ?>
  12. //学习一个新函数
  13. //file_get_contents() 是一个 PHP 内置函数,它的作用是读取文件的内容并返回一个字符串。它的第一个参数是文件名,第二个参数是一个可选的打开模式,用于指定文件的读取方式。'r' 模式表示以只读方式打开文件。
复制代码
此题有俩种解法


  • php://input 此方法需要前提条件,即开启allow_url_include=On。
    相当于一个远程包含的利用,php://打开文件流后,直接写入恶意代码。

  • data://text/plain,
    data://本身是数据流封装器,他们原理类似,input是POST,而data是GET

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表