自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 【2024】HECTF 个人整理向

本来想整理下所有的wp的,结果最后发现好多都不会,别的不会的抄wp的话似乎也就只有抄大佬们交上来的wp,不大好,所以最后只写了部分wp,剩下等到学长们把官方wp传上去再整理。WP:Web:Are you happy?:​ game.js里找,flag在里面,根据flag的格式,flag开头是HECTF,将这个字段base64编码下,然后就可以搜索了。baby_unserialize: <?phperror_reporting(0);show_source(__FILE__);ec

2024-12-09 20:55:11 1010 1

原创 CTFShow-文件包含

竞争包含先不写了,有时间再写。

2024-11-24 21:35:53 434 3

原创 pwn学习笔记(12)--Chunk Extend and Overlapping

​ chunk extend 是堆漏洞的一种常见利用手法,通过 extend 可以实现 chunk overlapping(块重叠) 的效果。

2024-11-11 19:48:08 778

原创 pwn学习笔记(11)--off_by_one

​ 多次输入几个a之后,发现了最后输出的时候输出了17个a,我的目的仅仅只是需要16个a,结果输出了17个a,像这种,在写入字符串的时候多写入了一个字节的情况,就是off by one。prev_sizeprev_sizeprev_sizeprev_size​ 最新版本代码中,已加入针对 2 中后一种方法的 check ,但是在 2.28 及之前版本并没有该 check。

2024-11-09 21:29:56 875

原创 Pwn学习笔记(10)--UAF

​ UAF就是Use-After-Free,即一个指向堆块的指针被释放后指针没有置零,形成了悬空指针,使得堆可以再次被使用。​ 估计第一个参数是一个函数指针,之后malloc第二个堆,地址赋给第二个参数,之后读取size大小的字符进入第二个堆块。​ 但之后没有对指针进行置零,存在UAF漏洞,因为show里存在idx参数,释放后如果申请大小差不多的堆块。​ 完蛋,没注意到tcache给我保存了这些内容,不过不清楚是否存在影响,继续调一调看看吧,之后重新申请个堆。

2024-11-05 11:50:54 423

原创 【2024】强网杯

​ 网站是一个通过block的堆积木的形式编程,有两种数据类型以及四种函数,分别是正常运算,print输出,min和max功能,随便写一些代码,发现结果会回显出来。​ 这段代码定义了一个函数,用于检查一个指定的模块是否存在。这个函数通过几个步骤来判断模块是否存在,并且区分了内置模块、标准库模块和第三方或本地模块。NonespecNoneFalseTrueosTrue​ 问题也就出现在这里,前后我没发现有调用过这个函数,先无所谓,看看审其他的。​。

2024-11-04 08:00:00 601

原创 网鼎杯2024青龙组官方资格赛wp

*第一步:**checksec发现32位架构,开了NX和ASLR。**第二步:**login函数有个登陆,账号密码都在里面**第三步:**vuln函数存在栈溢出,但是只能溢出8个字节,确定位栈迁移。

2024-10-31 19:23:31 745

原创 CTFshow-SSRF

​ 随便输入了一个账号密码后,跳转到check.php文件,抓包后post出现了一个returl,由此,利用gopher协议构造攻击,利用gopherus生成gopher语句攻击。​ 这里的payload :http://safe.taobao.com/flag.php。​ 不知为啥,我的还是用不了,不过,照理来说,发送了之后访问shell.php就能rce了。​ 这里要求长度小于五,直接用http://0/flag.php去绕过。​ 长度小于3,还是上一题那个payload一把梭。

2024-09-26 19:09:15 660

原创 CTFShow-反序列化

private变量会被序列化为:\x00类名\x00变量名protected变量会被序列化为: \x00*\x00变量名public变量会被序列化为:变量名__sleep() //在对象被序列化之前运行 *__wakeup() //将在反序列化之后立即调用(当反序列化时变量个数与实际不符是会绕过) *如果类中同时定义了 __unserialize() 和 __wakeup() 两个魔术方法, 则只有 __unserialize() 方法会生效,

2024-09-17 20:18:24 1325

原创 CTFShow-命令执行

​ 过滤了文件关键词,通配符绕过,cat f*,用system执行,发现没有成功读取,考虑使用tac倒序读取,得到flag。​。

2024-09-16 14:47:46 1997

原创 CTFShow-信息搜集

​ 题目描述:开发注释未及时删除。​ 打开题目后提示web1:where is flag?​ ctrl+u读取源码。

