代码审计之Fiyo CMS事例共享

访客6年前黑客资讯1221

Fiyo CMS是小型的商务 *** 服务及移动协作东西,由一名前职业学校学生初次开发和创立的,后者其时在RPL的 *** K 10三宝垄学习。 那时他的姓名不是Fiyo CMS,而是Sirion,它是Site Administration的首字母缩写。
PS:尽管网上有一些剖析文章,可是通过本次审计,仍是发现了一些其他的缝隙,再次做个总结,缝隙触发进程均以gif图片来展现。
审计缝隙
恣意文件删去
缝隙文件方位:dapurappsapp_configcontrollerbackuper.php ,实际上这个cms多处都存在这个问题。

能够十分清晰的看到这个程序供的大部分功用都是用于备份,可是POST传过去的参数又不通过过滤直接和途径进行拼接(第10行),导致途径穿越,再结合 unlink 函数就导致了恣意文件删去。下面看这个的进犯demo:

点击查看原图
SQL注入点
注入点一:
该cms的update办法中存在SQL注入,能够看到程序对变量 $where 直接进行了拼接,详细代码如下:

举个比如,咱们对 dapurappsapp_usercontrollerstatus.php 文件进行SQL注入,这儿直接用sqlmap进行验证,后台用户身份,拜访链接 http://192.168.43.229/fiyocms/dapur/apps/app_user/controller/status.php?stat=1&id=1 保存恳求包为 headers.txt ,将参数 id=1 改成id=1* ,然后运用指令sqlmap -r headers.txt –batch –dbs ,作用如下:

注入点二:
待绕过
POST /fiyocms/dapur/index.php?app=menu&view=edit&id=126'`test%23&theme=blank HTTP/1.1
Host: 192.168.199.229
Content-Length: 10
Accept: */*
Origin: http://192.168.199.229
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://192.168.199.229/fiyocms/dapur/index.php?app=menu&view=controller
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=dl8r6oo3lmi0c8lr5upveckl11
Connection: close
blank=true
呼应成果
string(55) "SELECT id FROM fiyo25_menu WHERE id='126`test#' LIMIT 1"
缝隙文件在systemfunction.php 中的 oneQuery 办法。
function oneQuery($table,$field,$value,$output = null) {
    $value = str_replace("'","",$value);
    $query = FQuery($table,"$field='$value'",$output,null,null,$output,1);
    return $query;   
}

文件读取缝隙
这儿只能读取后缀为:html、htm、xhtml、js、jsp、php、css、xml 的恣意文件,缝隙文件在 dapurappsapp_themelibscheck_file.php 中,第5行代码未对$_GET[src] 和 $_GET[name] 变量进行过滤,导致途径穿越,结合 file_get_contents 函数,形成文件读取缝隙。

作用如下:

恣意文件上传缝隙
这个缝隙是在登录后台的时分,发现有个文件办理的功用。所以查看了一下程序源代码,公然没有过滤。看下图最终四行代码,又是途径穿越,也不查看文件后缀名。

作用如下:

CSRF增加超级用户
缝隙方位 dapurappsapp_usersys_user.php ,代码如下:

[1] [2]  黑客接单网

相关文章

把PHP LFI缝隙变为Webshell的形式

存眷PHP缝隙的同伙必定知道LFI+phpinfo可以搞出一个webshell。 LFI这个条件还算异常,但phpinfo这个照样比较难凑的,所以有点鸡肋。接下来,我共享一个……异常鸡肋的思绪……人人...

我的日志剖析之道:简略的Web日志剖析脚本

长话短说,作业的原因是这样的,因为作业原因需求剖析网站日志,服务器是windows,iis日志,在网上找了找,github找了找,竟然没找到,看来只要自己着手锦衣玉食。 那么剖析办法我大致可分为三种:...

技能共享:几种常见的JavaScript混杂和反混杂东西剖析实战

信息安全常被描述成一场军备竞赛,白帽与黑帽,浸透测验者与黑客,善与恶,本文将聚集这场永无止境决战中的一个小点。 HTML5 & JS 运用中充满着对输入进行验证/注入的问题,需求开发人员一直...

记载一次使用事务规划缺点缝隙的精彩实战测验

前语 前次的那篇文章《一名代码审计新手的实战阅历与感悟》得到了不少读者的支撑,也得到了FreeBuf这个渠道的必定,这给了我这个菜的不能再菜的小菜鸟很大的决心。可是,不足之处仍是许多,比方文章中呈现的...

TrickBot新动态解析:近万行代码的Dropper和滥用ADS机制-黑客接单平台

TrickBot是自2019年以来影响规模最大的银行木马之一,经过几年的开展,现在的trickBot或许现已脱离了简略的“银行木马”的领域,它的模块化特点将歹意软件提高到了更高的水平。事实上,它能够被...

缝缝补补的WebLogic:绕过的艺术

前语 现在Weblogic在全球的使用量占居前列,据统计,在全球范围内对互联网敞开Weblogic服务的财物数量多达35382台,其间归属我国区域的财物数量为10562台。假如迸发一个Weblogic...