栏目分类
开奖结果六合您现在的位置: 主页 > 开奖结果六合 >
Discuz!ML 3x任意代码执行漏洞之大佬分析之后我分
时间:2019-09-10

  首先附上米斯特安全大佬们文章的链接,刚开始有些东西我没看的太懂,于是我就再添了点东西,希望像我一样的小白也能看懂。

  漏洞原因:Discuz!ML 系统对cookie中的l接收的language参数内容未过滤,导致字符串拼接,从而执行php代码。

  根据米斯特大佬们提供的报错界面,我对其中的三个报错点一一进行了分析,现场报码室三个报错点如下图所示(还有米斯特大佬们的水印)。

  发现首先是portal.php函数出错,把这张图放大看,发现是对cookie中的language参数进行拼接而导致的报错,根据这个参数的语义判断应该是调用语言模板的时候因为找不到相应的模板而发生的错误,那么先定位portal.php报错的第35行,该文件路径:

  DISCUZ_ROOT为定义网站根目录的常量,realpath函数为返回绝对路径函数,到此处第一个报错就已经分析完毕,原因是系统因为找不到一个php文件而报的错。

  然后这个函数写的还贼长,哎,没得办法,这个时候只能靠运气了,搏一搏,单车变摩托,首先百度,这个函数的作用也就是个调用模板的函数。

  然而这个函数写了160行代码,找个大表哥的写的代码注释吧,先扔个参考链接。

  此时我发现了思路有些繁琐,然后就去找第三个错误的提示内容,为了找到是哪里出了问题,我把这段代码放到了txt文件中,根据第三个错误提示的信息开始了全文搜索,终于,根据关键字tpl.php值搜索到一处与language这个函数语义有关的东西DISCUZ_LANG。

  可以看到,将$lng的值给了DISCUZ_LANG,追踪$lng在何处定义,全局搜索$lng,找到了定义$lng的地方(图中第一个箭头)

  以上可以分析出,从获取language到DISCUZ_LANG拿到值的过程中,并没有对其进行过滤。




友情链接:

www.922333.com,天线宝宝主论坛,293333.com,209999.com,开奖结果六合,香港特马开奖记录,手机看开奖01kj,香港三肖六码中特开奖。

香港六开奖结果| 香港马会开奖资料| 香港马会开奖结果直播| mhkjjg.com| 黄大仙的报纸黄大仙| www.0400907.com| 2018今晚开码结果| 香港数码挂牌| 六合之铁算盘| 香港黄大仙特码公开| www.854569.com| 护民图库开奖直播|