获取Apache / PHP吐出原始的PHP代码?

时间:2012-09-14 00:21:06

标签: php apache encryption base64 obfuscation

我遇到了一个问题...我有备份,备份,备份lol:)

前段时间我用密码自定义加密创建了一个高级PHP系统,这是一种原始CMS。

你必须登录,然后你可以看到后台,我甚至建立了一个管理面板 我不知道我的原始代码在很久以前制作的原因 我可以再做一次,但我只是想节省时间,压力,而且我也喜欢学习新的技巧:)

我在想,必须有办法让Apache和/或PHP吐出它生成的代码。

我的意思是,当你转到页面时,Apache和PHP会读取文件并将其呈现给浏览器 因此,在内存中,文件以原始形式读取并显示在屏幕上。

有没有办法可以更改配置文件,或者“修改”Apache或PHP来读取文件并将原始代码存储在readfilename.php.txt中?

例如,假设您使用了PHP源代码,并使用简单的base64_encode对其进行了加密。你会:

<?php
eval(base64_decode('Ly8gY29kZSBoZXJl'));
?>

Web服务器必须即时阅读它并实际看到真实的代码。

我想在日志文件中吐出来。

我没有使用Base64,因为它太简单了。

只需快速浏览一下我的旧代码,我就会看到SHA512和str_reverse,并且我在那里有一把钥匙......

我真的不记得我是否在代码下面放了任何东西......它可能是Base64然后是最后一种方法,我只是记不清楚了。

我编写了一个PHP脚本,我将代码放在<textarea>框中并为其命名,并使用我的自定义加密序列对文件进行加密。

代码效果很好,我无法返回并编辑

当时,我没有发布或使用它...只是让我自己的CMS有一天使用,并且可能因为好奇而加密......

我的意思是程序员很好奇,并且本质上是黑客,即使我们不是恶意的,也是我们自己的用途!

如果我可以让服务器解释文件,而不是显示它,将其吐出到文件中或在页面上显示原始代码,我可以编写另一个脚本来循环并反转我的整个项目。

节省了大量时间“重新发明轮盘”我已经做过的事情。

我为自己的疯狂和编码感到很生气,所以希望有人可以提供帮助......即使它是私人的而不是网站公开的,我理解。

2 个答案:

答案 0 :(得分:4)

登录服务器(或者在文件'目录中弹出一个shell提示符,假设你有本地副本),将eval更改为echo,然后在命令行执行脚本(或浏览它)......然后你就去了。这是已经评估的代码 - 即:将运行的代码。

这也可以作为证据,“保护”你的源代码通常甚至不会像更多天真的灵魂所认为的那样有所帮助。除非你正在运行像ionCube这样的东西,它实际上直接运行编码脚本,它实际上几乎毫无价值 - 在某些时候,解释器必须解码脚本,此时你所应用的任何保护都消失了。我强烈建议你在大多数情况下不要打扰...特别是如果你不打算保留原始代码的副本。 :)

答案 1 :(得分:1)

您只需禁用mod_php并重启Apache服务器即可。这将使所有.php个文件以明文形式下载。

但是如果您可以在服务器上获得 THAT 的特权,那么您已经可以访问webroot来下载文件了;)