2024-09-14 16:52:22 1029

原创 DosBox debug指令简单记录

【代码】DosBox debug指令简单记录。

2024-09-04 10:46:13 562

原创 pwn学习笔记(9)-中级ROP--ret2csu

​ 首先是64位文件的传参方式:前六个参数是从左到右放入寄存器:rdi、rsi、rdx、rcx、r8、r9,之后的通过栈传参。​ 比如:传参函数大于7个:h->(%esp)g->(%esp)call H​ 之后反汇编一下main函数和H函数的代码​ 很明显的就是前六个参数是寄存器传参,剩下两个就是栈传参。

2024-08-09 02:54:28 469

原创 pwn学习笔记(8)--初识Pwn沙箱

​ 沙箱机制,英文sandbox,是计算机领域的虚拟技术,常见于安全方向。一般说来,我们会将不受信任的软件放在沙箱中运行,一旦该软件有恶意行为,则禁止该程序的进一步运行,不会对真实系统造成任何危害。​ 安全计算模式seccomp(Secure Computing Mode)在Linux2.6.10之后引入到kernel的特性,可用其实现一个沙箱环境。使用seccomp模式可以定义系统调用白名单和黑名单。seccomp机制用于限制应用程序可以使用的系统调用,增加系统的安全性。​ 在ctf中主要通过两种方

2024-08-06 04:05:55 1338

原创 python原型链污染

​ python 中的原型链污染是指通过修改对象原型链中的属性,对程序的行为产生以外影响或利用漏洞进行攻击的一种技术。​ 在 Python中,对象的属性和方法可以通过原型链继承来获取。每个对象都有一个原型,原型上定义了对象可以访问的属性和方法。当对象访问属性或方法时,会先在自身查找,如果找不到就会去原型链上的上级对象中查找,原型链污染攻击的思路是通过修改对象原型链中的属性,使得程序在访问属性或方法时得到不符合预期的结果。常见的原型链污染攻击包括修改内置对象的原型、修改全局对象的原型等。

2024-07-21 04:43:23 1943 2

原创 Pwn刷题记录(不停更新)

​ 发现了个事儿,for循环会执行两次,所以这里采用第一次不溢出,通过格式化字符串漏洞对Canary的值进行泄露,之后就可以在合适的地方填入canary的值来绕过canary保护了。​ 之后就是具体进行溢出了,计算溢出的长度也比较简单,这里直接上答案吧,116字节,不过,第100到104为canary的值。​ 根据这俩进行计算,可得到偏移,结果是0x7c/4=31。​ 除了NX之外,似乎就只有 Canary了。​ 因此,思路就很明确了。

2024-06-23 18:50:21 449

原创 pwn学习笔记(0)-事后补充

​ 首先是在最开始的时候装环境此次碰壁,搞得没心思写这篇博客,其次,又因为虚拟机本身的问题,导致我对虚拟机有很强的不满,所以我最开始没有写这篇博客,但是,转念一想,为什么我必须得执着于 虚拟机呢?不是同样都是Linux吗,为啥我不直接采用 WSL 来部署 Pwn 环境呢?所以,这里我选择了重装了下 Pwn 环境,不过,因为我装好很大一部分之后才想起来记录博客,所以我只会把前面的内容简单记录一下,不进行二次实操了。​ WSL的安装我就不详细进行说明了,这个挺无脑的。

2024-06-23 17:33:19 561

原创 反弹shell

​ 反弹shell,就是攻击机监听在某个TCP/UDP端口为服务端,目标机主动发起请求到攻击机监听的端口,并将其命令行的输入输出转到攻击机。

2024-06-18 19:56:34 1207

原创 部分CVE复现Web(1)

​ 首先,先来看一下这个漏洞的官方描述:​ CVE-2021-41773 是在 Apache HTTP Server 2.4.49 中对路径规范化所做的更改中发现了一个缺陷。攻击者可以使用路径遍历攻击将 URL 映射到预期文档根目录之外的文件,如果文档根目录之外的文件不受“要求全部拒绝”的保护,则这些请求可能会成功,如果还为这些别名路径启用了 CGI 脚本,则可以允许远程代码执行。

2024-06-17 22:13:25 1099

原创 数据结构-3、栈、队列和数组

​ 队列,也是一种操作受限的线性表,只允许在表的一端进行插入,而表的另一端进行删除。向队列中插入元素成为入队或进队;删除元素称为出队或离队。这和我们日常生活中的排队时一致的,最早排队的也是最早离队的,其操作的特性是先进先出(FIFO),如下图:​ 对头。允许删除的一端,又称队首。​ 队尾。允许插入的一端。​ 空队列。不含任何元素的空表。

