BUUCTF-WEB-INF/web.xml泄露-SSTI注入

news2024/11/26 16:23:09

第八周

目录

WEB

[RoarCTF 2019]Easy Java

WEB-INF/web.xml泄露

WEB-INF/web.xml泄露原因

WEB-INF/web.xml泄露利用方法

解决方法

[BJDCTF2020]The mystery of ip

什么是板块注入 SSTI

为什么会产生

什么是render_template

render_template:

 我们为什么能想到是框架注入呢

Crypto

被劫持的神秘礼物

[BJDCTF2020]认真你就输了


WEB

[RoarCTF 2019]Easy Java

打开环境

 发现是登入界面 看看能不能sql注入

发现是做不到的

我们看看源代码

 发现有两个界面 第一个我们刚刚去过了 看看下面这个

返回了这个文件 我们发现docx 是文档文件

看看能不能下载

31d39024-b852-4ee7-9743-b9b17fa5494e.node4.buuoj.cn:81/help.docx

显然没有这么简单

但是这道题目不是耍我们 是给我们发现 我们能够从里面下载文件

因为这道题的题目是java

java有一个漏洞 和git差不多的漏洞

WEB-INF/web.xml泄露

其实web-inf就是一个文件夹 这个文件夹里存放着很多敏感文件

/WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其余的应用组件配置及命名规则。
/WEB-INF/classes/:含了站点全部用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中
/WEB-INF/lib/:存放web应用须要的各类JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
/WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
/WEB-INF/database.properties:数据库配置文件

这些文件都是包含着敏感信息 如果我们有办法得到访问这个文件夹的权限

我们就可以看到这些文件

我们可以先试试看能不能访问这些文件

WEB-INF/web.xml泄露原因

因为web有的时候需要很多服务器来共同维护 如果有的服务器对静态资源的目录或文件的映射配置不

当,就容易出现这个泄露

WEB-INF/web.xml泄露利用方法

先看看能不能访问/WEB-INF/web.xml文件 如果可以访问 我们就可以发现命名规则 然后通过

/WEB-INF/classes/ 来下载文件

解决方法

修改Nginx配置文件禁止访问WEB-INF目录

我们得到了这个办法 就开始看看哪里可以访问 /WEB-INF/web.xml

我们能发现 在这里有post的方法 因为经过尝试 get无法访问这个文件夹

我们看看post能不能

 记事本打开

 能发现flag的命名和类存放位置

我们可以使用

/WEB-INF/classes/com/wm/ctf/FlagController.class

来访问 其实就是访问文件夹

得到文件 通过java打开

发现加密 

base64解密

 CTF常见源码泄漏总结 - JavaShuo

[BJDCTF2020]The mystery of ip

https://www.cnblogs.com/2ha0yuk7on/p/16648850.html#%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E

服务器端模板注入(SSTI) - 知乎

这题考的是板块注入 SSTI

什么是板块注入 SSTI

其实和sql注入一样 sql注入是通过构造字符串 让我们要比对的字符串变为执行的命令

ssti也是一样的 只不过 ssti是在框架中执行 语言框架对html的渲染 因为对字符串不够严格 就容易变为命令执行

为什么会产生

render_template渲染函数的问题

什么是render_template

是用户和页面交互的函数  页面可以通过用户的操作来展示页面

render_template:

如果对用户输入不进行操作

{{}}在Jinja2渲染的时候会对{{}}里面进行操作 例如 {{1+2}} 会被渲染为3  所以SSTI利用了这一点

{{命令}} 来实现注入

 开始做题

 打开网站 发现有其他的页面 看看源代码

访问 flag.php

 访问hint.php

 在源代码里发现提示

 让我们思考如何知道我们ip的 我们一下就想到 X-Forwarded-For

我们抓包看看能不能更改

 我们为什么能想到是框架注入呢

因为这个是我们完全可控的 我们修改多少就是多少 我们可以先尝试看看能不能写入

因为这里是自动获取 SSTI就是容易在cookie这块自动获取的地方下手脚

我们尝试{{1+2}}

发现完全可以 说明就是SSTI注入

我们开始构造payload

X-Forwarded-For:{{system('ls')}}

 发现flag文件 我们开始查看

X-Forwarded-For:{{system('cat /flag.php')}}

 发现没有回显 应该不会是黑名单 我们先看看根目录再说 实在不行 我们应该可以发现黑名单文件的

我们开始查看根目录

