BlueCms开源环境渗透学习(附代码审计学习)

这篇具有很好参考价值的文章主要介绍了BlueCms开源环境渗透学习(附代码审计学习)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装过程

        1.1、下载地址:https://github.com/source-trace/bluecms

        1.2、环境要求:phpstudy 2018 5.5.38+mysql5.5.53,不要用7+这种高版本的php,因为这个cms是比较老的,它的部分函数与新版本php两者是不相匹配的,然后搭建好后访问bluecms-master/install/,这个时候可能界面是空白,我们需要开启一下允许目录列表然后去删除bluecms-master\install\compile下的php文件。注意:到step=5时又变成空白了,不过这个时候已经搭建好了,访问bluecms-master/index.php就可以发现已经配置成功

bluecms,PHP代码审计,学习,安全,php

二、黑盒渗透测试

第一部分人工测试

        2.1、用户名可猜解(用户名暴力破解)

打开新用户注册页面注册一个用户发现存在用户页面显示用户名已存在;可尝试几个如 root、admin、test等发现不存在用户显示该用户名可以使用。(这里就可以使用intruder模块进行用户名得暴力破解)

bluecms,PHP代码审计,学习,安全,php

        2.2、任意用户注册

到注册用户这个页面,在BP上找到响应的地址,进行任意用户注册尝试,发现可行。

bluecms,PHP代码审计,学习,安全,php

        2.3、后台登录弱口令问题

位置:bluecms-master/admin/login.php?act=login使用账户admin 密码123456进行登录

bluecms,PHP代码审计,学习,安全,php

bluecms,PHP代码审计,学习,安全,php

        2.4、反射型XSS漏洞

位置一:在发布新闻模块的新闻内容处

bluecms,PHP代码审计,学习,安全,php

bluecms,PHP代码审计,学习,安全,php

位置二:编辑个人资料时的邮箱位置

直接构建payload:<img src=1 οnerrοr=alert(1)>

bluecms,PHP代码审计,学习,安全,php

发送成功后,刷新页面

bluecms,PHP代码审计,学习,安全,php

第二部分漏扫工具尝试

       2.5、渗透测试就是人工、漏扫工具的双重尝试和使用

下面使用漏洞扫描器扫描

bluecms,PHP代码审计,学习,安全,php

通过对扫描器发现的漏洞逐一进行了尝试,都不能实现(估计是环境问题)

三、白盒代码审计

        代码审计这块还是一个弱项的,因为毕竟咱们不是开发做一些逻辑,功能类代码审计还是需要慢慢学习的

使用工具seay源码审计系统:(可根据自己审计喜好吧,先扫在人工验证或通读代码)

bluecms,PHP代码审计,学习,安全,php

        3.1、sql注入漏洞审计

sql注入1:ad_js.php?ad_id

