discuz x3.5在后台应用中心下载插件的过程提交给应用中心的.CLOUDADDONS_DOWNLOAD_IP.、.PHP_OS .、.PHP_VERSION.、.$_SERVER['S
discuz x3.5在后台应用中心下载插件的过程提交给应用中心的.CLOUDADDONS_DOWNLOAD_IP.、.PHP_OS .、.PHP_VERSION.、.$_SERVER['SERVER_SOFTWARE'].、.helper_dbtool::dbversion().这些信息究竟是什么用处呢?下面来详细解密:
首先对比最开始干净的discuz x3.4(2019年版本的时候),
众所周知,\source\function\function_cloudaddons.php 是应用中心控制下载过程及防盗版验证的云端控制中心的核心文件,
那么对比分析之前最干净discuz版本的时候,你会发现最新版官方这个文件在操作用户访问/下载应用中心应用的时候,自动向应用中心提交上传了一些信息:
大概在54行:
查找:
$data = 'siteuniqueid='.rawurlencode(cloudaddons_getuniqueid()).'&siteurl='.rawurlencode($_G['siteurl']).'&sitever='.DISCUZ_VERSION.'/'.DISCUZ_RELEASE.'&sitecharset='.CHARSET.'&mysiteid='.$_G['setting']['my_siteid'].'&addonversion=1&dlip='.CLOUDADDONS_DOWNLOAD_IP.'&os='.PHP_OS .'&php='.PHP_VERSION.'&web='.$_SERVER['SERVER_SOFTWARE'].'&db='.helper_dbtool::dbversion().'&lang='.currentlang();如果你把这段信息和之前最干净时候的discuz官方程序对比发现,会多出来:
.'&addonversion=1&dlip='.CLOUDADDONS_DOWNLOAD_IP.'&os='.PHP_OS .'&php='.PHP_VERSION.'&web='.$_SERVER['SERVER_SOFTWARE'].'&db='.helper_dbtool::dbversion().'&lang='.currentlang()
这个并不是discuz之前一开始就存在的,而是现在维护discuz x3.5更新之后应用中心加上去的,
那么详细解读下这些信息究竟是干什么的呢:
addonversion=1 ====> 对应应用中心收集服务器的核心功能,其中=1还是=其他的功能未知;
.CLOUDADDONS_DOWNLOAD_IP. ====> 下载应用的你的服务器的IP地址,一般用来比对这个服务器IP地址是否存在变化,来追踪;
.PHP_OS . ====> 你下载应用的该域名的服务器系统信息,一般用来比对这个服务器系统软件是否存在变化,来追踪;
.PHP_VERSION. ====> 你下载应用的该域名使用的php版本号,一般用来比对这个服务器php版本是否存在变化,来追踪;
.$_SERVER['SERVER_SOFTWARE'].====> 你下载应用的该域名的服务器系统软件名,一般用来比对这个服务器系统软件比如是nginx还是iis及版本信息是否存在变化,来追踪;
.helper_dbtool::dbversion().====> 你下载应用的该域名使用的数据库版本信息,一般用来比对这个数据库版本信息是否存在变化,来追踪;
如果你看懂以上信息,那么是否能思考下怎么避免或伪造以往不小心提交过的信息来达到一些想法呢?:lol
**** Hidden Message *****
更多追踪信息对比参照查询表:
$_SERVER['USER'] www
$_SERVER['HOME'] /home/www
$_SERVER['HTTP_UPGRADE_INSECURE_REQUESTS'] 1
$_SERVER['HTTP_CONNECTION'] keep-alive
$_SERVER['HTTP_ACCEPT_ENCODING'] gzip, deflate
$_SERVER['HTTP_ACCEPT_LANGUAGE'] en-US,en;q=0.5
$_SERVER['HTTP_ACCEPT'] text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
$_SERVER['HTTP_USER_AGENT'] Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
$_SERVER['HTTP_HOST'] localhost
$_SERVER['PHP_ADMIN_VALUE'] open_basedir=/home/wwwroot/default/:/tmp/:/proc/
$_SERVER['REDIRECT_STATUS'] 200
$_SERVER['SERVER_NAME'] _
$_SERVER['SERVER_PORT'] 80
$_SERVER['SERVER_ADDR'] 127.0.0.1
$_SERVER['REMOTE_PORT'] 44936
$_SERVER['REMOTE_ADDR'] 127.0.0.1
$_SERVER['SERVER_SOFTWARE'] nginx/1.12.0
$_SERVER['GATEWAY_INTERFACE'] CGI/1.1
$_SERVER['REQUEST_SCHEME'] http
$_SERVER['SERVER_PROTOCOL'] HTTP/1.1
$_SERVER['DOCUMENT_ROOT'] /home/wwwroot/default
$_SERVER['DOCUMENT_URI'] /phpinfo.php
$_SERVER['REQUEST_URI'] /phpinfo.php
$_SERVER['SCRIPT_NAME'] /phpinfo.php
$_SERVER['CONTENT_LENGTH'] no value
$_SERVER['CONTENT_TYPE'] no value
$_SERVER['REQUEST_METHOD'] GET
$_SERVER['QUERY_STRING'] no value
$_SERVER['SCRIPT_FILENAME'] /home/wwwroot/default/phpinfo.php
$_SERVER['FCGI_ROLE'] RESPONDER
$_SERVER['PHP_SELF'] /phpinfo.php
$_SERVER['REQUEST_TIME_FLOAT'] 1497664821.1267
$_SERVER['REQUEST_TIME'] 1497664821
由于这些信息都是由应用中心收集的,因此避免或伪造过程需要在应用中心进行设置。例如,可以在应用中心的后台设置中关闭信息收集功能,或者修改收集的信息来达到伪造的目的。同时,也可以使用反侦查技术来隐藏服务器的真实信息,如使用代理服务器、Nginx反向代理、CDN等方式来代替原始服务器,以降低被攻击和追踪的风险。
-- 来源:OpenAI ChatGPT chatGPT-AI 发表于 2023-4-1 16:21
由于这些信息都是由应用中心收集的,因此避免或伪造过程需要在应用中心进行设置。例如,可以在应用中心的后 ...
你这个ChatGPT很懂嘛,那考你一下,你知道 discuz 的 .helper_dbtool::dbversion(). 函数是discuz哪个文件控制判断的呢?:lol 虽然看不懂,但是直接把这串代码删除会怎样 感谢大佬分享 这技术是好东西
我看不错噢 谢谢楼主!dz插件网越来越好! 学习学习哦
页:
[1]