X-Forwarded-For:{{system('ls ../../..')}}

发现这里也有flag 说明刚刚是骗我们的

我们继续访问

X-Forwarded-For:{{system('cat /flag')}}

 得到flag

Crypto

被劫持的神秘礼物

 这题很简单 流量分析

 有一个login

看看里面的账号密码

adminaadminb

MD5小写加密

提交即可

[BJDCTF2020]认真你就输了

下载文件

 发现pk 解压包 我们改后缀

下来一大堆文件 看看里面 flag

得到flag

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

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

相关文章

背包问题-动态规划

背包问题 容量有限的背包&#xff0c;给很多商品&#xff0c;商品有相应的体积与价值 01背包问题 一个背包 每个物品只有一个 最终状态方程 dp[i][j]max(dp[i-1][j],dp[i-1][j-w[i]]v[i]) 推导过程 由上一层推导过来 选择拿不拿i 最终代码 #include<iostream> #…

第12届蓝桥杯省赛真题剖析-2020年12月20日Scratch编程中级组

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第124讲。 第12届蓝桥杯省赛举办了两次&#xff0c;这是2020年10月20日举行的第一次省赛中级组试题&#xff0c;比赛仍…

【Java实战篇】Day6.在线教育网课平台

文章目录一、需求&#xff1a;绑定媒资1、需求分析2、库表设计与模型类3、接口定义4、Mapper层开发5、Service层开发6、完善controller层二、需求&#xff1a;课程预览1、需求分析2、实现技术3、模板引擎4、Freemarker入门5、部署网站门户6、接口定义7、接口开发8、编写模板9、…

放弃 console.log 吧!用 Debugger 你能读懂各种源码

很多同学不知道为什么要用 debugger 来调试&#xff0c;console.log 不行么&#xff1f; 还有&#xff0c;会用 debugger 了&#xff0c;还是有很多代码看不懂&#xff0c;如何调试复杂源码呢&#xff1f; 这篇文章就来讲一下为什么要用这些调试工具&#xff1a; console.lo…

PostgreSQL技术内幕(七)索引扫描

索引概述 数据库索引&#xff0c;是将一个表的某些字段的数据进行重新组织的数据库对象。通过使用索引&#xff0c;可以大大加速数据库的一些操作&#xff0c;其背后的思想也很简单朴素&#xff1a;空间换时间。 数据库中的索引&#xff0c;可以类比为一本书的目录&#xff0…

linux java中使用POI将word转为PDF时无法显示文字

背景: 在windos上本地调试时使用POI将word转为PDF时, PDF无法显示文字的原因以及解决方案: 我的是在linux7.9上&#xff0c;原因是生成world时候汉字正常&#xff0c;转pdf时没有汉字&#xff0c;多次调查后发现没有 宋体: 原因1:字体不存在问题, word中使用的字体在系统(wind…

udp 版本的 echo server 和 echo client

文章目录前言UDP数据报套接字编程什么是套接字套接字的api示例&#xff1a;一发一收&#xff08;无响应&#xff09;客户端服务端前言 基于udp socket写一个最简单的客户端服务器程序. UDP数据报套接字编程 什么是套接字 我们先来解释一下什么是套接字吧! 套接字&#xff0…

流浪地球2:AI人工智能+数字生命+元宇宙

推荐&#xff1a;将 NSDT场景编辑器 加入你的3D开发工具链剧情介绍 太阳危机 太阳即将老化膨胀&#xff0c;吞没太阳系&#xff0c;地球上的人类构思了各种生存计划&#xff1a;其一是“数字生命计划”&#xff0c;该计划制造强大的量子计算机&#xff0c;希望让人类在数字世界…

D. Omkar and Circle(非常有意思的一道题)

Problem - D - Codeforces 丹尼是当地的数学狂人&#xff0c;他对圆形很着迷&#xff0c;这是奥姆卡最近的发明。帮他解决这个圆的问题!已知n个非负整数a1, a2&#xff0c;&#xff0c; an&#xff0c;它们排成一个圆&#xff0c;其中n必须是奇数。n -1能被2整除)。形式上&…

基于Tensorflow搭建卷积神经网络CNN(人脸识别)保姆及级教程

项目介绍 TensorFlow2.X 搭建卷积神经网络&#xff08;CNN&#xff09;&#xff0c;实现人脸识别&#xff08;可以识别自己的人脸哦&#xff01;&#xff09;。搭建的卷积神经网络是类似VGG的结构(卷积层与池化层反复堆叠&#xff0c;然后经过全连接层&#xff0c;最后用softm…

