1.通达信附指标如何改为选股公式
2.Spark ML系列RandomForestClassifier RandomForestClassificationModel随机森林原理示例源码分析
3.CentOS 7升级内核的源码三种方式(yum/rpm/源码)
4.Discuz!ML 3.x任意代码执行漏洞之大佬分析之后我分析
5.我下载了一个压缩文件,ml-data.tar.gz 不知如何用
通达信附指标如何改为选股公式
XG:TFILTER((EMA(C,源码)-REF(EMA(C,),1))/REF(EMA(C,),1)*>=0,(CLOSE#MONTH-C)/C*> AND BARSCOUNT(CLOSE)>,1) OR (CLOSE#MONTH-C)/C*> AND BARSCOUNT(CLOSE)>;Spark ML系列RandomForestClassifier RandomForestClassificationModel随机森林原理示例源码分析
Spark ML中的集成学习工具RandomForestClassifier是强大的分类模型,它由多个决策树组成,源码每个树都是源码通过自助采样和特征随机选择训练得到的。 随机森林的源码特性包括:适用于大规模数据,能处理高维度特征,源码蜗牛代理源码并对缺失数据和噪声有较强鲁棒性。源码
内置特征重要性评估,源码支持特征选择和分析。源码
利用并行构建提高训练速度。源码
然而,源码模型性能受决策树数量、源码树深和特征选择策略等因素影响,源码需根据具体问题调整参数以优化。源码 RandomForestClassifier在Spark ML中的源码应用涉及以下步骤:加载数据,创建特征向量。
处理标签,划分训练集和测试集。gradle 插件源码
创建模型实例,设置参数,并使用Pipeline进行训练。
在测试集上进行预测,评估模型,如使用多分类准确度。
代码实现包括RandomForestClassifier对象的定义,以及RandomForestClassificationModel类,用于模型的创建、训练和读取。CentOS 7升级内核的三种方式(yum/rpm/源码)
在 CentOS 使用过程中,可能需要升级内核以获得性能优化、安全补丁或其他新功能。然而,确保所有程序都支持最新内核版本是关键。本文将介绍三种主要的 CentOS 内核升级方式:使用 yum、rpm 包或源码编译。gradle源码包
**一、通过 yum 安装最新内核
**CentOS 7 中,从内核 3.1 升级至 4.4(具体版本为 4..8),可以通过 yum 工具来完成。首先,导入仓库源并查看可安装的软件包,选择是 ML(mainline stable)还是 LT(long term support)版本。安装新内核后,使用命令调整启动顺序,确保系统在下次启动时使用新内核。
**二、使用 rpm 包安装特定版本内核
**以安装 LT 内核版本 4. 为例,先在 ELRepo 源中查找版本。对于较旧版本内核,可能需要手动下载。下载所需的 rpm 包后,使用 rpm 命令安装新内核。公墓管理源码确认已安装的内核版本,并通过设置启动顺序确保系统下次启动时使用新内核。
**三、源码安装内核
**最小化安装 CentOS 7 ,然后准备安装环境。使用 home 下的 kernelbuild 目录创建内核编译目录。从清华大学镜像站获取内核源码,确保下载的是最新版本。解压内核源码,并执行 make 命令进行编译。根据实际需求配置内核选项,然后安装内核并设置启动顺序。
**四、卸载和降级内核
**如果已经安装了较新的内核版本,再安装较旧版本时可能会遇到冲突。可以通过查看当前系统内核版本,列出所有内核并删除不需要的LH服源码版本来解决。务必在卸载前确认当前系统是否可以正常运行,以免影响系统稳定性。
通过以上方法,可以灵活地在 CentOS 系统中升级、定制或管理内核版本,以适应不同场景的需求。
Discuz!ML 3.x任意代码执行漏洞之大佬分析之后我分析
首先附上米斯特安全大佬们文章的链接,刚开始有些东西我没看的太懂,于是我就再添了点东西,希望像我一样的小白也能看懂。
一、漏洞综述
漏洞类型:代码执行漏洞
影响系统及版本:Discuz!ML V3.2-3.4
漏洞原因:Discuz!ML 系统对cookie中的l接收的language参数内容未过滤,导致字符串拼接,从而执行php代码。
二、漏洞分析
根据米斯特大佬们提供的报错界面,我对其中的三个报错点一一进行了分析,三个报错点如下图所示(还有米斯特大佬们的水印)。
2.1 报错点一分析
发现首先是portal.php函数出错,把这张图放大看,发现是对cookie中的language参数进行拼接而导致的报错,根据这个参数的语义判断应该是调用语言模板的时候因为找不到相应的模板而发生的错误,那么先定位portal.php报错的第行,该文件路径:
紧接着定位libfile函数,文件加载路径函数。
函数介绍:
libfile($libname, $folder = ”),包含2个参数:$libname 和 $folder,该函数读取source目录下的$folder子目录作为基础部分。
libfile函数源代码如下图所示:
DISCUZ_ROOT为定义网站根目录的常量,realpath函数为返回绝对路径函数,到此处第一个报错就已经分析完毕,原因是系统因为找不到一个php文件而报的错。
2.2 报错点二分析
还是先根据错误定位到引用函数文件,文件路径source/module/portal/portal_index.php,然后定位到源函数所在的文件,引用的地方好定位,位置在/source/function/function_core.php,直接上图
然后这个函数写的还贼长,哎,没得办法,这个时候只能靠运气了,搏一搏,单车变摩托,首先百度,这个函数的作用也就是个调用模板的函数。
然而这个函数写了行代码,找个大表哥的写的代码注释吧,先扔个参考链接 discuz.net/thread-...
此时我发现了思路有些繁琐,然后就去找第三个错误的提示内容,为了找到是哪里出了问题,我把这段代码放到了txt文件中,根据第三个错误提示的信息开始了全文搜索,终于,根据关键字tpl.php值搜索到一处与language这个函数语义有关的东西DISCUZ_LANG。
既然是语言参数出了问题,还是个常量,那就去找找常量定义的地方,全局搜DISCUZ_LANG,跟踪到/source/class/discuz/discuz_application.php
可以看到,将$lng的值给了DISCUZ_LANG,追踪$lng在何处定义,全局搜索$lng,找到了定义$lng的地方(图中第一个箭头)
到此为止,又出现个var,这是个啥,我只知道var[‘cookie’][‘language’]的意思就是cookie中的language的值。
以上可以分析出,从获取language到DISCUZ_LANG拿到值的过程中,并没有对其进行过滤。
那么现在必须确定报错问题是怎么出现的了,看下图:
出现了这样的代码,直接拼接,然后RCE
拼接单引号和'.phpinfo().'
按理来说可以RCE
总结下大概流程从cookie中获取了language的值,然后给了$lng,接着$lng又给了DISCUZ_LANG,系统通过template函数调用模板文件,template函数执行,执行到$cachefile的时候,执行构造的代码。
三、漏洞复现
访问站点www.***.com/forum.php,刷新页面抓包
*本文作者:xxx,转载请注明来自 FreeBuf.COM在language参数处'.phpinfo().'
返回内容:
复现成功。
看起来复现大佬们的漏洞还是挺有意思的,开心。
我下载了一个压缩文件,ml-data.tar.gz 不知如何用
如你所说,这个正是linux下使用的压缩文件。但是在windows下winrar是可以解压的。像你所说这应该是源码文件,在linux下可以使用make命令来安装但是在windows下如果不知道是用什么语言编译的就没办法使用。或者只能在unix或linux下才能使用windows...算了吧