通过审计工具我们可以看到问题所处的代码块;查看代码我们发现在ad_js.php下的ad这个参数只进行了非空判断,请求方式都走了common.inc.php,我们查看一下发现进行了deep_addslashes过滤(在'或“上加入转义\),请求尝试在前台通过对ad进行传参尝试一下:

bluecms,PHP代码审计,学习,安全,php

bluecms,PHP代码审计,学习,安全,php

payload:ad_js.php?ad_id=sdfd

bluecms,PHP代码审计,学习,安全,php

我们看到这个点就存在一个sql注入:可以使用联合注入,爆个库名:union select 1,2,3,4,5,6,7逐步进行当8时不报错,说明是有7行,,尝试爆出了库名(不回显与页面需检查或者直接通过BP响应包查看也可直接使用sqlmap直接跑了)

bluecms,PHP代码审计,学习,安全,php

bluecms,PHP代码审计,学习,安全,php

sql注入2:ann.php?cid(失败)

通过查看cid的传值我们看到对cid进行了intval函数的操作,搜索一下这个函数的定义:

intval函数的作用是将变量转换为整数类型。它可以将字符串、浮点数、布尔值和其他类型的变量转换为整数。如果变量无法转换为整数,则返回 0。如果变量是一个字符串,它将尝试将字符串解析为整数。如果变量是一个浮点数,它将截断小数部分并返回整数部分。如果变量是一个布尔值,它将返回 1(true)或 0(false)。如果变量是一个数组或对象,它将返回 0。如果变量是一个 null 值,它将返回 0

总体意思就是将cid这个参数的值转换为整数,这对于我们采用的sql注入尝试就无法使用。

bluecms,PHP代码审计,学习,安全,php

sql注入3:common.php?id(失败)

这个失败的原因和上一个是一样的。

sql注入4:user.php?user_id&id(失败)

这两个参数user_id使用的包含这个common_inc_php这个里面对参数使用了deep_addls对单引号进行了过滤,,同样使用了intval这个函数进行了处理无法进行尝试。

        3.2、XSS漏洞

一般存在sql注入漏洞的地方就存在XSS漏洞,我们看到的存在sql注入漏洞的地方尝试使用XSSpayload进行尝试ad_js.php?ad_id=1 <script>alert(/xss/)</script>

bluecms,PHP代码审计,学习,安全,php

XSS漏洞2:在我们人工进行测试时发现在发表新闻那有一处我们进行一下代码审计查看一下的:

bluecms,PHP代码审计,学习,安全,php

这里我们看到对新闻标题title、color、author、source进行了html实体编码但查看content进行了filter_data操作而我们查看一下,这个过滤方法意思就是将传入的str匹配存在<script><frame><meta><link>就替换为空,所以我们尝试的<img src=1 οnerrοr=alert(1)>payload 成功弹窗

bluecms,PHP代码审计,学习,安全,php

XSS漏洞3:网上还有一处XSS漏洞处于留言板这块,很奇怪我这边发布什么东西都说内容是空的

bluecms,PHP代码审计,学习,安全,php

我们审一下代码转到guest_book.php;整体功能就是当act传入list、sent、del就进行三个操作,留言列表、发送留言、删除留言等,具体我们看发送留言这块

bluecms,PHP代码审计,学习,安全,php

我们观察到content使用了html实体编码导致不能进行xss但注意到一个page_id

bluecms,PHP代码审计,学习,安全,php

之后我们就可以构造value双引号闭合的XSS-payload:\"><script>alert(1)</script>

报错,没有出现弹窗

bluecms,PHP代码审计,学习,安全,php

        3.3、文件包含 (环境利用成功可以进行getshell方式可通过文件包含木马图片的)

这个漏洞看还是网上的解析,我这个环境就是出现没有选择支付方式,很奇怪,我们看seay审计的代码块;这里我们发现

bluecms,PHP代码审计,学习,安全,php

可以尝试进行包含文件进行传参

bluecms,PHP代码审计,学习,安全,php

这边我的环境应该是有问题,可加入大家尝试成功的话结合我们的文件上传(上传点只支持白名单进行webshell的利用)

        3.4、任意文件删除

在php中任意删除文件常用于unlink函数,这个函数是删除文件的,可能存在任意文件删除漏洞,这里的话我门用seay代码审计工具来进行查看。

位置1:user.php->act=edit_user_info ;我们判断处当变量act=edit_user_info给user_id和face_pic3一个文件即可尝试是否删除(这里我们文件夹内以一个test.txt文件尝试)删除成功

bluecms,PHP代码审计,学习,安全,php

bluecms,PHP代码审计,学习,安全,php

bluecms,PHP代码审计,学习,安全,php

        3.5、SSRF漏洞

这里我们可以看见,针对pic1进行了文件的识别,但开发是使用!=(正确的就是!==)来进行判断这里我们那就可以利用php的弱类型特点进行绕过,在通过对其进行引用处理,我们可尝试SSRF;这里需要注意,当进行img_upload时会对face_pic2进行判断是否建立,只有当pic2没有任何内容时,才可加载,,当我们发送成功后回到页面进行重新加载就可以触发,SSRF了

bluecms,PHP代码审计,学习,安全,phpbluecms,PHP代码审计,学习,安全,php

四、总结

        针对一个渗透项目通常是进行的黑盒测试,不知道后台代码情况,但在HW期间想要拿到高质量的漏洞(0day)往往都是看靶标搭建情况,如果可以找到源码或者开源的CMS就可以进行代码审计找到入口。通过这个cms基本上了解了,代码审计的思路;快速审计往往需要通过定位危险函数(select upload where unlink)来看上下文引用情况,判断路由和传参来进行利用。常规审计需要配合审计工具逐一排查来确定是否存在漏洞。文章来源地址https://www.toymoban.com/news/detail-767609.html

到了这里,关于BlueCms开源环境渗透学习(附代码审计学习)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PHP代码审计8—SSRF 漏洞

    1、漏洞原理与防御方法 1) 漏洞原理 SSRF的形成大多是由于服务端提供了从其他服务器应用获取数据的功能,并且没有对目标地址做过滤与限制。例如,黑客操作服务端从指定URL地址获取网页文本内容,加载指定地址的图片等,利用的是服务端的请求伪造。 2)防御方法 过滤返

    2024年02月09日
    浏览(42)
  • 【PHP代码审计】ctfshow web入门 php特性 93-104

    这段PHP代码是一个简单的源码审计例子,让我们逐步分析它: include(\\\"flag.php\\\"); : 这行代码将 flag.php 文件包含进来。如果 flag.php 文件中定义了变量 $flag ,它将在当前文件中可用。 highlight_file(__FILE__); : 这行代码将会将当前文件的源代码进行语法高亮并输出到浏览器,以便我们

    2024年02月14日
    浏览(41)
  • 短视频seo源码矩阵系统开源---代码php分享

      1. 研究:通过分析目标观众和相关竞争对手,确定适合的。这有助于提高视频的搜索可见性。 2. 视频标题:使用含有目标的吸引人的标题。确保标题简洁明了,能够准确描述视频内容。 3. 视频描述:在描述中使用,同时提供有关视频内容和相关

    2024年02月10日
    浏览(39)
  • 一个基于SpringBoot开发的RBAC系统,非常适合新手入门JavaWeb代码审计实战的系统,长文警告,要好好学习。

    嗨,大家好,我是闪石星曜CyberSecurity创始人Power7089。 欢迎大家搜索我的微信公众号:闪石星曜CyberSecurity 本文是【炼石计划@Java代码审计】内部圈子原创课程,现分享给大家学习。 如需转载,请详细注明来源。 欢迎大家搜索并添加我的好友【Power_7089】,备注CSDN,邀请你进入

    2024年02月11日
    浏览(50)
  • MySQL 使用开源审计插件

    MySQL 只有企业版有审计插件,开源社区版没有审计插件。企业要通过等保需要开通审计功能,这里记录使用 MariaDB 开源审计插件,让 MySQL 社区版拥有审计功能。 审计插件是包含在 MariaDB 中的,所以需要先下载 MariaDB 然后将 server_audit.so 审计插件 copy 出来。 MariaDB 的 10.1 版本对

    2024年02月10日
    浏览(41)
  • 安装Archery开源SQL审计平台

    1、安装docker 2、安装docker-compose 3、安装archery 4、下载Archery包 5、修改配置 docker-compose.yml文件内的services可按照本身的运行环境来调整,同时注意检查版本号是否正确,比如说外部已经装好了mysql、redis、inception,就可以将对应的services删除, 但是需要注意修改settings.py文件的相

    2024年01月15日
    浏览(34)
  • 常用开源的弱口令检查审计工具

    SNETCracker超级弱口令检查工具是一款开源的Windows平台的弱口令安全审计工具,支持批量多线程检查,可快速发现弱密码、弱口令账号,密码支持和用户名结合进行检查,大大提高成功率,支持自定义服务端口和字典 工具采用C#开发,需要安装.NET Framework 4.0 SSH RDP MySQL SQLServer

    2024年02月14日
    浏览(35)
  • 小迪安全20WEB 攻防-PHP 特性&缺陷对比函数&CTF 考点&CMS 审计实例

    #研究对象 PHP代码漏洞(代码问题) # 知识点: 1 、过滤函数缺陷绕过 2 、 CTF 考点与代码审计 一、原理-缺陷函数-使用讲解-本地 内置函数: 大部分是比较函数(过滤时使用的函数) (1)、== 与 === : 参考: PHP 浅谈 == 和=== 中,数字和字符串比较的问题。_php 数字==字符串

    2024年01月19日
    浏览(53)
  • MIT Cheetah开源代码仿真环境搭建

    参考文章:长乐未央https://zhuanlan.zhihu.com/p/537013183 电脑系统:Ubuntu18.04 ROS版本: ROS Melodic 首先更新一下 安装依赖项 首先是QT5.14.2,下载地址友情链接:QT5.14.2 下载完成后选中下载的QT5文件,右键点击属性,点击权限,勾选允许作为程序执行文件,如下图所示: 然后在该文件

    2023年04月17日
    浏览(45)
  • 【代码审计篇】 代码审计工具Fortify基本用法详解

    本篇文章讲解代码审计工具Fortify的基本用法,感兴趣的小伙伴可以研究学习一下,文中部分地方可能会有遗漏,麻烦各位大佬指正,深表感谢!!! Fortify全名叫 Fortify SCA ,是惠普公司HP的出品的一款源代码安全测试工具,这家公司也出品过另一款Web漏洞扫描器,叫做 Webin

    2024年02月05日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包