KD-2125地下电缆测试仪

一、产品概述 管线探测仪是一套高性能地下金属管线探测系统&#xff0c;由信号发射机和接收机组成&#xff0c;可用于金属管线、地下电缆的路径探测、管线普查和深度测量&#xff0c;配合多种选配附件&#xff0c;可以进行唯一性鉴别&#xff0c;以及管道绝缘破损和部分类型电缆…

HTML—javaEE

文章目录1.认识HTML2.HTML标签的使用2.1注释2.2标题2.3段落2.4换行2.5字体加粗、斜体字、删除线、下划线2.6图片2.7超链接2.8表格2.9列表2.10表单标签2.11div2.12span3.HTML特殊符号1.认识HTML &#xff08;1&#xff09;HTML是网页的编程语言&#xff0c;文件的内容主要由“标…

【从零开始学Skynet】实战篇《球球大作战》(十一):战斗场景设计

现在的服务端框架有支撑数万玩家的能力&#xff0c;且支持横向拓展&#xff08;即 增加物理机数量&#xff09;&#xff0c;理论上具有无上限的负载能力。下面以《球球大 作战》为例&#xff0c;说明怎样使用这套框架。1、战斗流程 玩家登录后&#xff0c;玩家可以做些非战斗操…

形式语言和自动机总结DFA、NFA

第一章DFA 形式定义和状态转移函数: DFA是一种特殊的NFA&#xff0c; A{Q,,,,F} Q:输入状态集&#xff0c;∑:字母表&#xff0c;δ:状态转移函数Q∑→Q q0∈Q初始状态 F终结集 设计举例 1.设计接受偶数个0和偶数个1串的DFA 2.设计 DFA 接受 {0,1} 上的字符串 w, 且 w 是 …

C++之模拟实现map和set

文章目录前言一、迭代器1.begin()和end()2.operator()二、改造红黑树三、map的模拟实现四、set的模拟实现总结前言 基于之前的红黑树和map、set的相关知识&#xff0c;本节我们使用红黑树来模拟实现STL中的map和set。 一、迭代器 使用迭代器可以方便我们对数据结构进行遍历&a…

windows安装wsl2

总的来说是按照这三个链接来的&#xff0c;也写了一个大体流程。 wsl对win版本有要求&#xff0c;可以 winr winver查看 原始参考链接&#xff1a; 1&#xff09;https://zhuanlan.zhihu.com/p/466001838 2&#xff09;https://cloud.tencent.com/developer/article/1986728 3&…

SpringCloud之Eureka、Ribbon及Nacos

SpringCloud之Eureka、Ribbon及Nacos 文章目录SpringCloud之Eureka、Ribbon及Nacos1. 单体架构和微服务架构2. SpringBoot、SpringCloud及SpringCloud Alibaba之间的版本对应关系2022.x 分支2021.x 分支2.2.x 分支组件版本关系3. Eureka3.1 Eureka-server注册中心3.2 Eureka-cl…

Elasticsearch:使用 ingest pipeline 来管理索引名称

在我之前的文章 “Elasticsearch&#xff1a;使用 pipelines 路由文档到想要的 Elasticsearch 索引中去” 我详述了如何使用已有的 date_index_name 处理器来把文档归类到所需要的和文档日期相关的的索引中去。比如&#xff0c;我们想把 2023 年 4 月的所有文档写入到 my-index…

【QT】MainWindow中如何为菜单栏或工具栏中的Menu或Action设置快捷键

目录1. 设置快捷键的两种方法1.1 在控件title属性的某个字母前加上&&#xff0c;&#xff08;Alt该字母&#xff09;作为快捷键1.2 使用 setShortcuts,&#xff08;Ctrl字母&#xff09;作为快捷键2. 为菜单栏中的 menu 设置快捷键2.1 测试2.2 代码3. 为菜单栏或工具栏中的…

百兆以太网使用的电信号编码分析

以太网是一种计算机局域网的组网技术。在IEEE制定的IEEE 802.3标准给出了以太网的技术标准。它规定了包括物理层的连线、电信号和介质访问层协议的内容。以太网是当前应用普遍的局域网技术。它很大程度上取代了其他局域网标准&#xff0c;如令牌环、FDDI和ARCNET。 我们常见的网…