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

原创 Web15题(7.28~8.3)

通过代码审计,我们可以看到,这里有php的魔术方法,有对flag的正则匹配限制,但是这里没有unserialize()函数,猜想这里应该是利用了phar协议的反序列化来拿flag。这里可以看到,又php的魔术方法,有对flag的正则匹配限制,但是没有 unserialize() 函数,猜想应该是利用了phar协议的反序列化来拿flag。原本:O:4:"Name":2:{s:14:"Nameusername";绕过:O:4:"Name":3:{s:14:"Nameusername";

2025-08-04 09:42:10 378

原创 Web15题(7.21~7.27)

也就是这段代码会遍历传入的GET参数,将GET传入的变量名给了$re,把变量名的值给了$str,那么这样在传入payload的时候preg_replace就会变成 preg_replace('/(\S*)/ei', 'strtolower("\\1")', '${getFlag()}');这样一来就好办了,如果把上传的文件命名为 /flag ,上传后通过uuid访问文件后查询到的文件名就是 /flag, 那么进行路径拼接时, uploads/ 将被删除,就会读取到的是根目录下的flag文件了。

2025-07-28 20:45:45 1014

原创 AWD的攻击和防御手段

AWD(Attack With Defence)是 CTF 线下赛中最接近真实攻防场景、观赏性和对抗性最强的赛制之一。

2025-07-26 23:31:27 919

原创 25春云曦期末考复现

执行system sudo提权的同时查找 /flag 目录下的所有文件,然后 -exec 命令对找到的文件进行cat,再用占位符 {}填充,最后结束命令 \;例如原查询语句为 ... username='$_POST[username]' and password='$_POST[password]'加入单引号: ... username='$_POST[username]\' and password='$_POST[password]'

2025-07-09 22:01:19 983

原创 CSRF漏洞

所以只要含有这个 cookie 的浏览器(即用户的浏览器)识别到我们去请求前面的这个ip 和对应的端口,就会把这个 cookie 信息带过去(就不会再让用户登录)可以发现虽然用户想要更改的信息全是11,但经过攻击者构造的 url 修改了性别之后,性别却并不是11,而是攻击者指定的 22 了。这里建议使用各平台如NSS上的Pikachu,以防自己本地搭建的靶场有问题(我自己搭的就抓不到包)然后抓包构造恶意 url,用没有用户 cookie 的浏览器模仿用户点击。

2025-06-19 18:09:09 536

原创 系统学习·PHP语言

由于之前没系统的学习PHP语言,都是在做题时遇到不会的才去查,后来发现这样的效率非常低,审代码别人一眼扫出漏洞,而我还需要去查一下这行代码的意思,那个函数的作用,查当然要查,但连简单的语法都不懂就太说不过去了,有时候甚至直接将一整段代码扔给AI让它解读,这样对代码审计的能力根本不能提升所以我这次决定系统的学习一次PHP语言,为了在后续的解题过程中不用总依赖AI也可以很快审清代码逻辑。PHP语言的功能非常强大,在Web开发中也占据着非常重要的地位,这些都懂,就不详细举例,直接开始着手对PHP语言进行学习。

2025-06-14 18:44:12 1055

原创 SSRF漏洞

SSRF漏洞形成的原因:主要是因为服务端提供了从其他服务器应用获取数据的功能,然后服务端又未对用户输入的URL进行严格的过滤和验证,导致攻击者可以控制服务器发起任意HTTP请求。那么可以利用域名解析的一些特性,例如使用 0.0.0.0 来代替 127.0.0.1,在某些网络配置中,0.0.0.0 可能被解析为 127.0.0.1 即可能被解析为服务器的本地网络接口,从而允许访问内网资源。禁止访问的ip地址列表包含 127.0.0.1 和 ::1(IPv6的本地回环地址),如果包含就报错;

2025-06-05 20:09:53 934

原创 2025LitCTF 复现

思路就是利用 file 读取上传的 xjmuma.txt 文件,然后文件就被解析咯,就可以get shell 了。尝试了各种后缀都上传失败,返回看有没有提示的时候突然反应过来题目名是 file,所以尝试一下任意文件读取。那就 file=上传的文件(猜测在当前目录下的 uploads/xjmuma.txt 目录)说明可能是有字符被过滤了,猜测是php标签,然后给它换成短标签。新建一个空的 新建木马.txt 文件发现上传成功。发现上传成功,把文件名改一下吧,方便后面访问。然后一cat就出flag了。

2025-05-29 20:39:07 643

原创 第三届黄河流域网安技能挑战赛复现

这题,之前只了解过 .user.ini 文件,并为遇到实操题但赛前差点就做到下面这题了,不多说,复现之前先看看下面这题靶场:没错,又做上文件上传题了,别看easy,如果没接触过的话当做题的时候是抠破头皮也想不到的一样的文件上传界面然后发现只允许上传图片文件,文件 php标签内容被过滤了用js标签也行不通,只好用短标签 <?=@eval($_POST['a']);?>然后加上图片文件头 GIF89a修改后缀为jpg上传成功但发现改了各种php后缀都行不通,然后去搜了一下发现要用到 .user.ini 文件

2025-05-27 22:31:14 1072

原创 云曦25年春季期中考核复现

在复现前先看看这题。

2025-05-22 22:04:42 893

原创 SSTI 可恶的SSTI

因为 object 是Python 中所有类的基类,所以 object.__subclasses__() 会返回一个包含 Python 中所有类的列表;:func_globals 是一个属性,返回函数的全局变量字典。表示获取 object.__subclasses__() 返回的类列表中的。:从 object.__subclasses__() 返回的类列表中。:获取该类的 __init__ 方法。是类的初始化方法,通常用于对象的初始化;所有直接继承自 object 的类的。个位置(对,数了一下,,.)

2025-05-21 20:59:39 224

原创 Flask框架搭建

Flask 支持在 url 中添加变量部分,使用<变量名>的形式表示,Flask 处理请求时会把变量传入视图函数,所以可以在试图函数内获取该变量的值。打开浏览器,访问 http://127.0.0.1:5000/ ,可以看到“Hello, Flask!然后另存为,找到C盘下的 my_flask_project 目录,文件命名为 app.py ,保存类型为所有文件。,一个Web应用不同的路径会有不同的处理函数,当我们请求应用时,路由会根据请求的 url 找到对应处理函数。3、创建 app.py 文件。

2025-05-16 23:40:15 549

原创 SSTI 刷刷刷个题

hello/是目录,payload的后面{{''.__class__.__bases__}} 是Python表达式.'' 是一个空字符串;接下来要拿到 popen 函数就需要先获取对象的 __init__ 属性,然后使用 __globals__ 获取函数作用域下方法,里面就包含 popen。所以,{{''.__class__.__bases__}} 返回的是 str 类型的基类元组。.__bases__ 也是一个Python中的一个特殊属性,用于获取类的基类元组;

2025-05-15 22:06:46 721

原创 sql sql复习

虽然之前学习过sql,但由于重在赶学习进度,没有学扎实,导致自己刷题的时候有的地方还是模模糊糊,现在主要是复习,补一补知识点。

2025-05-14 17:39:53 1127

原创 SSTI模版注入

but,如果没有对用户输入进行严格的验证和过滤,攻击者可以注入恶意的模板代码,从而在服务器端执行一系列操作(非预期,不可知)。input={{config.items}} 访问页面,Jinja2模板引擎会执行 config.items() ,可能会返回应用程序的配置信息,导致信息泄露。后面在端口前面加冒号:就连上了(我也纳闷,在kali里有时候接端口是空格,冒号不行,有时候又得冒号,但物理机url包是冒号的)这是开发者未预期的操作,因为用户输入的模板代码被模板引擎执行了,所以叫非预期操作。

2025-05-09 23:26:15 1148

原创 文件包含漏洞

总的来说这是构造的GET请求,就刚对代码的分析可以知道 php://filter/read=convert.base64-encode/resource=flag.php 作为file的参数值,需要知道的是,还是web应用程序(或服务器)对用户输入的内容(主要指文件路径)没有进行严格的过滤,然后用户就可以控制文件路径,导致应用程序包含并执行文件。当$ATM与$CTF的MD5哈希值相等时,执行include($NSS),用来包含$NSS的指定文件,(POST传参NSS的值);

2025-05-08 22:03:54 1020

原创 任意文件读取漏洞

例如,如果返回“文件不存在”,说明路径是有效的,但文件不存在。任意文件读取漏洞通常出现在Web应用程序中,当应用程序没有正确过滤用户输入的文件路径时,攻击者就可以通过。而这里的提示flag在 /f1ag 文件中就是暗示包含的$NSS指定文件是 /f1ag 就能拿到flag。当$ATM与$CTF的MD5哈希值相等时,执行include($NSS),用来包含$NSS的指定文件,以上条件都满足,执行 include($NSS),尝试包含$NSS指定的文件。尝试在这些功能中输入不同的文件路径,观察应用程序的响应。

2025-05-07 18:04:20 1503

原创 刷刷刷刷刷RCE

这表示的是当前工作目录下只有一个文件index.php,还显示了该文件的详细信息:total 4 -rw-rw-r-- 1 root root 109 Oct 2 2021 (不用管它啥意思,只用知道它是index.php的详细信息)最后只好尝试用nikto(这个是一款开源的 网站扫描 工具,用于发现Web服务器上的安全漏洞和配置错误,且是kali自带的,可以直接使用),而我用这个的目的主要是扫出这个环境的ip。诶哟没查询到,说明命令没有执行成功,检查了一下发现ls被过滤,没有绕过,加一个反斜杠。

2025-04-26 00:51:02 842

原创 刷刷刷刷刷upload

接续上次学文件上传漏洞没打完的题接着打靶场:云曦历年考核题、NSSCTF。

2025-04-23 22:26:56 837

原创 刷刷刷刷刷sql题

我们知道,当参数等于1时是有回显的,而参数的值通常为正整数,后端代码一般不会限制参数的负数值,但数据库里是没有负数值的信息的,所以这个负数值就可以作为一个“跳板”,把参数值改为-1后因为-1值的信息不会回显,然后语句中-1后面查询的信息结果就会回显而不会被1参数值的回显信息覆盖。的情况,说明$id2的值定然不可能为1,否则无论$id1的值为多少,整个语句都为1(真),都会有回显),也就是说$id2的值应该为0($id2应该为0或字母)

2025-04-22 22:08:45 865 1

原创 SQL注入相关知识

布尔盲注是一种SQL注入攻击技术,用于在无法直接获取数据库查询结果的情况下,通过页面的响应来判断注入语句的真假,从而获取数据库中的敏感信息。

2025-04-19 17:26:14 652

原创 Web三漏洞学习(其三:rce漏洞)

在Web应用开发中会让应用调用代码执行函数或系统命令执行函数处理,若应用对用户的输入过滤不严,容易产生远程代码执行漏洞或系统命令执行漏洞所以常见的RCE漏洞函数又分为代码执行函数和系统命令执行函数。

2025-04-18 18:56:29 747

原创 Web三漏洞学习(其二:sql注入)

靶场:NSSCTF 、云曦历年考核题。

2025-04-15 23:48:49 1087

原创 Web三漏洞学习(其一:文件上传漏洞)

靶场:云曦历年考核题。

2025-04-15 21:24:19 1058

原创 云曦月末断网考核复现

先看一个BUUCTF中的文件一个上传题打开后是一个文件上传页面随便上传一个txt一句话木马后出现js弹窗,提示只能上传图片格式文件说明有前端验证。我的做法是把一句话改为.jpg格式,然后上传访问发现虽然上传成功了,但无法解析当然图片麻烦也无法进行解析,上传无效然后尝试抓包上传绕过js前端验证后修改后缀名然后修改数据包改后缀 (因为是黑盒测试,不知道过滤源码,只能一个个尝试修改了各种后缀,(php1、php2、php3、php4、php5、phps、pht、phtm)但都上传失败,直到最后发现phtml后缀才

2025-04-11 19:13:14 1111

原创 MIME类型以及NSSCTF Upload例题

如果MIME类型设置不正确,浏览器或邮件客户端可能会无法正确解析和显示内容,导致用户体验不佳或功能异常。它最初是为电子邮件设计的,用于在邮件中描述不同类型的内容(如文本、图片、音频等),后来也被广泛应用于Web开发中,用于标识Web资源的类型。MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)类型是一种标准,用于。的,即浏览器根据MIME类型来处理和显示资源(拓展名);在电子邮件中,MIME类型用于描述邮件。例如,如果MIME类型是。

2025-04-07 18:10:19 471

原创 .htaccess文件的组成、用法及作用详解

(需要管理员级别权限修改的httpd.conf文件修改后需要重启Apach服务器)它主要用于目录级的配置,是。合理使用能大幅增强网站安全性和灵活性,但需注意性能影响和语法正确性。(Hypertext Access)是 Apache 服务器的一个。实现“固定链接”(Pretty Permalinks)功能。禁止直接列出目录内容(防止敏感文件泄露)。只允许本站引用图片,外站访问返回 403。),防止上传 Webshell 被执行。(禁止目录遍历、防 PHP 执行),可以覆盖主配置文件的设置,

