幸运飞艇计划,幸运飞艇计划网站
当前位置:首页 > Cms文章 > 正文

幸运飞艇计划网站代码审计DuomiCms30最新版缺点开

02-09 Cms文章

  幸运飞艇计划,接下来咱们就一个一个举行验证(原来无须真的每个都去验证,由于有的次序代码布局很像,或者看一眼就大白不存正在裂缝了)。先来看一下api。php文献中的代码,可能看到这里的XML文献实质来自$playerKindsfile变量,该变量的值为data/admin/playerKinds。xml文献的实质。api。php文献代码如下:

  测了几个版本,都有影响。当然,前台getshell体例还不止这一种,可能运用前面的变量掩盖,伪制admin身份,结尾写入webshell,全部说明之后会正在[红日太平]代码审计Day14 - 从变量掩盖到获取webshell著作中具体说明。

  咱们具体的看一下其代码,可能觉察eval函数只显露正在parseIf和parseSubIf函数中:

  下面咱们来全部说明search。php文献。最先文献开端引入了duomiphp/common。php文献,而该文献引入了duomiphpwebscan。php文献对用户提交的变量举行经管。该文献运用以下三个正则永诀对用户通报的GPC(GET、POST、COOKIE)参数举行过滤,可是咱们的payload并不会触发这里的正则。

  接着往下看,会觉察一个很清楚的题目。while语句将经管后的数据库盘查语句$db_string存正在$clean中,然后用于检测的是$clean变量,结尾返回的却是$db_string。以是咱们只须正在$clean变量中不显露敏锐词,即可绕过SQL语句的检测。

  接着是$score变量,该变量位于SQL语句中心,云云就要引入诠释符,将后面的语句诠释掉。可是引入诠释符,会触发duomiphp/sql。class。php文献的SQL检测原则,以是这处也欠好运用。全部代码如下:

  可能看到这里大大都SQL语句运用了拼接,而拼接用的变量又大都是整体变量,咱们正在前面的代码履行裂缝中,提到次序有注册变量的举动,云云容易形成变量掩盖。下面,咱们来一个个说明这些变量。

  咱们接着看看其他地位是否存正在XXE裂缝,会觉察其他地方的XML文献加载体例根本和上面相通,于是该当不存正在XXE裂缝。

  咱们来全部看一下while中的次序。该函数会先查找第一个单引号的下标,取引号前面的字符串给$clean,然后将第一个引号和第二个引号之间的字符用$s$来庖代,结尾取第二个引号之后的实质给$clean变量。

  那么咱们就来查找一下这两个函数正在哪里被移用。因为parseSubIf函数正在parseIf函数中被移用,这里我就直接查找parseIf函数,并挑选了一个较为简陋的search。php文献举行说明。为了更好说明,我这里直接把payload带入说明,所运用的payload如下:

  答: 踊跃用意:增添了疆土,安稳了统治,平静了政局。 悲观用意:诸侯有较大独立性,能力渐渐加强,晦气于邦度团结,为年龄诸侯争霸埋下隐患。

  正在Execute手段中,咱们最须要闭怀的便是CheckSql手段的告竣。最先,借使是select语句,会先过程下面的正则,这个正则不允诺咱们运用拉拢盘查。

  原来这里便是把IF标签的实质取出来,然后拼接到eval函数中履行了,这也是裂缝的成因,全部的变量值可能看下图右边茶青色的字体,这里不再赘述。当平分享的每一个裂缝并不必定都存正在,可是为了著作的无缺性,依然把全盘裂缝发现的进程记载下来。的裂缝发现进程,当中会分享极少审计的手艺,祈望对思要研习审计的恩人有所助助。据考古学家剖断,城中的住民不会超越一千人,这些人或许多数是与敬拜举动相闭的神职职员以及本地统治者、料理者和做杂务的人。正本该当是对比好运用的,可是这里开端对id变量举行了类型剖断。咱们跟进parseIf手段。云云导致正在select语句中无法再运用,可是咱们可能用16进制编码绕过,将payload的16进制插入数据库中,造成二次注入。如下图第12行代码:最先是$id变量,拼接正在SQL语句尾巴且没有引号包裹。正在duomiphp/common。php文献中,还存正在一处变量掩盖的运用点(如下图代码):结尾剩下一个$uid变量了,该变量为整体变量,可能由用户把持,况且其地位正在SQL语句结尾,双方也没有引号包裹,极其好运用。这里直接给出我测试告捷的payload:再如座落正在池沼中心岛屿上的拉文塔,面积约有2平方公里,这里的重要街道呈南北走向,两旁对列着很众石碑,有四个巨石头像和有着乖僻镌刻的祭坛。可是咱们查找insert语句的时分,觉察其被单引号包裹,以是无法运用,全部代码如下:正在发现裂缝之初,咱们先整体查找eval函数,这里可能清楚的看到只要duomiphpcore。class。php文献中运用了eval函数。查找图如下:可是要思爆出有效的数据,这里还要绕过duomiphp/sql。class。php文献的SQL检测原则以及整体变量的_RunMagicQuotes函数的转义。

  这时分,咱们要探究的便是data/admin/playerKinds。xml文献的实质是否可能被咱们把持。借使该文献可能被攻击者把持,就很有或许存正在XXE裂缝。于是,咱们查找字符串playerKinds,结果如下:

  经管后取得的$clean(如下)可能绕过下面的SQL检测,然后次序又将$db_string原样返回,此时也就形成了SQL注入。

  这一处的代码履行和以前苹果CMS的代码履行是肖似的,都是正在解析模板标签的时分,将解析的标签拼接,并用正在了eval函数中,最终形成了代码履行裂缝。

  现实上,这个CMS正在CNVD上通知的裂缝依然蛮众的,固然没有裂缝详情,可是咱们也可能己方审计或者按照形容细节来还原裂缝,从而进步自己的审计才略。正在审计某一cms的时分,可能先正在CVE、CNVD、seebug上搜搜,了然一下汗青裂缝,然后正在举行审计,可能会故意外之喜:)

  这里须要预防,次序会只截取20个字符行为$searchword(上图第2行),然后正在第14行代码处把模板的{duomicms!searchword}交换成$searchword。交换后,又正在第17行首先对模板中的IF语句举行解析。固然次序有做极少过滤操作,可是都无法有用的避免咱们的恶意代码。

  咱们用BurpSuite抓包,并用TheFolderSpy监控目次(其宗旨是检测用户输入是否有被写入文献中),结果如下:

版权保护: 转载请保留链接: http://www.cxlscx.com/cms/323.html