执行HTML编码的PHP代码

执行HTML编码的PHP代码,php,html,encode,Php,Html,Encode,大家好,我的社区 我正在尝试从Burp Suite发送请求: {"html":"<?php $to = "example@example.com"; $subject = "Subject"; $txt = "PHP is installed"; $result = mail($to,$subject,$txt); ?>","author":"","location":""} {“html”:“作者”:“位置”: 我需要修改“html”标记以包含一些PHP,但是由于代码中的双引

大家好,我的社区

我正在尝试从Burp Suite发送请求:

{"html":"<?php
$to = "example@example.com";
$subject = "Subject";
$txt = "PHP is installed"; 
$result = mail($to,$subject,$txt);
?>","author":"","location":""}
{“html”:“作者”:“位置”:
我需要修改“html”标记以包含一些PHP,但是由于代码中的双引号(我想)PHP无法读取(其他任何标记也无法读取),所以我尝试了html编码,但它无法执行,它只是显示为代码的纯文本

我一整天都在想办法,但什么也找不到


因此,总结一下:除了引用,我还有其他选择吗?(我试过herdoc)或者有没有一种方法可以执行不带引号的HTML编码的PHP?

双引号不是问题所在。文件扩展名可能不是发送到PHP解释程序的类型

如果您使用的是Apache,那么可以使用.htaccess指令来解决这个问题

假设您刚刚发布的文件具有.json扩展名。然后.htaccess指令看起来像

Options +ExecCGI
AddType application/x-httpd-php .php .json
AddHandler x-httpd-php5 .php .json
但是你没有回应任何东西。因此,这完全可能不是问题所在,而是您的Web服务器没有配置电子邮件,因此无法发送电子邮件。(尽管在这种情况下,它应该在大多数配置中回显错误。)

您可以使用以下方法测试它是否正常工作:

<?php echo "This is working now."; ?>

你可以做到这一点,但我不建议这样做

如果删除PHP标记并传递希望作为字符串运行的代码,那么最终将不得不通过eval()运行它,这是危险的,因为这意味着任何有权访问第一个脚本的人都可能在服务器上执行他们喜欢的任何代码。任何包含“eval()”的PHP脚本都需要非常严格地锁定

参考:


您最好只传递您希望它执行的脚本的URL,或者类似的内容:)

PHP在我们的HTML外部应该可以很好地执行。它在读取HTML之前执行。尝试将PHP块更改为