自定义博客皮肤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)
  • 收藏
  • 关注

原创 [BSidesCF 2020]Hurdles

提示这个转发给我,提示给出了X-Forwared-For,猜测将X-Forwared-For修改为127.0.0.1,使用-H参数添加HTTP请求头 X-Forwared-For:127.0.0.1。提示:抱歉,我原本期望Cookie中包含HTTPCookie(状态管理机制)RFC的编号,来自201。提示需要使用代理,需要额外的代理转发,尝试使用1.1.1.1,构造传参。提示要有cookie, 猜测参数名为Fortune,使用参数-b。所以输入/hurdles,返回提示讲要使用PUT请求方法。

2026-03-24 21:23:02 182

原创 [极客大挑战 2020]Greatphp

PHP 内置的 Error 和 Exception 类都有 __toString() 方法, 意思就是当这两个类的对像需要被转换成字符串的时候就会调用 _toString(),当在进行md5()以及sha1() 的强类型比较时,PHP 会将对象隐式转换为字符串,从而触发其内部的 _toString()魔术方法。返回的结果是一样的,所以MD5和sha1()结果是一样的,所以我们可以通过上面的特性来绕过强类型比较。所以,我们考虑php中的内置类,也就是原生类。类名: 错误信息 in 文件名:行号。

2026-03-24 21:20:11 323

原创 JAVA学习笔记day06