2024-06-15 20:58:40 1058

原创 数据结构笔记-2、线性表

​ 线性表是具有相同数据类型的 n (n>=0) 个数据元素的有限序列,其中 n 为表长,当 n = 0 时线性表是一个空表。La1a2a3aixi1anLa1​a2​a3​...ai​xi1​...an​式中,a1a_1a1​是唯一的“第一个元素”,又称表头元素;ana_nan​是唯一的“最后一个元素”,又称表尾元素。除第一个元素外,每个元素有且仅有一个直接前驱。

2024-06-12 13:41:19 1008

原创 【2023】LitCTF

LitCTF2023(复现)Web:1、我Flag呢?​ ctrl+u 读取源码,在最后发现了flag:<!--flag is here flag=NSSCTF{3d5218b9-4e24-4d61-9c15-68f8789e8c48} -->2、PHP是世界上最好的语言!!​ 右边那个框下面是 RUN CODE ,结合题目是PHP,推测为RCE,先输入echo 123;看看会发生啥:发现左边输出内容出现了123,那么,直接system(“cat /flag”);成功拿到fl

2024-06-10 22:21:01 1026

原创 【2024】LitCTF

​ 题目描述:laosebi,无脑LSB隐写,全取最低位的LSB隐写,拿到flag。有大佬直接秒了,在这里提一下。

2024-06-06 19:36:54 1297 1

原创 JavaWeb基础(一)-IO操作

我们知道反序列化时,必须有原始类作为模板,才能将这个对象还原,从这个过程我们可以猜测,序列化的数据并不像 class 文件那样保存类的完整的结构信息。​ 当传入一个文件路径时,将会根据这个路径创建一个 File 对象来表示这个文件,然后根据这个 File 对象创建真正读取文件的操作对象,这时将会真正创建一个关联真实存在的磁盘文件的文件描述符 FileDescriptor,通过这个对象可以直接控制这个磁盘文件,。第二部分是要反序列化的类的描述,在这里是 Serialize 类。第一部分是反序列化文件头。

2024-05-29 22:14:35 1467

原创 三、Servlet基础

首先,之后还可以加入 doPut,doTrace等,支持其他的 HTTP 请求方法。一般而言,报头使用 HttpServletResponse 的 setHeader方法来设置,但由于设置内容的类型是一项十分常见的任务,因而,HttpServletResponse 提供特殊的 setContentType 方法,专门用于这种目的。service 方法检查 HTTP 请求的类型(GET,POST,PUT,DELETE等)并相应地调用 doGet,doPost,doPut,doDelete 等方法。

2024-05-27 12:04:38 1075

原创 一、Servlet和JSP技术概述

​ 第一章内容较少,所以暂时有用的笔记也不多。

2024-05-26 20:49:14 390

原创 BUU刷题-Misc-第一页(1-16)

​ flag在题目描述里,直接交了。

2024-05-25 17:27:43 864

原创 【2024】高校网络安全管理运维赛

比赛时间:2024-05-06。

2024-05-23 15:55:19 1851 3

原创 【2024】H&NCTF

preg_replace 使用了 /e 模式,导致可以代码执行,而且该函数的第一个和第三个参数都是我们可以控制的。我们都知道, preg_replace 函数在匹配到符号正则的字符串时,会将替换字符串(也就是上图 preg_replace 函数的第二个参数)当做代码来执行最后得到flag。

2024-05-22 22:51:39 1441

原创 ciscn2024(上传一下,有侵权什么的问题的话联系删除)

1.因为存在escapeshellcmd函数,所以在转义之后,在system函数中,"在经过hex2bin之后,就能够表示字符串"本身。很明显,POST一个cmd进去,然后通过escapeshellcmd函数对参数进行转义,然后进行逆天的正则,之后RCE。计算机采用小端存储,小端字节序存储:把一个数据的低位字节的内容,存储在低地址处,把高位字节的内容,存储在高地址处;DCB表示:它分配一段字节的内存单元,它每个操作数都占有一个字节,操作数范围为-128~255的数值或字符串。数据段:存放数据的段。

2024-05-22 22:39:52 1023

原创 JavaWeb--1.Servlet

​ 在pom.xml文件中加入相关依赖</</</</</</

2024-05-03 14:51:43 1121 2

