- 博客(20)
- 收藏
- 关注
原创 pwnstack-攻防世界
5.ls查看文件,然后发现有一个叫flag的文件,cat查看文件,得到flag。3.找到后门函数的开始地址。1.检查程序安全机制。
2025-09-21 01:00:00
267
原创 ret2text-CTFHub技能树
在main函数的汇编语言界面,由 sub rsp,70h(h:十六进制) 且在64位系统中,故要覆盖掉ebp,就要再加8字节。汇编语言的lea指令:用于加载有效指令到寄存器,类似于c语言中的**&**符号,可以获取数据的地址而不是数据本身。局部变量s,用户由gets()输入,只要达到特定长度,就可以覆盖掉栈帧中的返回地址。32位环境:EBP;寄存器保存区:存放函数执行过程中需要暂时保存的寄存器值。发现main函数中存在无限制的gets函数,存在栈溢出。返回地址:存放函数执行完毕后,程序需要返回到的地址。
2025-09-20 18:57:39
380
原创 2025陇剑杯现场检测
摘要:通过Burp Suite发现flag.php页面存在漏洞。首先利用浮点数比较绕过id参数检查(如1e0),获取admin权限。随后通过POST请求执行命令,但需绕过两个正则过滤:禁用ls/cat/find等命令字符和特殊符号。最终使用制表符替代空格,执行grep -r "" .成功获取flag。该过程演示了类型比较绕过和命令注入的技巧。
2025-09-20 18:49:51
288
原创 unseping(反序列化漏洞)
这篇文章分析了一个PHP反序列化漏洞利用的案例,通过构造特殊序列化数据绕过安全限制实现命令执行。文章首先解析了目标代码的执行流程,指出存在反序列化漏洞的风险点。然后详细演示了攻击步骤:1) 构造基础序列化对象;2) 使用${IFS}绕过空格过滤;3) 采用八进制编码绕过路径过滤。最终通过组合这些技术,成功执行系统命令获取flag。整个过程展示了如何分析代码漏洞、设计绕过方案并实施攻击链。
2025-09-20 18:38:45
777
原创 大二JAVA笔记(六)
是网络设备在网络上的唯一标识,由四个点分十进制数(IPv4)或八组十六进制数(IPv6)构成,用于定位网络中的设备。:是计算机上一个逻辑连接点,由一个0到65535之间的整数表示,用于标识特定进程间的网络通信服务。:是一种易于记忆的互联网地址,用于替代IP地址访问网络资源。域名通过DNS解析为对应的IP地址。:是网络通信的端点,由IP地址和端口号组合形成,定义了主机和应用程序间的通信路径。:是一种用于指定互联网上资源位置的标准格式,包含协议(如http)、主机名()、端口号、路径、查询参数等信息。
2024-11-14 20:41:45
356
原创 大二JAVA笔记(五)
Java的输入输出机制主要通过流(Stream)来处理数据的输入和输出。流是一个有序的、用于从数据源读取或向数据目标写入数据的字节序列。Java的I/O流位于java.ioReaderWriterJava通过这些流类提供了对文件、网络连接、内存缓冲区等多种数据源和数据目标的访问。
2024-11-14 20:33:33
644
原创 大二JAVA笔记(四)
FlowLayoutBorderLayoutGridLayoutJava的事件处理模型是基于委派事件模型(Delegation Event Model)的。事件处理的流程如下:事件处理步骤事件监听程序的作用事件监听程序的作用是监视事件源上的事件,并在事件发生时执行特定的处理逻辑。监听器接口中定义的方法会在事件发生时被调用,程序员在这些方法中实现对事件的具体响应。4.编写一个简单的用户登录程序,界面如图1所示,用户输入用户名和密码后,点击登录按钮后单出如图2所示的消息对话框,显示内容为:Welcomet
2024-11-14 20:23:41
684
原创 大二JAVA笔记(三)
异常是指程序在运行过程中出现的错误或意外情况,这些情况可能导致程序的正常流程中断。异常机制允许程序在遇到错误时进行处理,以避免程序崩溃。检查性异常(Checked Exceptions)这些异常在编译时被检查,必须要么通过try-catch块处理,要么在方法签名中用throws声明。常见的检查性异常包括等。非检查性异常(Unchecked Exceptions)这些异常在编译时不被检查,通常是程序逻辑错误引起的。包括运行时异常,如等。所有非检查性异常都是的子类。错误(Errors)
2024-11-14 20:09:26
1098
原创 大二JAVA笔记(二)
学号 姓名 性别 班级120410107 王还红 女 1204101120410115 杨冰 男 1204101120410211 李真骁 男 1204102120410315 刘玉坤 男 1204103120410403 王珊珊 女 1204104return sex;System.out.println("学号: " + number + ", 姓名: " + name + ", 性别: " + sex + ", 班级: " + team);
2024-11-14 19:58:38
377
原创 大二JAVA笔记(一)
JVM(Java Virtual Machine):JRE(Java Runtime Environment):JDK(Java Development Kit):JCP(Java Community Process):JSR(Java Specification Request):RI(Reference Implementation):TCK(Technology Compatibility Kit):JAVA_HOME:CLASSPATH:PATH:Java 程序通常由以下几个部分组成:
2024-11-14 19:42:15
883
原创 c++实现文本 ASCII 艺术
ASCII 艺术允许你使用字符来表示形状。在我们的例子中,这些形状是单词。小写字母将以其对应的大写字母形式显示。不在 [a-z] 或 [A-Z] 范围内的字符将显示为问号。你是否想过如何在传统的终端上模拟这种显示效果?我们想到了:使用 ASCII 艺术!你的任务是编写一个程序,将一行文本以给定的样式显示为 ASCII 艺术。接下来的几行:由 ASCII 艺术表示的字符串。以 ASCII 艺术形式输出文本。的 ASCII 艺术。
2024-11-05 21:25:01
595
原创 leetcode-3185
例如,1 天是 24 小时,2 天是 48 小时,3 天是 72 小时,以此类推。(怎么又是以两数之和为例hhh)如果按照昨天的思路,用暴力方法破解会超时。为单位的时间,返回一个整数,表示满足。定义为时间持续时间是 24 小时的。构成整天的下标对分别是。构成整天的下标对分别是。
2024-10-23 21:18:38
324
原创 C++/一元多项式的求导
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。
2024-10-20 15:49:25
327
原创 leetcode-1014
关于动态规划,今天先立个FLAG,明天再写,个观光景点的评分,并且两个景点。结果超出了时间限制。返回一对观光景点能取得的最高分。)组成的观光组合的得分为。,也就是景点的评分之和。它们两者之间的距离。
2024-09-23 21:35:46
414
原创 leetcode-2414
数模打完后一直萎靡不振。。。今天小菜鸟终于支棱起来了!继续加油(ง •_•)ง是由字母表中连续字母组成的字符串。换句话说,字符串的任意子字符串都是。"abc""acb""za"给你一个仅由小写英文字母组成的字符串s,返回其的 字母序连续子字符串 的长度。2共有 4 个不同的字母序连续子字符串 "a"、"b"、"c" 和 "ab"。"ab" 是最长的字母序连续子字符串。5"abcde" 是最长的字母序连续子字符串。脑子里有思路但是关于字符串的知识点忘干净了导致根本无法实现。
2024-09-19 20:56:10
511
1
原创 leetcode-2160
1.思路想麻烦了。可以直接将四个数排序后放入数组,取数组的第三四个数乘十再分别加上第一二个数。2.sort函数的用法sort(起始地址,结束地址,比较器);其中比较器可以省略,默认升序。3.接下来写题要加入Java的做法。
2024-08-31 19:47:48
634
2
原创 leetcode-2469
122.11 摄氏度:转换为开氏度是 395.26 ,转换为华氏度是 251.798。2.当修改为leetcode的初始模板后,未提供returnSize的值导致解答错误。36.50 摄氏度:转换为开氏度是 309.65 ,转换为华氏度是 97.70。1.函数没有使用leetcode提供的名称导致编译错误。给你一个四舍五入到两位小数的非负浮点数。与实际答案误差不超过。你需要将摄氏度转换为。
2024-08-28 21:14:55
564
原创 leetcode热题100-01
给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]
2024-08-27 21:03:42
459
原创 大一c++大题笔记
时,需要谨慎处理转换失败的情况,以避免访问无效的指针或引用。在 C++ 中,当一个派生类构造函数被调用时,它需要负责初始化自己的成员以及基类的成员。这个转换是在运行时进行的,因此可以动态地检查是否可以进行安全的类型转换。是C++中的一个运算符,用于在类层次结构中进行安全的向下类型转换(downcast)。语句执行时,程序会立即跳转到调用栈中的最近的异常处理语句,寻找匹配的。语句块中的代码可能会抛出异常,当抛出异常时,程序会立即跳转到匹配的。语句块用于包围可能会抛出异常的代码块,它的作用是捕获并处理异常。
2024-08-26 22:24:06
1170
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