自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 The Planets: Earth

还知道了不是所有的80和443端口开着的,都能进行web页面访问,有些web服务不是按照IP提供站点内容,而是按照域名区分站点,所以需要将域名和IP,按照左IP右域名的方式加入到HOST文件中,那么当我访问这个域名时,就会进行DNS解析,将我的域名转换为IP地址。还有一个ltrace跟踪库函数,它可以帮助我查看程序的用户态逻辑,也就是它比较了什么,读了什么,调用了什么命令。将其添加到我电脑的host文件中,因为这不属于一个域中了,所以我直接访问网站无法访问,添加完就能访问了。

2026-03-24 20:49:06 343

原创 Matrix-Breakout: 2 Morpheus靶机

LinPEAS 是一个没有任何依赖的脚本,它使用/bin/sh语法,用于搜索在 Linux/Unix*/MacOS 主机上搜索可能的权限提升路径。),并用颜色突出显示可能的错误配置。这里也可以使用这个linpeas脚本,可以扫描出来漏洞,但是我的扫描不出来,但是无关紧要,这个也是扫描出这个漏洞,最后使用这个漏洞来进行提权的。然后上传成功以后,kali这边启动监听端口1234,然后在网站上访问3.php,就能看到kali那边上线了。这是一个脚本,要上传到靶机上,刚才已经使用蚁剑连接上了,所以直接传入就行。

2026-03-18 19:08:23 384

原创 PolarD&N[web困难]部分题解

随后对$user进行一个序列化,然后再当成filter方法的参数进行敏感字符替换,将处理后的值赋值给$ans,然后if对他进行一个unserialize反序列化,并且里面的sign字段的值要等于ytyyds,满足就读取flag.php内容,然后echo输出出来。然后将$user进行序列化,再通过filter方法的替换,将最后结果赋值给$r,然后if判断,经过反序列化的$r参数的索引值为1的值是否弱比较等于123456,如果满足,就读取flag.php的内容,并echo输出出来。

2026-03-17 20:07:05 405

原创 java基础学习

输入/输出流。

2026-03-16 20:20:14 40

原创 PolarD&N[web困难]部分题解

首先是include.php包含了一个config.php文件一个qwq类,里面有两个方法,一个wakeup方法,触发了会die退出并显示没有权限,另一个静态方法oao,调用它会触发它里面的show_source方法,里面的参数是config.php,也就是调用oao会显示config.php的内容定义了一个$str变量,会使用file_get_contents获取php://input的值。

2026-03-16 20:08:07 437

原创 java基础学习