原创 关于无参数RCE的一些奇技淫巧

​ 的payload来实行攻击的,大不了就出现了一些waf需要绕过。但是,有的时候,他们相关的waf特别奇葩,像是过滤了所有的字母以及数字什么的,另外,就是这篇博客最主要说明的题目,就是无参数RCE:​ 经过了它的过滤之后,最后只有a(b(c()));这样的payload才不会被过滤了。正则表达式 [^\W]+((?R)?) 匹配了一个或多个非标点符号字符(表示函数名),后跟一个括号(表示函数调用)。其中 (?R) 是递归引用,它只能匹配和替换嵌套的函数调用,而不能处理函数参数。

2024-04-06 21:10:31 751

原创 pwn学习笔记(7)--堆相关源码

​ 对于用户来说,只需要确保malloc()函数返回的内存不会发生溢出,并且在不用的时候使用free() 函数将其释放,以后也不再做任何操作即可。而对于glibc来说’它要在用户第一次调用malloc()函数之前对堆进行初始化;在用户频繁申请和释放时维护堆的结构’保证时间和空间上的效率;同时还要检测过程中可能产生的错误,并及时终止程序。​ 首先,先稍微说下几个相关的宏定义。

2024-04-04 21:28:30 915

原创 pwn学习笔记(6)--堆基础概述

​ chunk 被释放时,glibc 会将它们重新组织起来,构成不同的 bin 链表,当用户再次申请时,就从中寻找合适的 chunk 返回用户。不同大小区间 chunk 被划分到不同的 bin 中,再加上一种特殊的 bin,一共有四种:Fast bin 、Samll bin 、 Large bin 、和 Unsorted bin。这些bin记录在 malloc_state 结构中。fastbinsY :这是一个 bin 数组,里面有 NFASTBINS 个 fast bin。

2024-03-23 15:51:05 1044

原创 docker基本命令*(持续更新)

【代码】docker基本命令(持续更新)

2024-03-10 16:48:27 483

原创 preg_replace漏洞e模式函数执行

​ 这里我自己的理解是,只要一个正则表达式被一个一个括号包围,那么它就将被存放到一个临时缓冲区中,并且,如果存在多个正则表达式被括号包围,那么,就会从左到右依次存放在这个临时缓冲区中,另外,这个临时缓冲区是从1号开始的,也就是说,在正则表达式中,\1有着自己的含义,也就是访问这个缓冲区的第一个表达式,而两个\也是因为一个\要对另一个\进行转义。{1},这玩意能正常执行出来,由于我们没有给1赋值,他会给个警告,但是没问题,不影响我们的语句,所以这个时候我们的rce就实现了。,此时我们呢再执行这个。

2024-03-09 15:58:36 1192 1

原创 某些之前的漏洞的遗忘的记录*

​ 再某些文件上传的情景中,后端代码会先保存我们所上传的文件,然后再检查我们上传的文件是否含有风险,如果有的话会被删除,这时我们就需要和删除函数(例如:unlink()函数)来进行时间与线程上的竞争,争取在删除文件之前访问到该文件。​ 大佬们对gopher协议下了如下的定义:gopher协议是一种信息查0找系统,他将Internet上的文件组织成某种索引,方便用户从Internet的一处带到另一处。

2024-03-07 21:13:35 1077 2

原创 pwn学习笔记(5)--格式化字符串漏洞(未完全完成)

​ 格式化字符串函数可以接收可变数量的参数,并将第一个参数作为格式化字符串,根据其来解析之后的参数格式化字符串函数格式化字符串[后续参数]

2024-03-05 22:18:37 1537

原创 SQL无列名注入

​ 二次注入就是指以储存(数据库、文件)的用户输入被读取后再次进入到SQL查询语句中导致注入。

2024-03-03 00:07:52 1297 1

原创 pwn旅行之[NISACTF 2022]ezpie

​ PIE全称是position-independent executable,中文解释为地址无关可执行文件,该技术是一个针对代码段(.text)、数据段(.data)、未初始化全局变量段(.bss)等固定地址的一个防护技术,如果程序开启了PIE保护的话,在每次加载程序时都变换加载地址,从而不能通过ROPgadget等一些工具来帮助解题。​ 简单地说就是地址随机化。

2024-02-25 20:31:30 681

HECTF2023部分wp

2023年我参与了HECTF的校内竞赛,由于我学艺不精,本次比赛我只解出了六道题,在这里,将本次比赛我解出的所有题目的wp放在了这个文件中。

2023-11-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除