WP篇 某网杯WEBAWD踩坑

news2025/1/11 7:44:52

某网杯

  • 事件回顾
    • 赛题
    • 环境
    • 木马
    • 访问JSP显示空白
    • Ubuntu与Mysql问题
    • 框架选择
    • idea

事件回顾

虽然没有参与本次AWD,但是看到另外一只队伍down下来的文件,我还是忍不住心动了,于是决定复现一番,因为某些原因,详细的wp和复现的环境就不公开了。这篇文章主要介绍一下本次比赛和个人复现中所踩的坑。

赛题

本次线下AWD共5道题,3道web(easyCMS、authSite、bookshop),2道pwn(不记得了)
web全是java的题目,虽然存在简单的漏洞,但是全出java赛题在AWD赛的历史上还是独树一帜的(可能我的见识比较狭隘)。

题目题设漏洞
easyCMS4个
authSite3个
bookshop5个

总体而言,authSite的难度是最高的,它的3个预设漏洞都是需要靠代码审计和丰富的CTF经验才能发现的。对于这场比赛的结果,我的评价是:“WC,全是高手,他们的技术能力一定很强”。

环境

经过了一番学习(半个月),我复现了以上全部漏洞。这次复现让我对tomcat+java+mysql+ubuntu的结构有了进一步的认识。下面就简单谈一下tomcat建站中所遇到的坑,以供大家参考学习。

木马

Javaweb三大组件是:Servlet,Filter,Listener。在这三类组件中都有可能存在木马,使用审计工具或jsp脚本(例:VCG、memshell scanner)可以发现一部分,但是如果隐藏起来了,那就不好说了,比如说下面这个马:

bookshop中出现了一个网上公开的混淆马JSPHorse(github),其加密方式较为复杂,大家自行参考这篇文章学习吧:浅谈JSP Webshell进阶免杀
为了寻找该马的利用参数,我制作了一个python脚本对凯撒进行爆破,爆破结果略有瑕疵,不过勉强算是可以猜测利用了。
在这里插入图片描述在这里插入图片描述队友down下来了的cart_end.jsp就是该混淆马。pwd是明文,利用方式如下:cart_end.jsp?pwd=7ef14f12&C0nCmd=cat%20/flag

访问JSP显示空白

easycms是OFCMSv1.1.3的框架,但是其中有个jfinal过滤设置对于我这种java开发小白来说还是比较为难的,不过也算解决了——在web.xml属性设置为 " /* ",那么就会导致你的JSP页面无法被访问,只会显示一片空白。
修改为下图就可以了,当然,这种方式较为暴力,会导致网站其他目录无法访问,想要深究其因的小伙伴可以自行学习jfinal,我这里就点到为止了。
在这里插入图片描述

Ubuntu与Mysql问题

ubuntu20版本不支持mysql5,这会导致easycms中的OFCMS在Install界面报大整数不支持的错误,所以可以将ubuntu更换为18版本,该版本支持mysql5.7。

框架选择

推荐:
idea任意版本
apache-tomcat-8.5.93
mysql5.7
ubuntu18
java1.8
用idea启网站,然后关掉idea,直接操作tomcat的webapps目录——可以节省idea刷新网站总是要重新部署的时间。

idea

这个问题主要集中在org.apache…的依赖不存在上,其实是idea的使用习惯问题,如下图,选择java,然后从/usr/local/“tomcat目录”/lib导入就行,初学的小伙伴搜索“IDEA导入tomcat的jar包”就能解决。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1037554.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c#:System.Text.Json 的使用三(从Newtonsoft迁移)

环境: .net 6.0vs2022 系列篇: 《c#:System.Text.Json 的使用一》 《c#:System.Text.Json 的使用二》 《c#:System.Text.Json 的使用三(从Newtonsoft迁移)》 参考: 《MSDN: 从 Newt…

【vue2第二十章】vuex使用 (state,mutations,actions,getters)

vuex是什么? Vuex是一个用于Vue.js应用程序的状态管理模式。它允许您在应用程序中管理共享状态,并以可预测的方式进行状态更新。Vuex集成了Vue的响应式系统,使得状态的变化能够自动地更新视图。使用Vuex,您可以将应用程序的状态集…

华为云云耀云服务器L实例评测 |云服务器性能评测

通过上一篇文章华为云云耀云服务器 L 实例评测 |云服务器选购,我已经购买了一台 Centos 系统的云耀云服务器 L 实例。 在获得云耀云服务器 L 实例后,首要任务是熟悉云耀云服务器 L 实例的性能,对云耀云服务器 L 实例的性能进行测…

如何在 SOLIDWORKS中创建零件模板 硕迪科技

作为一款多功能且可大量定制的 3D CAD 软件,SOLIDWORKS模板可以通过自定义属性包含大量数据。可以通过为SOLIDWORKS零件、装配体和工程图创建模板来利用这些模板。 与其他一些CAD软件不同,SOLIDWORKS不限制您可以创建的模板数量 - 您可以根据需要创建任…

3、SpringBoot_配置文件