return age;发生了报错,这是因为这个list必须是个Comparable接口的实现类那么需要在Person类中,使用这个接口,给Person类修改一下给上面添加上这个接口然后下面再写一下这个方法= 0){//比较名字//比较年龄return 1;return -1;@Override。

2026-03-15 20:19:12 35

原创 PolarD&N[web困难]部分题解

两个GET参数,text和file,分别给$text,$file,然后if检测是否有$text,然后读取$text文件的内容,是否强等于welcome to the 504sys,如果等于就echo输出$text文件的内容,然后进入正则表达式,里面检测的是$file的值,如果命中就echo一段抱歉话,然后exit退出,否的话就include包含$file,后面提示了一个imposible.php文件。,所以使用的是先将木马给进行base64编码,然后再使用php伪协议进行解码,这样就能绕过 <?

2026-03-14 20:37:55 458

原创 java基础学习

循环遍历数组。

2026-03-14 20:34:12 59

原创 java基础学习

这里面的File parent父路径,就相当于下面这个D : \File\File.txt 的"D : \File" 这一部分,然后child,就是他的文件名File.txt这部分,然后Pathname就是全的一部分。在java中,他的文件夹是文件夹,文件是文件,不能直接创建一个 D : \File\File.txt,需要分别创建 ,先创建文件夹,然后再创建文件。有需要频繁进行字符串拼接的时候,用StringBuffer,如果你只要一个字符串,给StringBuffer对象转换成String就可以了。

2026-03-13 21:47:56 214

原创 java基础学习

像String s1 = 什么的 ,这种直接赋值的字符串,是出现在字符串池当中的,当在栈内存中创建一个新的对象时,会先在字符串池中寻找是否有一样的,如果有一样的,就直接指向那个一样的,没有一样的再去创建新的。像String s2 = new String("什么的"),这种new出来的,是放在堆内存当中的,是一个一个独立的对象,所以直接 ==判断他们的值会不同。2.输入一个字符串,要求判断在这个字符串中大写字母,小写字母,数字,其它字符共出现了多少次,并输出出来。所以内存地址是一样的。

2026-03-12 20:03:23 245

原创 java小测验

学习完前面的内容,编写的一个基础的基于控制台的简单教务系统项目。一共有两份,一份是在同一份文件的,另一份是分别在两个文件的。TestStudents类。

2026-03-11 16:18:48 25

原创 java基础学习

摘要:本文介绍了Java数组的基本概念和使用方法,包括数组定义、初始化、遍历以及基本类型和引用类型数组的区别。同时讲解了异常处理机制,包括try-catch-finally语句块的使用、throw和throws关键字的区别,以及如何自定义异常类。文章还通过冒泡排序示例演示了数组操作,并展示了Arrays工具类的便捷方法。异常处理部分详细说明了异常的抛出和捕获过程,以及异常在方法调用链中的传递方式。

2026-03-10 19:04:14 220

原创 java基础学习

用abstract 修饰的类叫做抽象类,用abstract 修饰的方法叫做抽象方法。如果一个类中有抽象方法,那么这个类必须是抽象类抽象类不能被实例化,只能用来被继承抽象方法没有方法体,只有方法的声明抽象类的子类必须重写其继承的抽象方法还是上面的那个例子:将Weapon添加上abstract关键字它的其子类,像AK47或者M4a1都必须重写这个attack方法。

2026-03-08 19:30:51 54

原创 java基础学习

private:只有类内部可以访问default:类内部和同一个包下的其他类可以访问protected:不同包不同类不能访问,但是不同包,是它的子类也可以进行访问。

2026-03-07 22:28:49 59

原创 java基础学习

类是对一类事物的抽象对象是”真实存在“的。

2026-03-06 22:38:14 366

原创 java基础学习

可以实现某个具体功能的代码块增加代码的复用性降低编码难度方法不被调用是不会执行的对内隐藏细节,对外暴露接口[修饰符]<返回值类型|void> 方法名 ([参数列表]){//方法体[return 返回值]//void:表达没有返回值。

2026-03-05 19:50:21 435

原创 2023美亚杯个人赛[计算机取证系列]

(以计算机系统时区回答)找了一圈没发现7月15号的文件,但是突然一想,回收站里的那个名字就是写的7月15,打开看一下,看看是不是活动策划,发现还真是。系统痕迹 ---> USB设备使用痕迹 ---> 正常的USB设备使用痕迹。3号的都是选项中没有的文件所以就不管了,看到10号的中有一个是选项中的。系统痕迹 ---> 应用程序运行痕迹 ---> STEAM.EXE。用户痕迹 ---> 开机自启动程序 ---> 开机自动运行程序。系统痕迹 ---> 用户信息 ---> Elvis Chui。

2026-01-12 20:46:34 553

原创 [蓝帽杯 2022 初赛]计算机取证

要 taqi7的密码直接hashdump秒了然后将给进行解密。

2026-01-10 18:55:25 335

原创 春秋云境sql注入靶机

有两个功能,注册和登陆,弱口令登陆一下看看,发现没有弱口令,那注册一下看看。题目标注了这个cve是个sql注入漏洞,那么测一下上面的q参数是不是。没有反应,应该不是,这三个 选项都有个start,随便点击一个看看。最后发现一共有5列,那么测试一下他的数据库。--cookie=""表示他的cookie。成功看到flag表,那么查询里面的列。--columns表示爆破所有字段名。--dump表示把表内的数据都导出来。--tables表示爆破所有表名。--batch表示自动yes。--dbs表示爆破所有库名。

2025-12-30 20:23:30 278

原创 ctfshow[ xss 篇]

可以写下祝福语,既然是xss题目,那么直接xss语句,看看能不能弹窗发现可以,查看一下他的cookie说我不是admin,没有flag。

2025-12-27 22:31:38 756

原创 日常刷题记录

随便传入一个图片,会跳转到upload.php会有他的源码分析一下finfo_open():这是一个初始化函数,用于创建一个File information资源,可以想象成一个打开了一个专门用于"鉴定文件"的工具箱FILEINFO_MIME_TYPE:是一个预定义常量,表示文件的MIME类型部分那么这两个一组合,最终$finfo就有了鉴定文件的MIME类型部分的功能然后使用$finfo,来判断临时文件的MIME类型是否为zip,如果是zip,就exec执行里面的命令。

2025-12-26 21:06:24 890

原创 ctfshow的Yii框架反序列化

信息收集一下使用wappalyzer,看到他的框架是Yii的先放着,给其他的收集完。

2025-12-25 20:24:19 819

原创 每周的周赛

水一篇。

2025-12-24 21:22:25 292

原创 命名空间和一道练习的框架反序列化

phpnamespace 项目名\模块名\子模块;class User{} //类 项目名\模块名\子模块\Userfunction login(){} //方法 项目名\模块名\子模块\login()//常量 项目名\模块名\子模块\VERSION?1.如果在其他文件中想使用这个类,可以:使用全名:new 项目名\模块名\子模块\User();或通过use导入:use 项目名\模块名\子模块\User2.方法的调用方式在同一命名空间内可直接调用 login()

2025-12-24 09:42:39 1004

原创 [CISCN2019 总决赛 Day1 Web4]Laravel1

他是一个私有属性,触发了有一个if语句 ,判断本类的file属性是否存在这个文件,如果不存在,就将空数组赋值给本类的values属性,在赋值给本类的keys属性,然后返回为空,if语句外是一个三元运算符的简写,如果include包含$this->file文件不成功,就返回[[],[]],这里也是最后的结尾,可以进行一个文件包含。命名空间其实就像我们平时使用的绝对路径一样,只不过是在类名前面加了一个斜杠\,这就叫完全限定名称,不管你当前身处哪个命名空间,只要从\开始写,php就会从最顶层开始找。

2025-12-22 22:57:07 670

原创 [网鼎杯 2018]Comment

原理就是,在第一次在数据库中插入数据的时候,使用了转义字符,例如addslashes、get_magic_quotes_gpc、mysql_escape_string、mysql_real_escape_string等函数 ,addslashes函数有一个特点就是虽然参数在过滤后会添加斜杠\对单双引号进行转义,但是斜杠\不会插入到数据库中,在写入数据库的时候还是保留了原来的数据,然后 再取出的时候 还是取出的脏数据。看wp说这个文件的内容不全,要尝试下是否有其他版本的,用git命令查看下。

2025-12-21 20:12:42 684

原创 DC-2靶机

发现没有su这个命令 ,看 wp说这里需要rbash逃逸(rbash就是受限的bash shell,对用户的操作做了诸多限制,比如不能使用cd命令改变目录,不能随便修改PATH环境变量、限制导入功能等)发现无法访问,会跳转到http://dc-2/网站,那么访问一下这个,发现无法访问,给/etc/hosts中添加上。先输入sudo git branch --help config,然后再输入!nmap -p- -sS -sC -sV -min-rate 5000 -n -Pn 目标ip。

2025-12-20 20:33:01 975

原创 [CISCN 2019初赛]Love Math

然后定义了一个白名单,里面都是数学函数,下面是一个全局正则表达式,第一段是他定义的正则表达式 就是说它要以字母、下划线或扩展 ASCII字符开头,后面可以跟任意数量的字母、数字、下划线或扩展ASCII字符的字符串,然后$content是它要检查的字符,$used_funcs中是保存所有匹配到的结果,然后将$used_funcs[0]的值遍历到$func中,然后if检测,如果$func不在$whitelist这个数组中,就die退出。就例如:$content= "system($_GET['a']);

2025-12-19 23:24:34 585

原创 [CISCN2019 华北赛区 Day2 Web1]Hack World

这个是取出flag表中flag字段的第一行第一个字符的ascii码值,和后面的100进行一个比较,如果相同就返回1,否就返回0。这个语句是如果检测到flag表中的flag列的字段长度如果满足了就返回1也就是true,没满足就是0false。发现第一个字符为102,也就是f,然后看第二个,也就是将这个修改为2,然后找出他对应的ascii值。首先使用length查看一下flag表中的flag列的flag字段的长度为多少。这里因为自己写的脚本,会出现超时的情况,就让ai给修改了一下,成功得到flag。

2025-12-18 20:15:00 764

原创 命令执行绕过

直接闹麻了 ,命令执行绕不过空格的来了🤣,都能执行命令了,空格绕不过去直接全盘皆失赶紧补充一下自己的命令执行绕过知识😭。

2025-12-17 21:43:03 276

原创 [CISCN2019 华北赛区 Day1 Web2]ikun

首先是导入pickle和urllib,让AdminHandler继承一个object基类,然后定义一个__reduce__方法,然后里面的参数是当前对象,返回值为(eval,("__import__('os').popen('cat /flag.txt').read()",)),然后在进行一个实例化类,再进行一个反序列化,随后再让他进行一个url编码,最后打印出来。将反序列化的状态数据设置回对象的属性,他接收一个参数,这个参数是对象的状态数据(通常是字典形式),可以通过它恢复对象的状态。

2025-12-16 20:04:07 744

原创 [CISCN2019 华东南赛区]Web4

首先是看到他这里面有一个secret_key是可以自己构造的,结构为用生成的MAC地址初始化随机数生成器,再将random.random()生成的0~1的伪随机数小数,乘一个233,并转换为字符串就是他的secret_key,这里MAC地址通常出现在这几个路径下。首先就是先random.seed使用这个进行一个伪随机数初始化,这里的MAC地址要变成为十六进制,然后再利用random.random生成0~1的随机数乘一个233,注意!发现触发了waf,使用其他的试一试,最后发现 直接加路径也能进行访问。

2025-12-15 20:53:53 661

原创 [SWPUCTF 2018]SimplePHP

然后三元运算符判断GET传参file的值,然后赋值给$file,随后if检测$file的值如果为空,就echo输出一段话,然后将实例化一个Show类,将值赋值 给$show,随后检测$file是否存在 ,如果存在的话,就将$file的值,赋给Show类的source属性,然后再调用它的_show方法。里面告诉了上传的路径是upload/加文件名 ,如果有重复的就给删除 掉,然后还有一个白名单,只能上传gif,jpeg,jpg,png这几个文件没啥可用的。,后面的是它限制的 只能访问的目录。

2025-12-14 19:54:35 576

原创 [UUCTF 2022 新生赛]ezpop

这时候看UUCTF类,它最先触发的是wakeup方法,首先要满足他的if语句,让key为UUCTF,那么指定是这里逃逸无疑了,整段代码只有这一个需要满足的,接下来看里面的语句,首先是将本类的basedata属性进行一个base64解码,然后再进行反序列化的操作,既然这里的参数是basedata属性,那么链子的值是赋值给basedata的,然后这里name属性在key属性的前面,那么就是通过name的值,来逃逸key的UUCTF和我们的序列化的值了。rce方法,触发了会eval执行本类的cmd属性的内容。

2025-12-13 22:06:58 983

原创 php反序列化日常

一个destruct方法,触发了是 一个任意实例化类,类名为本类的className属性,结果赋值给$class,然后将本类的funcName属性赋值给$funcName,然后让$class作为对象名,调用它里面的$funcName方法 ,$this->args属性是它的方法参数。一个call方法,里面 接收两个参数$func,$argc,触发了会一个动态函数调用,$func是函数名,$arg的索引值为0的值是它的参数。下面是用来生成phar文件的,生成完的文件,在使用winhex将他的成员属性修改一下。

2025-12-12 20:08:36 852

原创 phar反序列化

记录学习phar反序列化的笔记^_^

2025-12-11 16:50:18 1018

原创 [SWPUCTF 2021 新生赛]babyunser

下面是实例化一个zz类,$filename作为他的参数,并将其结果赋值给$file,然后$file调用类中的getFlag()方法,并赋值给$contents,然后下面有个php代码它的内容为echo $contents;,那么flag就能被输出出来。一个getFlag方法,触发了会调用本对象的filter方法,下面是一个读取本对象的filename属性的文件内容,赋值 给$content,然后if判断语句,判断$content是否不为空,如果不为空就返回$content,为空就die返回404。

2025-12-10 19:32:45 695 1

空空如也

空空如也

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

TA关注的人

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