方法是程序中最小的执行单元public static void 方法名() {方法体(就是打包起来的代码);方法名();方法必须先定义后调用,否则程序将会报错方法的定义要写在main方法的外面,类的里面方法的调用是在main方法里面调用两次游戏playGame();playGame();System.out.println("选择人物");System.out.println("准备开局");System.out.println("对线");

2026-03-18 16:23:51 481

原创 [HFCTF2020]EasyLogin

用新生成的JWT来替换掉原来的JWT,然后讲username改为admin(当时做的时候就忘记改了,发现返回的是false,浪费了一些时间)查看源代码但是没有发现什么,但是抓登录的数据包时发现了jwt,所以这应该是通过修改jwt中的权限信息来获得admin权限。中查看,jwt信息格式:前两部分均是base64加密,第三部分加密方式为第一部分声明的加密算法结合密匙进行加密。登录成功,发现提示讲flag就在这里,这里有输入框,输入flag,点击GET FLAG。admin登录成功后,查询flag,然后抓包。

2026-03-17 20:08:47 277

原创 [NPUCTF2020]ezinclude

页面显示的 array(2) { [0]=> string(1) "." [1]=> string(2) ".." } 是典型的 PHP scandir() 函数的输出结果,表示当前目录下只有“当前目录 (.)”和“上级目录 (..)”。然后就可以查看/tmp目录下phpFuLK0i文件发现并不能直接访问tmp目录下的文件../一层一层尝试即可,访问执行后发现flag在phpinfo页中。查看页面源代码发现md5($secret.$name)===$pass,我们根本就不知道$secret的值,所以就。

2026-03-17 20:05:18 76

原创 polarctf2025秋

这段代码的大致意思是只允许上传图片文件,(但是这个可以在进行抓包进行修改后缀名来绕过),上传的文件要先进行base64编码然后再进行MD5编码然后再带上原本的文件后缀名:facf076347701efa02f7d77e64b4f8a0.php,然后将文件放到根目录下的uploads目录下面。但是看url会发现./ghzgouheizi.php?在查看源码中发现了,我们这里有 ,添加前端验证,限制转账金额在1-9之间,这是前端验证,我们可以抓包进行修改转金额。先看看文件上传,上传一句话木马文件。

2026-03-15 21:06:36 790

原创 JAVA的学习笔记day05

数组指的是一种容器,可以用来存储同种数据类型的多个值数组容器在存储数据的时候,需要结合隐式转换考虑。例如:int类型的数组容器 :booean和 doule是不可以存入的 但是byte short int是可以存入的例如:double类型的数组容器中byte short int longfloat double都是可以存入的建议:容器的类型,和存储的数据类型保持一致初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程。

2026-03-13 20:53:40 622

原创 Java学习笔记day05上

2.判断,写一个循环,从2开始判断,一直判断到number-1为止看这个范围之内,有没有数字可以被number整除,定义flag为false这样能被整除的都是false然后跳出循环,然后再判断,如果flag为true,就会输出number为一个质数,如果number不是一个质数,那就会执行第一个循环中的if,这时flag就是false,然后跳出这个循环,到下一段代码if的判断,这时flag是false所以会返回number不是一个质数。条件判断语句可以空着不写,如果不写,默认表示true,循环一直进行。

2026-03-12 21:04:44 378

原创 Java学习笔记day04

重复的做某件事情具有明确的开始和停止标记。

2026-03-11 19:51:14 335

原创 JAVA学习笔记day03

在数学中,一个数据x,大于5,小于15,我们可以这样来进行表示:5<x<15。在Java中,需要把上面的式子先进行拆解,再进行合并表达。例如:5<x<15拆解为:x>5和x<15合并后:x>5&x<15关系表达式?表达式1 :表达式2;先运行前面的关系表达式,如果关系表达的结果为true就执行表达式1,如果为false就会执行表达式2.求两个数的较大值//整个三元运算符的结果必须要被使用//还可以直接打印出来System.out.println(number1 > number1?

2026-03-09 20:52:53 462

原创 JAVA学习笔记day02

/1.定义byte类型的变量//数据类型 变量名 = 数据值;//2.定义short类型的变量//3.定义int类型的变量int c = 30;//4.定义long类型的变量//在数值的后面需要加上一个L作为后缀,//L可以是大写也可以是小写但是建议是大写//5.定义float类型的变量//在数值后面需要加上一个F作为后缀//6.定义double类型的变量//7.定义char类型的变量char h = '中';//8.定义boolean类型的变量。

2026-03-09 20:45:33 298

原创 BUUCTFweb

所以这个payload是利用 /proc/self/root 创建超深的软链接嵌套,使 PHP 的路径规范化,逻辑是在 require_once 的哈希比对阶段失效,让 PHP 误以为这是另一个不同的文件,从而绕过 require_once 的文件已包含检查。理论上,无论嵌套多少层 /proc/self/root,最终的真实路径都应该解析为 /var/www/html/flag.php。/proc/self: 是一个指向当前进程目录(/proc/<pid>/)的符号链接。

2026-03-09 18:17:53 276

原创 [羊城杯2020]easyphp

这部分虽然看起来是一个注释,实际上是攻击者的恶意代码。如果服务器允许使用 .htaccess 文件,并且对用户上传的 .htaccess 文件没有进行严格的过滤和验证,可以上传包含恶意配置的 .htaccess 文件,将普通文件解析为 PHP 代码,从而实现 Web Shell 的功能。这个 payload 是通过构造特定的请求参数,尝试利用 .htaccess 文件的配置功能来执行恶意代码,以达到读取服务器上可能存在的 flag 文件内容的目的,通常应用于存在文件上传或参数可控漏洞的 Web 应用场景。

2026-03-08 21:36:54 545

原创 BUUCTFweb

session可控,所以构造PHPSESSID的值,改值长度为32位后缀改为.php且为string型,然后就会在/runtime/session/目录下产生一个php文件我们先来看看session目录下的php文件内容是什么。文件包含和SQL注入等攻击方式一样,文件包含漏洞也是一种注入型漏洞,其本质就是输入一段用户能够控制的脚本或者代码,并让服务端执行。解码发现是一段路径, 这是任意文件下载漏洞, 利用任意文件下载漏洞,下载一个/flag文件,得到flag。登录后在搜索处输入<?

2026-03-08 21:00:21 447

原创 JAVA学习笔记day02

变量就是在程序中临时存储数据的容器。但是这个容器中只能存一个值。数据类型:限定了变量当中能存储什么类型的数据。如果存储10,就是整数型如果存储10.0,就是浮点型变量名:其实就是这个容器的名字。当以后想要使用变量里面的数据时,直接使用变量名就可以了。数据值:真正存储在容器中的数据。等号:赋值,把右边的数据赋值给左边的变量。

2026-03-06 20:50:20 261

原创 JAVA的学习笔记day01

对于0基础的同学来说,刚入门不要追寻知识点的深度,要追寻知识点的广度,不用把一个知识点学习的太深入,要学习如何去用,学习多的知识点,并尽可能的将多的知识点综合地运用起来,先锻炼我们的思维能力。台式机,安卓手机,iPhone手机,他们其实都是计算机,计算机干的事情就是严格的执行人的指令,但是目前的科技条件下,电脑仍然有一个很大的短板,这个短板是?大多数程序都是顺序结构,计算机一步一步的执行我们的指令,请大家为黑马机器人排列指令,完成机器人进屋的操作。计算机不能思考,那他是如何工作的呢,下面的描述哪个是对的?

2026-03-06 20:47:53 198

原创 polarctf2025夏季

发现两个admin登录页面,估计是在这里伪造cookie,因为这两个路径显示的就像是admin登录处,在这里登录成admin管理员因该就能看到flag了,但是这有两个admin登录,分别访问一下,试一下伪造cookie看看哪一个能看到cookie。查看源代码,提示偷偷告诉你:auth的值需要是user:admin,但它的检查逻辑可能进行了一些编码,比如:base64......但在响应中发现hidden,这是源代码,而hidden是隐藏的意识,可能是因为这个才不会显示页面内容,删除它,就出现了一个输入框。

2026-03-03 16:24:36 832

原创 polarctf2025年春季

尝试了admin admin123456发现登录成功了,但是是普通用户,但是有一个社工密码生成,我们可以使用这个来生成密码,然后找一个用户名密码本来爆破出来管理员账户。提示:-账号是coke--><!,老弟自己翻去-->所以账号是coke,密码可能是coke-lishuai,尝试一下,成功登录。无论输入什么都是 这是内部消息,我不能说,你只能自己找 ,输入一句话木马,蚁剑连接也是不行。是跳转到了gougougou.php页面,但是这个页面是一个空白的页面,查看源代码也没有什么内容是空白的,使用伪协议读取。

2026-02-27 18:25:38 808

原创 polarctf2024夏季简单和中等

打开是一个输入框,我以为是sql注入,但是我输入什么它都没有反应,抓包和源代码也是没有什么信息。的值进行正则匹配,过滤掉一些常见命令和字符 ,几乎过滤了所有的能想到的命令执行的函数。如果十六进制开头是数字那么,变量会被判断为数字,从而报错无法执行。根据题目提示先进行目录扫描,发现flag.php文件,访问此文件。查看源代码,提示flag就是在这,想到了php伪协议。上传一张带有一句话木马的图片,抓包,该文件的后缀。DOM,而题目又是exx,所以可能是XXE漏洞。查看源代码,发现flag,但是是错误的。

2026-02-26 20:33:10 723

原创 polarctf2024春季

根据题目的名字upload:robots.php,返回一半的flag,并且返回了一个禁止访问的路径,访问一下看看。__call() 在对象中调用一个不可访问的对象时被调用,比如一个对象被调用时,里面没有程序想调用的属性。__wakeup() 执行unserialize()时,先会调用这个函数,改属性键值可绕过。输入1'/**/order/**/by/**/2#,正常返回,过滤了空格。输入1'/**/order/**/by/**/6#报错,说明字段数为5。

2026-02-26 20:06:42 694

原创 2023冬季简单

这个函数不会检查变量 $id 是否存在,如果通过其他方式传入数据给变量$id ,且当前$id中数据存在,它将会直接覆盖掉。发现a[0]的值确实被更改了,那么接下来就简单了,先构造一个cmd=|ls;,发现回显了flag.php,但是不能直接读取,我们尝试用读取ls的命令。在文件上传的过程中,服务器端通常会对上传的文件进行验证,以确保上传的文件类型是安全的。双写绕过,双写php,返回一段路径,蚁剑连接,得到flag。

2026-02-25 22:17:29 450

原创 PCTFweb部分

接着就是使用子类来进行命令执行 {{ [].__class__.__base__.__subclasses__()[158].__init__.__globals__['popen']('ls /').read() }}输入{{' '.__class__.__mro__[-1].__subclasses__()}}输入I want flag后得到了JSFuck代码,上面提示要在控制台中输入JSFuck代码。cat /flag尝试是不是命令注入,但是输入什么便是什么所以不是命令注入。

2026-02-25 21:48:59 646

原创 [BJDCTF2020]EasySearch

ssi可以赋予html静态页面的动态效果,通过ssi执行命令,返回对应的结果,当在网站目录中发现了.stm .shtm .shtml或在界面中发现了显示动态时间和显示客户端 IP, 就容易产生ssi注入,此处问题的其注入格式为:<!--#exec cmd="命令" -->。--#exec cmd="cat ../flag_990c66bf85a09c664f0b6741840499b2" -->,结果如下。--#exec cmd="pwd" -->,抓包,将url的值复制下来访问。

2026-02-24 21:36:32 399

原创 [CISCN 2019 初赛]Love Math

在php中数组访问可以用{}来代替[],所以$_GET{pi}等价于$_GET['pi'],所以$_GET['pi'] = 'system' → $$pi{pi} = 'system',所以$_GET['pow'] = 'ls /' → $$pi{pow} = 'ls /'c=base_convert(55490343972,10,36)(0)就是phpinfo(0)所以($$pi{pi})($$pi{pow})就是 (system)(ls /)$pi的值是_GET,所以$$pi等价于$_GET。

2026-02-23 20:23:34 513

原创 buuctf两道题目

但是分号也被过滤了,但是在php中``反引号也是可以执行系统命令的,所以可以使用php短标签加上``反引号来执行命令,这里还过滤了空格,但是可以使用%09或者\t制表符来代替,执行好命令后可以来查看index.php文件来进行查看。即使文件被 unlink() 删除,只要进程仍持有其文件描述符(未 close()),就可以通过 /proc/<pid>/fd/<fd> 读取内容。猜测是否会有任意文件读取,先写/page?/proc/pid/fd/ 这个目录包含了进程打开的每一个文件的链接;

2025-12-30 21:52:18 1068

原创 XSS详解

跨站脚本攻击(也称为 XSS)是一种 Web 安全漏洞,攻击者可以利用它来破坏用户与易受攻击应用程序的交互。它允许攻击者绕过同源策略(该策略旨在隔离不同的网站)。跨站脚本攻击漏洞通常允许攻击者伪装成受害者用户,执行用户可以执行的任何操作,并访问用户的任何数据。

2025-12-30 14:04:46 874

原创 [BJDCTF2020]Mark loves cat

打开题目便是这样的,查看源代码没有什么发现,进行目录扫描返回如图HTTP是一个标准的状态码,表示服务器在特定的时间内收到了来自你 IP 地址的过多请求。为了保护带宽和防止被攻击(如 DDoS 或暴力扫描),服务器会自动封锁或拒绝你的后续请求在后面给加上也是不可以尝试一下看看有没有git源码泄露,因为这个也可以通过输入/.git来判断输入/.git,如果返回403就是存在git源码泄露。

2025-12-26 22:01:02 336

原创 2024年秋季中等困难(没有Java题)

就是通过GET传入名为data的参数,将传入的值$data反序列化后赋值给$user,判断$user是否是User类中的对象,是就调用getInfo(),generateToken() ,displayProduct()这些方法,并将调用的结果输出出来,判断是不是管理员用户,是就读取flag。发送,返回路径,根据上面的php代码,构造/include.php?打开便是这样,要找到隐藏的文件,查看源代码,抓包,目录扫描都没有发现隐藏的文件,再看页面发现就。上传图片马,抓包,将后缀名改为双重后缀名,

2025-12-24 20:56:49 765

原创 2024年冬季中等困难

看了在框中输入就是POST传rce参数,但尝试输入cat f*,没有反应,只有no.php文件中有waf,有可能是有过滤,看no.php文件不是只过滤>,/,flag,//,../,cat f*也没有被过滤的元素,可能没有f开头的文件,flag可能在根目录下,那就尝试看看能不能删除no.php文件。小鬼我的时间不多了,懂我的意思吧.猜测是要进行命令执行,但是没有给参数,联想题目名为任务cmd,那cmd因该是参数,所以尝试输入?猜想应该是想我们摇出相同的才可以,所以爆破,数值,到3000,进行遍历。

2025-12-23 17:17:01 970

原创 2025年冬季web中等和困难

alert("1")</script>变成了<>alert("1")<="">,所以是识别<script>和</script>标签片段,删除其中的script字符,同时对</script>中的/替换为=,最终导致<script>变成<>、

2025-12-22 16:23:06 1084

原创 JWT的详解

字段名含义(通俗解释)作用expExpiration Time(过期时间)令牌的绝对过期时间,格式为Unix 时间戳(秒级,如 1710000000),超过该时间 JWT 失效iatIssued At(签发时间)令牌的签发时间,格式为 Unix 时间戳,用于计算令牌的存活时长(如判断令牌是否刚签发,防止重放攻击)subSubject(主题)令牌的核心主题,通常用于标识唯一用户 / 资源(如你的示例中用户 ID 123456),值可以是字符串或数字issIssuer(签发者)

2025-12-21 21:05:02 955

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

原来是上传了两个参数,分别是func和p,而且func不是代码中function的缩写吗,哪p会不会是payload的缩写,而且function在代码中经常是定义函数或方法的,所以func的参数值是方法名而payload是方法的参数但是这只是一个猜想,我们可以利用这个猜想来读取一下index.php源代码。此时就可以给func赋值system,虽然system是禁用列表中的函数,但由于__destruct()方法没有像通过$_REQUEST["func"];看来猜想是正确的,源代码是。

2025-12-20 23:44:42 400

原创 [HZNUCTF 2023 preliminary]ppppop

打开题目便是空白页面,查看源代码,也是空白的,没有任何内容,进行目录扫描发现有目录,但是内容都是为0进行抓包,发现cookie中user的值有点像base64编码尝试进行解码解码内容是O:4:"User":1:{s:7:"isAdmin";b:0;},其中b:0:表示一个布尔类型的值,0代表着false为假,1代表着true也就是讲User对象的isAdmin属性当前为false,就是表示这个用户不是管理员,那就将0改为1,和原本的user值换一下发包就返回反序列化代码。

2025-12-18 15:15:30 519

原创 [LitCTF 2023]easy_shark

发现gezx{j13p5oznp_1t_z_900y_k3z771h_k001}上面还有一个方程(x^2-x**2)+(x-17)(x-77)=0,一个是17,一个是77,这有一串字符串两个数字,让人联想到了 放射Affine密码。将上面的00 09改为00 00,保存,解压,是一个pcapng文件,使用wiredhark,打开文件,先是过滤http,然后查找flag字符,发现89afeflag{1ook_th1s_1s_76ke_f1ag}这几个尝试了发现是假的flag,继续找,且压缩源文件目录区的。

2025-12-18 10:49:32 561

原创 XXE漏洞详解

XML 是一种可以自己发明标签的格式(比如你可以自己写<书名>、<作者>这种标签)但而DTD 就是用来规定 “这些自定义标签能不能用、怎么用” 的规则书。比如你定义了<书名>,DTD 会明确:这个标签里能不能放文字?能不能嵌套其他标签?直接写在 XML 文件里:把规则和 XML 内容写在一起;单独存成一个文件,让 XML 去引用它:比如写个book.dtd文件存规则,然后在 XML 里写一句 “我要遵守这个文件的规则”。

2025-12-14 23:20:39 803

原创 金币大挑战

重制金币的是action=resrt,那如果我在金币到达20时,这时金币+1的按钮就按不了了,但这时重置金币的按钮还可以按,我们可以按重制金币的按钮然后抓包,将action=resrt改为action=add_coin看看可以不。发现这几条路径,根据前文中的猜测有文件上传漏洞,所以先访问了/uploads路经,但是不知道文件是啥,但是论坛中提到黑客喜欢留一些标志,这里收集到 3 个名字,分别尝试一下发现是 Squirtle.php这个文件,这个方法是可以的,在抓包,改包,放行后进入了论坛。

2025-12-11 22:05:32 344

原创 php-ser-libs-level11,12phar反序列化

这是一道简单典型的phar反序列化题目,思路也比较简单就只要你生成一个phar文件,上传phar文件时有文件后缀名的一个限制,但是这不重要因为phar://伪协议在读取文件是不看后缀的。所以当服务器限制后缀时比如只能上传png,jpg文件时,我们可以将phar文件修改为test.png后仍然可以正常执行phar伪协议。

2025-12-10 20:42:51 391

空空如也

空空如也

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

TA关注的人

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