四、配置文件 1.前言 曾经使用SpringMVC的时候是手动修改tomcat配置的端口信息,那现在Springboot如何修改?springboot有一个默认的配置文件 application.properties 2.配置文件分类 常用配置信息官方文档地址 https://docs.spring.io/spring-boot/doc…

web:[极客大挑战 2019]Knife

题目 点开页面显示为,还有一句话木马 查看源代码,没有什么特别的 回归题目,页面显示使用菜刀和一句话木马,使用蚁剑连接 在根目录找到了flag文件

记账APP:小哈记账5——记账首页页面的制作(2)

项目介绍: 小哈记账是一款用于记账APP,基于Android Studio开发工具,采用Java语言进行开发,同时使用litepal和阿里云数据库进行数据的增删查改,以图标的形式在App的界面上显示。App可以清晰显示收支情况,并以…

EfficientNet笔记

前言 论文 EfficientNet 是一系列卷积神经网络架构,它旨在在计算资源受限的情况下实现更好的性能。EfficientNet 的设计思想是在网络的深度、宽度和分辨率方面进行均衡的调整,以获得高效且高性能的模型。 以下是 EfficientNet 的主要特点和设计原则&a…

VS2022创建控制台应用程序后没有Main了,如何显示Main?

文章目录 问题描述原因解决方案简单的顶级语句试用计算器 其他文章 问题描述 用VS2022创建一个控制台应用后,没有名称空间和Main函数了,只有一个WriteLine,如下所示。 // See https://aka.ms/new-console-template for more information Co…

今日学习 Mybatis 的关联映射

关联映射的三种关系: 我们首先绘制一个简化的 E-R 图来表示三种关联关系。 上图表示的三种关系: 一对一:一个班主任只属于一个班级,一个班级也只能有一个班主任一对多:一个班级有多个学生,一个学生只属于…

全网最细讲解如何实现导出Excel压缩包文件

写在前面的话 接下来我会使用传统的RESTful风格的方式结合MVC的开发模式给大家介绍一下如何去实现标题的效果。 基本思路讲解 先从数据库中查询出一组人员信息记录,保存在List list中。遍历这个列表,对于每一个人员信息,将其填充到一个Excel…

小白学Python:提取Word中的所有图片,只需要1行代码

#python# 大家好,这里是程序员晚枫,全网同名。 最近在小破站账号:Python自动化办公社区更新一套课程:给小白的《50讲Python自动化办公》 在课程群里,看到学员自己开发了一个功能:从word里提取图片。这个…

pytorch安装教程

写在前面:配置pytorch着实有很多坑,不过最终结果算好的,话不多说,直接上干货。其中想要知道如何解决torch.cuda.is_available()返回false的,直接跳到步骤5pytorch安装。python版本至少是3.6及以上。 1、前…

API 设计/开发/测试工具:Apifox与怎么通过拦截器

目录 一、测试接口如何创建? 二、如何添加body和header? 三、如果项目设置的有拦截器? 四、拦截器概念: 4.1使用拦截器概念 4.2 先写一个配置类WebMvcConfig.java 4.3 AuthInitInterceptor拦截器中实现 一、测试接口如何创建…

Linux 内存workingset Refault Distance算法源码及源码解析

概述 内核mm子系统中有一个workingset.c实现了refault distance算法,发现网络逻辑介绍该算法的文章主要是复制自奔跑吧内核一书中的内容,均比较雷同,讲述的角度比较难以理解,我第一看到的时候琢磨了2天才明白,本文希望…

Python中使用EMD(经验模态分解)

在Python中使用EMD(经验模态分解)进行信号分解时,通常可以设置信号分解的数目。EMD算法的目标是将信号分解成多个称为“本征模态函数”(Intrinsic Mode Functions,简称IMF)的成分,每个IMF都代表…

调试(修复错误)

什么是一个软件bug? ● 软件错误:计算机程序中的缺陷或问题。基本上,计算机程序的任何意外或非预期的行为都是软件缺陷。 ● bug在软件开发中是完全正常的! ● 例如,现在我们存在数组,我们现在需要将这个数组颠倒排序 意外的结…

7.15 SpringBoot项目实战 【学生入驻】(上):从API接口定义 到 Mybatis查询 串讲

文章目录 前言一、service层 和 dal层方式一、Example方式方式二、Mybatis XML方式方式三、Mybatis 注解方式 二、web层 StudentController最后 前言 接下来我们实战【学生入驻】,对于C端学生端,一切交互开始于知道 当前学生是否入驻、是否有借阅资格&a…

【重新定义matlab强大系列十五】非线性数据拟合和线性拟合-附实现过程

🔗 运行环境:Matlab 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 #### 防伪水印——左手の明天 #### 💗 大家好🤗&#x1f91…

人绒毛膜促性腺激素(HCG)介绍

人绒毛膜促性腺激素 HCG)是妊娠期产生的一种肽类激素,由受孕后不久的胚胎产生,随后由合胞体滋养层(胎盘的一部分)合成。它的作用是防止卵子黄体的解体,从而维持孕酮的分泌,而孕酮对人类怀孕至关…