代码审计:beescms 登录框注入复现

代码审计:beescms 登录框注入复现

beescms

BEESCMS企业网站管理系统,SEO优化更快,无功能限制,后台上手容易,各类行业模板供选择使用!全面支持手机网站,电脑手机模板标签全部通用,一个后台管理,电脑、手机网站同步更新。
官网:http://www.beescms.com/
下载:https://www.mycodes.net/49/9318.htm

环境搭建

下载源码,我下载的是最新版BEES_4.0_R_20160525,使用phpstudy搭建。
搭建好后,来到后台登录页面。
在这里插入图片描述
试了一下,这里的验证码只要不刷新是不变的,存在暴力破解的可能,我们可以使用bp去跑字典。
但是我们的重点是注入,用户名输入admin’,报错。
在这里插入图片描述
应该有注入,打开我们的Seay开始动手审计。

代码审计

来到登录页admin/login.php,定位到 ‘ok_login’ 位置。
在这里插入图片描述
发现有过滤函数fl_html()和fl_value(),跟进函数。
在这里插入图片描述
flvalue()对输入的关键字进行了过滤,可以看到,几乎常用的SQL关键字都被过滤掉了,但是我们可以通过双写关键字绕过。

fl_value()则是使用htmlspecialchars(()函数对字符进行转义,将特殊字符用引用实体替换,但是它采用的是默认参数,仅编码双引号,所以对于’不会过滤。

通过两个过滤函数后,参数传进了check_login()函数,跟进。
在这里插入图片描述
可以看到只是函数功能只是最后的带入查询和验证密码,没有过滤了。

漏洞利用

明白过滤规则后,就可以构造各种注入绕过了。
例如一个直接爆后台密码的playload(本地phpstudy测试):

admin' uni union on selselectect 1,2,3,4,5'' in into outoutfilefile 'D:/phpStudy/WWW/BEES_4.0/a.php' #

执行后会在根目录下生成a.php文件,里面就是bees_admin表的内容,直接得到管理员的密码登录后台。
在这里插入图片描述
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章