2025-04-07 18:10:06 1465

原创 Upload-labs靶场通关

之前搭好了靶场,今天开始通关并写详细流程。

2025-04-04 23:40:12 1265

原创 Upload-labs 靶场搭建 及一句话木马的原理与运用

看吧,没有建房材料就只有地基(毕竟我们选择的目录只到www,想要构建upload-labs靶场的“房子”它是没有办法在根目录上找到uploads-labs,因为127.0.0.1的域名创建到了upload-labs文件的上一级,它。这里记得改一下解压缩后的文件夹名字(主要是为了方便后面搭建网址方便一些,没有那么麻烦),就设置为upload-labs即可,或者直接upload。因为我们下载的upload-labs这些文件是为靶场准备的,如果不选择到upload-labs目录,它相当于没有。

2025-03-31 22:28:47 1509

原创 kali利用msf渗透Windows电脑测试

MSF集成了数千个已知的软件漏洞利用模块,支持针对不同平台(如Windows、Linux)和服务(如SMB)的漏洞攻击。例如,著名的永恒之蓝漏洞 (MS17_010)就是通过MSF进行利用的。

2025-03-28 19:42:05 1219

原创 还刷刷刷刷刷

提交正确。

2025-03-27 21:29:17 600

原创 刷刷刷刷刷

诶,别忘了id=1时有正常查询结果,会将id=1000进行覆盖,而id=2时查询结果才为空,所以需要将1改为2。由于使用的 || 前部分id=2查询结果为空,没有返回信息,所以只会返回id=1000时的信息,即flag。(id=1000),然后||连接的整体用于绕过intval函数 (如 id=1 || id=1000)首先,刚刚的第4条,intval函数在遇到 id=2 后面的 || 字符时,停止转换,取id的值为2。,这么一来或许可以利用特殊字符(逻辑或||)来绕过intval函数的转换。

2025-03-24 17:52:32 714

原创 JavaScript与客户端开发(2)

所以呢,JavaScript可以使数据的有效验证在客户端进行,然后对于遗漏或无效数据等,在表单提交到服务器之前得到验证并立即反馈给用户,避免了无效的网络传输。现许多网页都含搜索功能。将JavaScript核心语言部分和客户端扩展结合起来,通过脚本对页面上的对象进行控制,完成比如在页面中处理鼠标单击、表单输入以及控制页面的浏览等功能,哎呀后面那部分我也看不懂,就不写了。同样是在核心语言的基础上扩展了在服务器上运行时需要的对象,这些对象可与数据库互联,也可对服务器上的文件进行控制,还可以在应用程序间交换信息。

2025-03-21 19:08:38 394

原创 JavaScript与客户端开发

比如 一般简单的情况下我们会直接使用弹层的形式来进行处理,但是有的时候是一个复杂页面,需要弹窗显示,新开页面在另一个页签显示还达不到效果,所以我们需要让浏览器打开一个新的页面,并弹出来在当前页面之上,下面我们来看一下代码实现。动态改变页面内容‌:HTML页面是静态的,一旦编写,内容是无法改变的。从另一方面说,它属于解释性编程语言,使开发更简单和方便,而它的语法和结构与C、C++、C#、Java都十分相似,不同之处在于其运行时不会出现独立的运行窗口,运行结果是借助浏览器来展示的。

2025-03-21 00:47:23 391

原创 汇编基础知识

CPU:一种可以执行机器指令进行运算的芯片(微处理器)。存储器(内存):存放CPU可以工作的指令和数据(指令和数据都是二进制信息)。磁盘不同于内存,磁盘中的数据要读到内存中才能被CPU使用存储器分若干存储单元,并从0开始按顺序编号(一个存储器有128个存储单元,编号0~128)电子计算机最小信息单位是bit(比特),即一个二进制位。8个bit(8个二进制位)组成一个字节(Byte)。大容量存储器计量容量的单位(磁盘单位也一样):1KB=1024B1MB=1024KB1GB=1024MB。

2025-03-17 22:45:38 1417

原创 二进制运算 栈的基本概念及原理与IDA快捷键的使用

比如刚才的例子1010异或1110的结果为0100,然后用0100再异或1111得到的结果任然是1011(与1010同或1110的结果是一样的)异或有几种不同的表示方式,在程序中一般用符号 ^ 表示,而在书写时或模拟电路中,可以用XOR或者是 ⊕ 表示。这里要记住程序中一般没有同或运算符,不过有异或,所以可以用两个数的异或结果再次异或1即可得到同或的结果。任意一方为0或同时为0时,结果为0。或运算可以用 | 表示,在程序中一般使用 || 表示。与运算的规则为:同时为1,结果为1;任意一方为1,结果为1;

2025-03-13 17:18:03 395

原创 XSS跨站脚本攻击

XSS全称(Cross Site Scripting)跨站脚本攻击,为了避免与css层叠样式表名称冲突,所以改为xss,是最常见的web应用程序安全漏洞之一。它指的是恶意攻击者往web页面里插入恶意html代码(JavaScript代码加工到index.html文件中),当用户浏览该页之时,嵌入web里面的html代码会被执行,从而达到恶意用户的特殊目的(如得到目标服务器的shell)。

2025-03-12 17:50:45 452

原创 云曦春季开学考复现(2025)

趁热打铁,昨天刚学的RSA,既然有p有q,也有e,而n=p*q,可以算出欧拉函数值phi=(p-1)*(q-1) 而这里因为昨天学到d*e=1 mod phi,所以libnum.invmod(e,phi)函数的作用就是求一个整数d,使得(e*d)%phi(除以phi取余)=1,求出d以后,就可以从c=(e,m,n)的模幂运算入手反推m。虽然出flag了,,但我突然想到一个问题,我没用到dp和dq啊,附件既然给了dp dq肯定有用,但又不知道怎么用,于是扔进 AI让其帮我解读一下。

2025-03-08 18:08:17 467

原创 RSA的理解运用与Pycharm组装Cryptodome库

RSA通常指基于RSA算法的密码系统,令我没想到的是,其名字的来源竟然不是某个含有特别意义的单词缩写而成(比如PHP:Hypertext Preprocessor(超文本预处理器)),而是由1977年提出该算法的三个歪果仁的姓氏首字母这么很随意的拼接起来的(Ron Rivest、Adi Shamir和Leonard Adleman),可它却是首个既能用于加密又能用于数字签名(这个还不懂什么是签名,书上是这么说的,反正不是真的 签名)的非对称加密算法。选择两个大素数(我做题遇到的通常是1024位的)p和q。

2025-03-07 23:07:23 1242

原创 SQL注入的原理及详细运用

ok,上面所说的是正常情况下,那假如我输入的是一组构造的恶意数据,同样的步骤,我们上传给服务端以后如果它没有做任何的处理就直接发送给数据库,此时在数据库执行select语句进行数据查询与比对时,如果这个恶意数据就是一个SQL语句,那么SQL语句就会参与执行select拼接到SQL语句里面,这样的话恶意数据的SQL语句就会开始执行,造成利用SQL注入漏洞(查询数据 读写文件 执行命令)但所有的漏洞(SQL漏洞、XSS漏洞、CSRF漏洞等)都是有条件的。SQL注入实际上就是把用户输入的数据当做代码执行。

2025-03-05 13:41:57 615

空空如也

空空如也

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

TA关注的人

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