i春秋CTF训练 Web 123 常见的Web源码泄露漏洞 Burpsuite Intruder模块简单应用

本文主要是介绍i春秋CTF训练 Web 123 常见的Web源码泄露漏洞 Burpsuite Intruder模块简单应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Web 123 常见的Web源码泄露漏洞 Burpsuite Intruder模块介绍

题目内容:12341234,然后就解开了

本题来自擂主C26

题目链接请在i春秋申请


login.php

在这里插入图片描述

源码里发现提示,用户名+出生年份就是密码,用zhangwei和zhangwei1999试了一下,没错当然登陆失败,只能再想办法了

常见的Web源码泄露漏洞

  • git源码泄露

Git是一个开源的分布式版本控制系统,每次执行初始化目录的时候会在当前目录下自动创建一个.git目录,用于记录代码的变更记录等

  • svn源码泄露

SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。

  • hg源码泄露

Mercurial 是一种轻量级分布式版本控制系统,使用初始化的时候会生成.hg。

  • cvs泄露

CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。主要是针对 CVS/Root以及CVS/Entries目录,直接就可以看到泄露的信息。

  • bazzaar/bzr泄露

bzr也是个版本控制工具, 虽然不是很热门, 但它也是多平台支持, 并且有不错的图形界面。

  • 备份压缩文件泄露

管理员将网站源代码备份在Web目录下,攻击者通过猜解文件路径,下载备份文件,导致源代码泄露。
常见的备份文件后缀:

  • .rar

  • .zip

  • .7z

  • .tar.gz

  • .bak

  • .txt

  • .old

  • .temp

  • WEB-INF/web.xml泄露

WEB-INF是Java的WEB应用的安全目录,如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。

WEB-INF 主要包含以下文件或目录:

WEB-INF/web.xml : Web应用程序配置文件, 描述了servlet和其他的应用组件配置及命名规则.
WEB-INF/database.properties : 数据库配置文件
WEB-INF/classes/ : 一般用来存放Java类文件(.class)
WEB-INF/lib/ : 用来存放打包好的库(.jar)
WEB-INF/src/ : 用来放源代码(.asp和.php等)
  • DS_Store文件泄露

.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。如果将.DS_Store上传部署到服务器,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。

  • SWP文件泄露

swp即swap文件,在编辑文件时产生的临时文件,它是隐藏文件,如果程序正常退出,临时文件自动删除,如果意外退出就会保留,文件名为 .filename.swp。

  • Github源码泄露

GitHub是一个面向开源及私有软件项目的托管平台。很多人喜欢把自己的代码上传到平台托管,通过关键词进行搜索,可以找到关于目标站点的敏感信息,甚至可以下载网站源码。

猜解出user.php.bak,网站备份压缩文件泄露,居然还真有zhangwei这个用户

在这里插入图片描述

Burpsuite Intruder模块Position介绍

Attack Type:

  1. Sniper 狙击枪模式,只针对一个位置进行探测。

    就是只有一个变量是需要爆破的

  2. Battering ram 攻城锤模式,针对多个位置使用一个Payload。

    有多个变量需要爆破,但是只使用同一个字典

  3. Pitchfork 单叉模式,针对多个位置使用不同的多个Payload。

    有多个变量需要破解,针对每个变量各自分配不同字典,字典爆破顺序都是每次按字典顺序依次

  4. Cluster Bomb 激素炮模式,针对多个位置,全部组合。

    有多个变量需要破解,针对每个变量各自分配不同字典,与Pitchfork 单叉模式不同的是,此模式下字典是组合使用,例如字典1的第一个量,与字典2的全部量依次对应,然后就是字典1的第二个量与字典2的全部对应,就是这样不断枚举爆破

因为login.php页面提示密码是用户名+出生年份,我默认爆破出生年份为1999,所以只需要替换两个位置,用同一个字典,使用Battering ram攻城锤模式,设置好变量开始爆破

在这里插入图片描述

然后用load导入得到的user.php.bak字典,开始爆破

在这里插入图片描述
没想到竟然没有1999年出生的,后面我又试了默认用户名为zhangwei,爆破出生日期,,,好的我放弃了,最后选择了设置三个参数,用Cluster Bomb激素炮模式

参数1为用户名,直接导入字典即可,参数2为密码前面部分选择copy参数1,参数3为密码后半部分选择数字类型为numbers遍历1900–2000,步长为1,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
开始爆破

在这里插入图片描述

用户名:lixiuyun密码:lixiuyun1990

登陆成功,查看源码

<html><head><meta charset="utf-8"><title>个人中心</title>
</head>
<body>
<center>
<!-- 存在漏洞需要去掉  -->
<!-- <form action="" method="POST" enctype="multipart/form-data"><input type="file" name="file" /><input type="submit" name="submit" value="上传" />
</form> -->
</center></body></html>

直接f12删掉注释,发现是个文件上传

在这里插入图片描述

直接上传一句话木马失败

只允许上传.jpg,.png,.gif,.bmp后缀的文件

改文件名为2.jpg,一句话内容如下

<?php @eval($_POST[cmd]);?>

burpsuite抓包改名为php,提示文件名不能出现php,于是改成别名pht,然后提示文件内容有问题。。。。还是上传个普通图片试试吧

php别名:php2, php3, php4, php5, phps, pht, phtm, phtml

上传普通图片1.jpg依旧返回文件格式不符合要求,依旧抓包,改名为1.jpg.pht

在这里插入图片描述

返回了一个view.php页面,直接访问

在这里插入图片描述

应该是要一个file参数,构造payload

http://eci-2zeft0t6zcxyaqguqhdq.cloudeci.ichunqiu.com/view.php?file=flag

在这里插入图片描述

就是过滤掉flag嘛,简单,flflagag就能绕过

http://eci-2zeft0t6zcxyaqguqhdq.cloudeci.ichunqiu.com/view.php?file=flflagag

成功得到flag

在这里插入图片描述

这篇关于i春秋CTF训练 Web 123 常见的Web源码泄露漏洞 Burpsuite Intruder模块简单应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

C语言线程池的常见实现方式详解

《C语言线程池的常见实现方式详解》本文介绍了如何使用C语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧... 目录1. 线程池的基本结构2. 线程池的实现步骤3. 线程池的核心数据结构4. 线程池的详细实现4.1 初

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

Go信号处理如何优雅地关闭你的应用

《Go信号处理如何优雅地关闭你的应用》Go中的优雅关闭机制使得在应用程序接收到终止信号时,能够进行平滑的资源清理,通过使用context来管理goroutine的生命周期,结合signal... 目录1. 什么是信号处理?2. 如何优雅地关闭 Go 应用?3. 代码实现3.1 基本的信号捕获和优雅关闭3.2