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

第八周

目录

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值