jjzjj

php - 被黑的网站不寻常的 php 文件

我有一个名为q.php的文件出现在我的一个网站中。该网站已被黑客入侵。有谁知道这个文件是干什么的? 最佳答案 看起来它允许任何人执行作为get请求中的“q”参数传入的php代码,或POST请求的“eval”参数中的任何代码。它会抑制所有相关的错误。这已经很糟糕了,如果您的站点尚未关闭,我建议您将其下线并非常仔细地审核您的服务器。 关于php-被黑的网站不寻常的php文件,我们在StackOverflow上找到一个类似的问题: https://stackover

php - 在没有 Eval 的情况下在字符串中执行 PHP 代码

目前正在开发一个“简单”的模板类,问题是如何在不使用eval的情况下在字符串中执行PHP代码?以下示例是我的模板类的工作方式:$user='Dave';ob_start();include'index.tpl';$content=ob_get_clean();//String$pattern=sprintf('/%s\s*(.+?)\s*%s/s','{{','}}');//replacewithphptags$new_content=preg_replace($pattern,'',$content);echo$new_content;索引.tplHello{{$user}}!我得到

php - WordPress 中使用 eval() 插件的漏洞示例

我继承了一个WordPress网站,该网站使用RunPHP插件在帖子之间执行PHP代码片段。我觉得这不是实现此类功能的最佳方式。但由于这是在很长一段时间内功能正确的遗留代码,我需要一些问题场景的可靠示例。对于那些不熟悉RunPHP的人来说,它是一个使用eval()执行嵌入在Post或Pagebody中的PHP代码的插件。代码块永远不会从用户那里收到,而是由网站所有者/内容创建者输入数据库。此插件在我们上下文中的用例如下。表单创建为Post,其提交操作设置为Page(我们称之为表单处理程序)。表单处理程序在其主体中包含PHP代码,并且为该页面激活了RunPHP插件。当提交表单时,表单处理

php - 从单个 PDO 数组实例化多个 PHP 对象(无样板)

如果你想从数据库中获取单个对象,PDO非常有用:$obj=$handle->fetchAll(PDO::FETCH_CLASS,$obj_name);如果您希望在一行中返回多个类类型(例如:在执行JOIN时),PDO的用处不大:$handle->fetchAll(PDO::FETCH_ASSOC);...followedbysomedatamappingontheresultingarray.很好-除了我想出的每一种方法看起来都很糟糕。我的问题是:当该数组的内容可能反射(reflect)全部、没有、部分或超过上课?示例:给定一个PDO从数据库返回的数组$vars=('a'=>1,'b'

PHP eval(gzinflate(base64_decode(..))) hack - 如何防止它再次发生?

我们最近有一个网站被黑了,一些PHP代码被注入(inject)到index.php文件中,看起来像这样:eval(gzinflate(base64_decode('s127ezsS/...bA236UA1')));该代码导致包含另一个PHP文件(cnfg.php),这导致显示一些与药物相关的垃圾邮件(但仅对googlebot等人可见)。这看起来像是WordPress的pharmahack,只是我们没有运行WordPress。该代码已被删除,但我想防止将来发生此类事件。我意识到这是一个相当广泛的问题,可能存在无数的安全漏洞,但我认为我会把它放在那里,以防任何人过去遇到过此类问题。允许上传

php - 无法解释的代码出现在所有 php 文件中

不知何故,我在源代码管理中的所有php文件之上都有这段代码有人能解释一下这是什么吗?编辑:我知道它很可能是坏的,我知道它正在尝试创建功能。但是这些功能到底是做什么的呢?太乱了!!如果有人可以花一些时间在这上面,那么向他们致敬。否则,我明天会以全新的心态尝试这个。感谢stackoverflowERS的所有帮助:) 最佳答案 看起来它正在使用create_function创建三个匿名函数,以执行它隐藏在$qhtgndmn数组中的混淆代码,并使用twpxkaml进一步解码或混淆。因此假设它是恶意的。或者被某人真的,真的很无聊。检查提交日志

php - 覆盖默认的 php 函数 ? (评估)

我们可以使用以下代码简单地覆盖默认的php函数:namespaceblarg;functiontime(){echo"test!";}time();但是!是否可以覆盖“eval”函数?namespaceblarg;functioneval(){echo"test!";}eval();?提前致谢根据回答:eval()是一个语言结构而不是一个函数,我们不能覆盖它2.在我的示例中,我并没有真正覆盖time()函数。我只是在创建一个blarg\time()函数我明白了但是实际上我写的像调试器一样,我需要更改php函数或某些语言结构(例如eval)的默认行为有没有办法做到这一点?是否可以更改ph

php - 将 PHP 代码存储在数据库中,并在运行时对它进行 eval() 处理,不安全吗?

我构建了一个程序来存储、检索和eval()s来自SQLite数据库的代码。在我因为糟糕的编码习惯而受到指责之前,让我们将其视为理论上的,并假装我这样做有充分的理由。抛开所有其他考虑因素,假设用户输入不是一个因素,将PHP代码存储在数据库中并使用eval()运行它是否存在固有的安全风险?说明:我不是eval()ing用户提交的内容。SQLiteDB文件与我的其他文件位于同一目录中,并且应用了相同的安全性。请不要对性能、缓存等发表评论。我知道所有这些。 最佳答案 eval()本身并不安全。这只是不好的做法,不清楚并且会引发一大堆错误和安

php - 使用 eval 解析表单输入的方程式的最安全方法

我想知道在PHP中使用eval()来解析用户填写表单时输入的公式时应该检查哪些类型的内容。我看过很多关于eval()的答案,但似乎并非所有人都同意。这是我收集到的:不要对字符串使用eval(这可能是个问题,因为它是我需要解析的公式)去除来自表单的输入(我不完全确定我需要去除哪些东西)Eval可能是邪恶的,也可能不是邪恶的,并且存在安全风险(是否有其他方法可以解析字符串中的方程式?)你们认为我应该怎么做?编辑:我尝试了eval方法,虽然它确实有效,但我使用的环境卫生不支持两个以上的操作数。由于我真的不想编写自己的(可能不安全的)卫生正则表达式,所以我将查找并使用预先编写的数学类。感谢大家

php - 如何在 PHP 中返回常量或文本字符串——eval() 是正确的选择

我在mysql表中有一行,其列包含:Thisisatest.我在同一个mysql表中有另一行,其同一列包含:K_IM_A_CONSTANT在PHP脚本的前面,存在这行代码:define(K_IM_A_CONSTANT,'Thisisaconstant.');我怎样才能回显列的内容,返回的值要么是“这是一个测试”。或“这是一个常量。”,取决于所选的行?eval()是这样做的方法吗?如果是这样,eval()语法看起来如何?我在尝试让eval()工作时遇到了太多错误。感谢您的帮助。 最佳答案 使用constant功能:if(defined