自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 递归时间复杂度(master),时间复杂度为O(NlogN)的排序

【代码】递归时间复杂度(master),时间复杂度为O(NlogN)的排序。

2025-03-15 19:45:23 214

原创 010的异或以及三种简单排序算法(冒泡,选择,插入)

【代码】010的异或以及三种简单排序算法(冒泡,选择,插入)

2025-03-14 16:51:57 157

原创 攻防世界—IgniteMe

中间的value先经过大小写转换后在经过 Str2[i] = byte_4420B0[i] ^ sub_4013C0(v7[i]);后与str2:“GONDPHyGjPEKruv{{pj]X@rF"比较如果为真则为flag。四处判断,长度,前面的value:EIS{和后面的value:} 以及中间的value。

2025-01-12 00:15:11 259

原创 [极客大挑战 2019]PHP

当成员属性数目大于实际数目时才可绕过wakeup。访问www.zip拿到源码.

2024-11-28 00:10:49 309

原创 [护网杯 2018]easy_tornado

这里有一个hint点进去看看,他说md5(cookie_secret+md5(filename)),所以我们需要获得cookie_secret的value。输入{{handler.settings}} (settings 属性是一个字典,它包含了Tornado应用的全局配置信息)根据题目tornado,它可能是tornado的SSTI。这里吧filehash改为NULL.是tornado的SSTI。拿到cookie_secret。

2024-11-27 23:54:39 307

原创 [NewStarCTF 2023 公开赛道]逃1

我们只需要把上面的红色部分过滤掉就可以了,而过滤则通过waf来逃逸掉,waf可以把bad变成good,每一个bad就可以过滤一个char,绿色部分就是我们要过滤的数量为27,所以需要27个bad.这段代码分为三部分:1.war函数,2.GetFlag类,3.GetFlag类对象的定义,waf过滤以及反序列化 .很经典的的一道题,键值对逃逸,改变cmd的value,去获取flag.让我们先来看一下未经过waf过滤后的value.此时反序列化时,红色部分就会被过滤掉.开始构造payload。

2024-11-04 13:26:44 742

原创 [MRCTF2020]PYWebsite1

定义:X-Forwarded-For是一个HTTP请求头字段,用于识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址。如果输入的密钥是对的那么我们就直接跳转到flag.php页面。那么我们直接访问😎,他不带我们去我们自己去.获得flag,游戏结束~

2024-11-02 11:40:48 514

原创 [HarekazeCTF2019]encode_and_encode1

所以我们需要绕过两个过滤,一个是最开始的 黑名单,也就是is_valid这个函数,然后就是$content = preg_replace('/HarekazeCTF\{.+\}/i', 'HarekazeCTF{}',这个函数加工了。而绕过 preg_replace()这个函数就更简单了,直接用伪协议php://filter/convert.base64-encode/resourc=/flag,使/flag的内容被 filter 处理,最终通过 base64 编码的形式返回.

2024-10-30 19:09:39 544

原创 [Zer0pts2020]Can you guess it?1

而basename($SERVER["PHP_SELF"]) config.php的实现就用上面的basename漏洞来实现。一个正则表达式,一个highlight_file(basename($SERVER["PHP_SELF"])).书接上回,我们可以通过 highlight_file(config.php)来读取flag.basename漏洞,basename可以匹配到可见字符,但是无法匹配不可见字符。所以我们在后面+点东西就可以绕过了,而+的东西就是不可见字符.点击Source,去看一下.

2024-10-30 13:48:17 476

原创 [网鼎杯 2020 朱雀组]Nmap1

知识点:escapeshellarg和escapeshellcmd函数的绕过.nmap使用方法.进入页面是一个NMAP工具的使用页面知识点:Nmap(Network Mapper)是一款功能强大的网络扫描工具,它能够帮助用户发现网络上的设备、开放的端口以及运行的服务。-sU-T0-T5这里试一下多条命令执行.;被转义了.那么看下页面源代码看看.他这里有提示:那么我们可以通过以下知识点写入webshell,或将flag读入指定文件在读取指定文件内容即可:从文件中读取IP地址列表进行扫描。

2024-10-10 00:21:16 1395

原创 数论基础持续更新中~

如果整数 a , b , c 之间存在关系 a = b · c 且 b ≠0,则称 b 整除 a 或者 a 能被 b 整除,且 b 是 a 的因子或除数, a 是 b 的倍数,记为 b | a。可以理解为 a = b · c 且 b = a · c 这里的 a b 可以判断出是相同的,即也是相同的 故 a 和 b 应该是相反数 有 a = 士 b。1、设 a , b , c∈Z ,如果 c l a 且 c | b ,则称 c 是 a 与 b 的公因子或公约数。可以理解为 a = a · 1。

2024-10-09 17:44:59 545

原创 Linux基础入门 --17 DAY(软件包管理)

ABI即Application Binary Interfacewindows与Linux不兼容库级别的虚拟化:Linux:WINE。

2024-10-09 17:30:09 582

原创 Linux基础入门 --16 DAY(压缩与打包)

格式: 常用选项: uncompress file.Z 解压缩 zcat file.Z 不显示解压缩的前提下查看文件文本内容 示例: 格式: 常用选项: 范例: 示例: 格式: 常用选项: 示例: 注意:预览使用bzcat 格式: 常用选项: 范例: 注意:预览使用xzcat

2024-10-08 19:30:39 548

原创 Linux基础入门 --15 DAY(文件查找工具使用)

locate查询系统上的预建的文件索引数据库/var/lib/mlocate/mlocate.db 索引的构建实在系统较为空闲时自动进行(周期任务),执行updatedb可以更新数据库 索引构建需要遍历整个根文件系统,很耗费资源 工作特点: 1.查找速度快 2.模糊查找 3.非实时查找 4.搜索的是文件的全路径,不仅仅是文件全名 格式: 常用选项: -i 不区分大小写搜

2024-10-04 20:40:21 831

原创 欧几里得算法--(密码学基础)

而我们要证明的是gcd(6,16)=gcd(6,16 mod 6)=gcd(6,4) 也就是证明,gcd(a,b)=gcd(b,a mod b),由上图我们可知无论最有可能的最大公约数如何变化(上图为6,3,2),最终解释权始终在4的手上,因为无论最有可能的最大公约数如何变化他都是6个公约数,6和16中的6始终可以mod尽,关键在于4能不能和那个公约数mod尽,所以以此类推可以证明:gcd(a,b)=gcd(b,a mod b),以及一定是最大公约数.第二个问题:问什么求出来的就一定是最大的公约数呢?

2024-10-03 15:46:47 540

原创 Linux基础入门 --14 DAY(SHELL脚本编程基础)

面试题:为什么x和y的值为空,i和j却有value呢?echo x=$x;echo y=$yx=y=1 2i=1 j=2解答:管道两边分别为两个独立的子进程解决方案:echo x=$x;echo y=$y;x=abcy=def。

2024-10-02 01:14:14 385

原创 特殊的 BASE64 1

我们这里可以发现有一个rightflag:mTyqm7wjODkrNLcWl0eqO8K8gc1BPk1GNLgUpI==还有一个base64Encode(&result);,用来进行base64编码,base64编码表估计就在里面呢.这个一看题目就是base64编码表被改了.得到flag,游戏结束~载入IDA(64bit)找到了,开始构造exp。

2024-10-01 07:00:00 601

原创 [FlareOn3]Challenge11

意思是我们输入的value的变量赋值给 NumberOfBytesWritten,同时NumberOfBytesWritten又经过sub_401260()函数的一系列操作,的到Str1的value,并且和Str2,进行比较如何相同则返回Correct.每次取三个字符,并将其按照每6个bit为一位的方法,进行编码转化,转换的内容是通过byte_413000的数据进行转换的,而最后一个for循环则是判断是否4个为一组的,如果不是则在后面加上等于号.在补零后形成的8位字节中,实际使用的只有低6位。

2024-10-01 06:00:00 510

原创 Linux基础入门 --13 DAY(SHELL脚本编程基础)

1.shell支持算数运算,但只支持整数,不支持浮点数2.bash中的算数运算符% 取模** 乘方。

2024-09-30 17:15:48 931

原创 vmware 操作系统安装

下面选择要装入的磁盘,建议别装c盘.下面选择你要装入的iso镜像。

2024-09-30 00:05:12 371

原创 Linux基础入门 --12 DAY(SHELL脚本编程基础)

内置变量 : 如 PS1 , PATH ,HISTSIZE 用户自定义变量 不同变量存放数据不同,决定了以下 1.数据存储方式 2.参与的运算 3.表示的数据范围 1.字符 2.数值:整型,浮点型,bash不支持浮点数 变量的生效范围等标准划分变量类型 1.普通变量:生效范围当前shell进程,对当前shell之外的其它shell进程,包括当前shell进程的shell子进程均无效

2024-09-28 23:33:39 1204

原创 wireshark1

注意看title,管理员的密码即为答案,那么咱们就直接去过找POST请求的数据包就可以了。找到flag,游戏结束~

2024-09-26 20:44:51 261

原创 [NewStarCTF 2023 公开赛道]Begin of PHP1

LEVEL5: 哈哈又是数组绕过,这里要输入的POST内容不能是字母和数字,所以我们可以用数组,当然也可以不用只要输入的value为真且不是正则表达是匹配到的范围就可以了,flag5=. ,或者flag5[]=love。LEVEL1: 因为hash函数无法解析数组会返回false,直接用数组绕过key1[]=1&key2[]=2。LEVEL4: 没错继续用数组绕过,is_numeric()无法解析数组会返回false,而且数组大于2023.至于为什么大于2023,我们来做个小实验.key5[]=5。

2024-09-26 18:13:44 715

原创 [极客大挑战 2019]RCE ME1

之前我们提到了,他禁用了很多函数方法,我们可以通过下面蚁剑的绕过disable_functions的插件进行绕过.看来禁用的还是比较多的一会可能需要使用这些被使用了disable_function()的函数了.意思就是我们传入的code的value要到达eval()函数,我们需要绕过两个过滤。首先是长度不能大于40,之后便是我们传入的内容不能是大小写字母以及0-9的数字.之后构造webshell,由于php版本的问题呢,我们不能直接构造。绕过方法呢可以使用取反绕过,以及异或绕过.,我们需要构造构造成。

2024-09-26 07:45:40 874

原创 [WMCTF2020]Make PHP Great Again 2.01

又是php代码审计,开始吧.这不用审吧,啊喂.意思就是我们要利用require_once()函数和传入的file的value去读取flag的内容.,貌似呢require_once()已经被用过一次了,直接读取还不行,看一下下面的知识点.

2024-09-22 19:58:18 915

原创 [SUCTF2019]SignIn1

无壳,载入IDA.搜索找到main函数开始分析.这段代码是一个使用GMP(GNU Multiple Precision Arithmetic Library)库实现的简单加密挑战程序。它模拟了一个“签到”流程,要求用户输入一个标志(flag),然后验证这个标志是否符合特定的加密条件。

2024-09-13 11:56:46 1559

原创 [羊城杯 2020]Blackcat1

我们无法知道它(第一次加密)的环境变量的value,但由于我们知道当数组进行sha256加密时,返回总为NULL,我们就可以控制$clandestine(第二次加密)这个key的value=NULL从而控制hh的value.意思是我们要保证Black-Cat-Sheriff 和 One-ear 两个参数的POST值存在的同时Black-Cat-Sheriff的值要等于One-ear经过sha256加密后的值($hh),最后通过exec这个危险函数来获取flag.是为了不被前面的nc影响.

2024-09-12 17:13:09 602

原创 [BSidesCF 2019]Kookie1

进入页面,他告诉我Login as admin :作为admin登录,We found the account cookie / monster。而且这个题目看着和cookie就有关系,感觉是cookie伪造.:我们发现了账户cookie/monster.那就直接去伪造cookie.获取flag,游戏结束~

2024-09-11 21:36:26 240

原创 [FireshellCTF2020]Caas1

可以试一下预处理报错,将头文件改成 "\flag" 尝试包含一下.发现下载了一个文件,打开后感觉没啥用,应该是编译好后给你的文件.进入页面发现是让我么输入code然后他去处理,那就输一下试试.它报错了,可以看出这是个C语言的报错,那么传入一下C语言代码.2.#include " " 预处理报错。拿到flag,游戏结束~

2024-09-11 18:56:18 340

原创 bestphp‘s revenge1

进入这个页面又是令人激动的代码审计环节.不过再次之前呢先补充一些弥足珍贵的知识点.

2024-09-11 12:55:43 1240

原创 Linux基础入门 --11 DAY

查看ssh连接数最多的前10个。

2024-09-10 13:06:10 627

原创 Linux基础入门 --10 DAY

格式:常见选项:-E:显示行结束符-A:显示所有控制符-n:对显示出的每一行进行编号-b:对非空行进行编号-s:压缩连续的空行成一行范例:3 $

2024-09-09 11:47:34 1356

原创 [N1CTF 2018]eating_cms1

是个parse_url漏洞利用,这段代码想让我们输入的url地址问好后过滤了"flag","manage","ffffllllaaaaggg",所以我们可以推测存在“flag","manage","ffffllllaaaaggg"这个函数通常很安全,但如果不正确地使用或当输入的 URL 格式异常时,可能会引发一些潜在的问题或误解,但这并不直接等同于传统意义上的“漏洞”。实际上,它仅仅是一个解析工具,并不提供安全验证或清理功能。可能无法正确解析这些部分,尤其是在路径(path)或查询字符串(query)中。

2024-09-08 18:34:16 1007

原创 Linux基础入门 --9 DAY

vi是Unix及类Unix系统(如Linux)下最基本的文本编辑器,全称为“visual interface”,即视觉界面。尽管其名称中包含“visual”,但vi编辑器实际上工作在字符模式下,并不提供图形界面。vi编辑器以其强大的功能和灵活性著称,是Linux系统中不可或缺的工具之一。命令模式(Command Mode):启动vi后默认进入此模式。在此模式下,用户可以通过键盘输入各种命令来控制光标的移动、文本的复制、粘贴、删除等操作。插入模式(Insert Mode)

2024-09-08 11:57:47 1154

原创 Linux基础入门 --8 DAY

chmod命令是Linux和Unix系统中用于改变文件或目录权限的强大工具。通过数字模式和字母模式,用户可以灵活地设置文件或目录的访问权限,以满足不同的安全和管理需求。在使用时,需要注意权限设置的合理性和安全性,以避免潜在的风险。定义:mask是ACL中的一个有效权限掩码,表示允许任意类型用户的更大权限。它用于在权限完全从基础权限集中得到计算后,确定文件或目录的最终权限。作用权限控制核心:mask是ACL控制权限的核心部分之一,通过限制基础ACL权限来控制权限授予。权限限制。

2024-09-07 15:03:08 696

原创 [羊城杯 2020]Easyphp21

这里呢是要我们绕过一个正则匹配,同时要通过下面的exec函数去获取flag值.这里有一个README文件那就读一下发现是GWHT账户加密过的密码.由于呢正则表达式过滤了php,所以我们可以用

2024-09-06 20:44:14 1100

原创 Linux基础入门 --7 DAY

Authentication:认证,检验用户身份Authorization:授权,不同用户设置不同权限Accounting|Audition:审计当用户登陆时,系统会自动分配令牌token,包括用户标识和组成员等信息。

2024-09-06 13:06:08 1298

原创 Linux基础入门 --6 DAY

程序=指令+数据输入数据:input输出数据:output打开的文件都有一个fd:file descriptor (文件描述符)Linux给程序提供了三种I/O设备:1. 标准输入(STDIN) 0 默认接受来自终端的输入2. 标准输出(STDOUT)1 默认输出到终端窗口3. 标准错误(STDERR)2 默认输出到终端窗口范例:total 02940total 0。

2024-09-05 16:26:51 653

原创 Linux基础入门 --5 DAY

定义:inode是“index node”的缩写,中文译名为索引节点或i节点。它是文件系统中的一种数据结构,用于存储文件的元数据(metadata),即除了文件名以外的所有文件信息。作用:inode节点主要用于存放文件和目录的基本信息,如文件的字节数、文件拥有者的User ID、文件的Group ID、文件的时间戳(ctime、mtime、atime)、链接数(有多少文件名指向这个inode)以及文件数据块(block)的位置等。这些信息使得系统能够高效地管理和访问文件。硬链接。

2024-09-04 13:57:49 434

原创 [SUCTF 2018]annonymous1

当然还没有结束 ,尝试了几次%d=1后突然就失效了,然后就尝试%d=2又成功了,之后经过我多次的尝试当%d递增到9后他又回到了%d=1,而且每次%d的变动都是经过了几次的重复才会递增,格式为:%00lambda_%d ,而%d则是一个计数器会递增,用来记录create_function()这个函数执行了多少次.这说明这个服务器可能是一个多进程模式,每次请求都会有一个新的php环境(有限),所以%d会递增(存在规律).所以我们可以通过调用那个匿名函数(%d=1)来实现cat flag.php的操作.

2024-09-03 19:14:34 628 1

Linux从入门到精通

Linux从入门到精通

2024-09-29

Shell从入门到精通

Shell从入门到精通

2024-09-29

字典,Fuzz,超级全面

Fuzz字典超级全面

2024-09-08

空空如也

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

TA关注的人

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