当前位置: 首页 > article >正文

Web刷题日记1---清风

[GDOUCTF 2023]EZ WEB

题目网站在NSSCTF

这个题目有一个新的知识点,对于我来说比较的少见吧,第一次遇见。em...是什么呢?后面再说

进入靶场,比较突兀,点了这个button后,提示flag在附近

 查看源码,有提示/src目录下载源码,进行代码审计


import flask

app = flask.Flask(__name__)

@app.route('/', methods=['GET'])
def index():
  return flask.send_file('index.html')

@app.route('/src', methods=['GET'])
def source():
  return flask.send_file('app.py')

@app.route('/super-secret-route-nobody-will-guess', methods=['PUT'])
def flag():
  return open('flag').read()

这里只需要看最后几段代码,特别少见的PUT请求。

使用PUT请求,访问目录/super-secret-route-nobody-will-guess

 获取flag


[GDOUCTF 2023]泄露的伪装 

核心知识点:

  1. 目录扫描得到目录/orzorz.php
  2. 看见源码后,使用伪协议

 进入/orzorz.php目录,审计源码

这里使用data伪协议,获取flag

payload:orzorz.php?cxk=data://text/plain,ctrl

 

[HNCTF 2022 Week1]2048

核心:

  1. 查看源码,寻找js内容,然后在hackbar中的控制台运行js代码

进入靶场

从源代码中寻找flag,虽然没有找到,但是看见了2028.js文件,发现类似flag的js放控制台运行

这里成功获取flag,这里注意需要使用NSSCTF{},flag{}提交不正确

[GDOUCTF 2023]hate eat snake

核心:

  1. 控制台运行js代码
  2. js小游戏漏洞

方法一:js游戏漏洞

撞墙之后点取消,等待60秒,然后点空格直接报出flag

方法二:控制台运行js,跳过if函数

标红代码不用复制,控制台先运行非标红此函数,

然后运行alert(_0x324fcb(0x2d9,0x2c3,0x2db,0x2f3)+'k3r_h0pe_t'+_0xe4a674(0x5a1,0x595,0x59e,0x57c)+'irlfriend}'),![];再一次enter获取flag

[UUCTF 2022 新生赛]ez_rce

核心:

  1. rce绕过
  2. 反引号使用
  3. 正则匹配绕过

代码审计

1.使用反引号``,反引号作用是执行反应号中的代码

2.反应号和eval()函数均不会回显,这里使用print()函数

3.利用反斜线绕过正则,例如:l/s

payload:?code=printf(`l\s /`);

payload:?code=printf(`ta\c /fffffffffflagafag`);

 获取flag

[CISCN 2019华东南]Web11

核心:

  1. XFF注入
  2. Smarty简单命令执行

这里直接用burp抓包,然后进行XFF注入判断Smarty模板注入

回显:Current IP:16。说明存在Smarty注入

这里构建payload:X-Forwarded-For: {system(‘ls /’)}

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

 

[NISACTF 2022]checkin

核心:

  1. Unicode编码强制符

源码平常无奇

这里请放在vscode中进行查看

不要问为什么,因为我也没有搞明白

payload:?ahahahaha=jitanglailo&%E2%80%AE%E2%81%A6Ugeiwo%E2%81%A9%E2%81%A6cuishiyuan=%E2%80%AE%E2%81%A6+Flag!%E2%81%A9%E2%81%A6N1SACTF

相关Unicode的强制符

[GKCTF 2020]cve版签到

核心:

  1. 简单ssrf---cve

这里没有信息使用burp抓包,这里注意响应头

payload:?url=http://127.0.0.123%00www.ctfhub.com
PHP 7.2.29之前的7.2.x版本、 7.3.16之前的7.3.x版本、 7.4.4之前的7.4.x版本中的‘get_headers()’函数存在安全漏洞。可以⽤来绕WAF,SSRF利⽤。
cve-2020-7066

 知识点

00截断
get_headers() 返回⼀个数组,包含有服务器响应⼀个 HTTP 请求所发送的标头。
00截断包括%00截断和0x00截断
0x00是⼗六进制表示⽅法,是在ascii码中为0的字符,有些函数会将0x00当做结束符,从⽽进⾏⽂件上传的绕过

在url⾥⾯,get传⼊的%00会经过⼀次解码,解码为0x00,发挥截断作⽤。


http://www.kler.cn/news/366194.html

相关文章:

  • 听见文本的魅力:AI 与未来的语音交互
  • 基于LSTM-Transformer混合模型实现股票价格多变量时序预测(PyTorch版)
  • Unity-Editor扩展,引擎管理AudioClip,音乐音效快捷播放功能
  • Docker存储
  • Android组件化开发
  • 三数之和(15)
  • 【Android】Android 性能分析利器 - Perfetto
  • 滚珠丝杆的精度级别如何分?
  • 912.排序数组(快速排序)
  • 尝鲜electron --将已有vue/react项目转换为桌面应用
  • 测试和开发工作必备的17个Python自动化代码
  • vue axios请求二次封装以及解释(直接cv实用版)
  • kubenetes/kubesphere搭建报错
  • onlyoffice docker启用jwt并生成jwt
  • 机器学习与金融风控项目篇-day03-业务规则挖掘与特征构建-特征衍生
  • 探索 Lombok 的 @Builder 和 @SuperBuilder:避坑指南(一)
  • Windows10搭建Spark3.4.3安装教程
  • OAK相机的RGB-D彩色相机去畸变做对齐
  • 【动态规划】【简单多状态dp问题】买卖股票相关问题(冷冻期、手续费、限制次数)
  • MATLAB基础应用精讲-【数模应用】本量利分析(Cost-Volume-Profit Analysis)
  • 【论文阅读】ESRGAN+
  • 项目管理软件中这6个小技巧帮助项目经理同时管理多个项目
  • 水轮发电机油压自动化控制系统解决方案介绍
  • LDR6020:为VR串流线方案注入高效能与稳定性
  • 多台NFS客户端访问一台nfs服务器
  • vitepress一键push和发布到github部署网站脚本