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

原创 DVWA靶场通关笔记

本文介绍了使用Docker搭建DVWA靶场环境的过程,并分析了不同安全级别下的暴力破解防护机制。环境部署部分详细说明了Docker镜像拉取、容器创建和访问方法。在漏洞分析部分,展示了从低到高四个安全级别的代码防护措施:低级无防护可直接爆破;中级使用输入转义和登录延迟;高级采用CSRF令牌防御;最高级结合预编译SQL、登录失败锁定和令牌验证等多重防护。通过代码对比,清晰地呈现了安全防护的演进过程,为Web安全测试提供了实用参考。

2025-10-28 19:07:59 943

原创 LFI-labs靶场通关教程

本文总结了多个命令注入和文件包含漏洞的利用方法。在命令注入方面,通过GET/POST参数构造system()执行的命令,如ls、cat等查看文件内容;在文件包含方面,通过目录穿越(../../)、大小写绕过、双写绕过(....//)、特殊字符(php.)等方式绕过过滤,包含系统文件或上传的恶意文件。关键点在于分析源码的过滤规则并找到绕过方法,如pass05使用双写绕过str_replace过滤,pass08使用.php.绕过后缀检查。这些案例展示了Web应用中输入验证不足导致的安全风险。

2025-08-29 18:00:00 1023

原创 SSRF_XXE_RCE_反序列化学习

本文摘要: 本文深入探讨了四种常见的Web安全漏洞:SSRF、XXE、RCE和反序列化漏洞。SSRF漏洞允许攻击者通过服务器发起内部网络请求,绕过防火墙限制;XXE漏洞利用XML解析缺陷读取系统文件或执行命令;RCE漏洞使攻击者能远程执行系统命令或代码;反序列化漏洞则通过精心构造的序列化数据触发危险操作。文章详细分析了每种漏洞的原理、危害、检测方法和防御措施,并提供了Pikachu靶场的实战演示,包括利用SSRF读取/etc/passwd文件、XXE进行文件包含等案例。最后强调通过输入验证、协议限制、代码审

2025-07-26 22:00:00 1080

原创 文件包含学习总结

文件包含漏洞是指程序动态调用文件时未严格校验参数,导致攻击者可包含恶意文件。分为本地文件包含(LFI)和远程文件包含(RFI),后者需开启allow_url_include配置。常见高危函数包括include()、require()等,攻击者可利用其读取系统敏感文件或执行远程代码。防御措施包括:设置白名单、过滤危险字符、限制目录权限、关闭危险配置(allow_url_include等)。典型攻击方式包括日志包含、配合文件上传等,最终可能导致服务器被控制。开发中应严格检查包含函数的参数是否可控,避免动态包含不

2025-07-25 18:00:00 997

原创 文件上传学习总结

文件上传漏洞是Web应用中常见的安全隐患,攻击者通过上传恶意文件绕过服务器校验,可能导致网站被入侵。常见漏洞类型包括客户端JS绕过、服务端黑/白名单绕过、MIME类型检测绕过、00截断、文件包含等。防御措施包括:设置上传目录不可执行、采用白名单校验文件类型、随机重命名文件路径、使用图片处理函数破坏恶意代码、部署专业安全设备等。同时需注意不同Web容器(IIS/Nginx/Apache)的解析特性差异,避免因配置不当导致漏洞。

2025-07-25 06:30:00 740

原创 upload-labs通关攻略

本文总结了文件上传漏洞的20种常见绕过方法,包括前端绕过、MIME检测绕过、黑名单过滤绕过、文件解析配合、系统特性利用、截断攻击、条件竞争等。详细介绍了每种方法的具体操作步骤,如修改文件后缀、构造特殊文件名、利用%00截断、制作图片马等,并提供了实战演示案例。文章特别强调了Windows系统特性在绕过中的利用,以及如何通过文件包含漏洞结合上传漏洞实现getshell。这些技术涉及前端JS绕过、服务端校验绕过、系统层漏洞利用等多个层面,为文件上传漏洞的攻防研究提供了全面的技术参考。

2025-07-24 06:00:00 754

原创 Upload-Labs通关全攻略详细版

漏洞的位置在第三个方框那里,count函数的意思是返回数组中不为空null的元素的个数,那么就可以利用这个来进行绕过,$ext得到的数组最后一个元素。基于此,我们可以通过这样的方法绕过 上传文件名比实际文件后缀名要多,并且最后一个文件后缀为jpg或者其他白名单里面的就可以,这样有效位置-1 就为null,这时只要将文件名数组的第一位设置为php.即可,由于服务器在解析的时候会自动删除. 这样就可绕过对不是数组后缀的处理。的内部指针重置到数组的第一个元素,并返回该值。漏洞描述:白名单过滤,文件保存目录可控。

2025-07-23 22:00:00 788

原创 MSF-MS10-018漏洞利用

摘要:MS10-018(CNNVD-201003-002)是IE6/7的"释放后重用"漏洞,影响Windows 2000/XP/Server 2003/Vista系统。攻击者通过构造恶意网页,利用IE错误引用已释放内存的特性执行任意代码。实验环境使用Kali攻击机和XP靶机(IE6),通过Metasploit设置钓鱼地址(192.168.111.130:8080/look_at_here)实施攻击,成功后可获取反弹shell控制目标系统。该漏洞利用过程简单,仅需受害者访问恶意网页即可触发

2025-07-18 18:00:00 237

原创 MSF-MS08-067漏洞利用报告

摘要:MS08-067是影响Windows多个版本(包括XP/2003/Vista等)的严重RPC缓冲区溢出漏洞,攻击者通过445端口发送恶意请求实现远程代码执行。实验环境使用Kali(攻击机)和XP SP3(靶机),通过Metasploit框架的bind_tcp载荷成功获取meterpreter会话,演示了添加用户、进程迁移和键盘记录等攻击操作。该漏洞验证了未打补丁的Windows系统面临的高危风险,突显了及时更新系统的重要性。

2025-07-17 18:00:00 501

原创 Sqli-labs 1-20

【代码】Sqli-labs 1-20。

2025-03-09 18:52:34 926

原创 Upload-Labs-Linux 1-20

漏洞的位置在第三个方框那里,count函数的意思是返回数组中不为空null的元素的个数,那么就可以利用这个来进行绕过,$ext得到的数组最后一个元素。基于此,我们可以通过这样的方法绕过 上传文件名比实际文件后缀名要多,并且最后一个文件后缀为jpg或者其他白名单里面的就可以,这样有效位置-1 就为null,这时只要将文件名数组的第一位设置为php.即可,由于服务器在解析的时候会自动删除. 这样就可绕过对不是数组后缀的处理。的内部指针重置到数组的第一个元素,并返回该值。漏洞描述:白名单过滤,文件保存目录可控。

2025-03-09 16:55:44 1366

原创 CTFSHOW-WEB入门-PHP特性109-115

的所有数据,是一个合并的数组。你可以通过它来访问表单数据,无论是 GET 还是 POST,甚至是 cookies 中的值。$GLOBALS 是PHP的一个超级全局变量组,包含了全部变量的全局组合数组,变量的名字就是数组的键。用于访问通过 HTTP POST 上传到脚本的文件。这个变量是一个数组,包含了文件的相关信息。你可以通过这个数组访问在函数或方法外定义的变量。用于访问存储在用户计算机上的 cookie 数据。这个变量,看了其他师傅们的博客知道,是因为对于这个文件的。的值对应的变量(该变量对应的流程和。

2025-02-14 11:50:21 1310

原创 CTFSHOW-WEB入门-PHP特性101-108

v1=hex2bin //这个是call_user_func的前面那个数,就是用作函数。字符串索引从 0 开始,如果是负数,则表示从字符串的结尾开始计算。$length` 为负数,则表示要从结果中去掉的字符数。首先得让代码执行到这里吧,于是第一步不变,还是。可选参数,要截取的字符长度。可选参数,要截取的字符长度。超出了字符串的长度,则返回空字符串。的,有的话就直接终止,没有的话,就把。开始到字符串末尾的所有字符。的,有的话就退出,没有的话就将。返回截取的子字符串。: 要截取的原始字符串。

2025-02-07 15:27:05 1447

原创 CTFSHOW-WEB入门-PHP特性89-100

显示为true,那么这里就可以讲一段PHP代码写入文件,文件名选择可以满足条件的1-877均可,这里选择出现频率高的,比如1,2这样的,这里选择2:并且写入php木马,访问让其执行。由于第一个有m,那就说明是匹配的是每一行的开头和结尾,有一行满足即可而不是字符串的开头和结尾。这个字符串,但是不进行赋值操作,后两句同样的道理,只不过是判断有没有。也就是让两个数组指向同一个地址,如果为空的话,就返回。确定这个参数的值是否在之前填充的。对应的数组是否为空,不为空的话,将。的参数,并且该参数的值是否在。

2025-02-05 19:28:04 1095

原创 CTFSHOW-WEB入门-命令执行71-77

exit(0);思路断了,去看看提示,提示给的第二个payload:上传得到了结果。想其他办法:readgzfile():也被禁了。流也是一种不同的机制,不会直接受到。利用php伪协议 glob://函数的行为是独立的,即使。

2025-02-04 16:05:07 1233

原创 CTFSHOW-WEB入门-命令执行54-70

会读取gzip文件并将其内容输出到标准输出设备。如果文件不是gzip格式,readgzfile会直接从文件中读取内容而不进行解压。这些字符 ‘c’、‘a’ 和 ‘t’ 可以以任意顺序出现,并且它们之间可以有任意字符(包括零个字符)分隔。在Linux下可以在当前目录下执行可执行文件或者命令。运算进行解析,由于这道题的。通过查阅资料可以知道,在。在进行按位取反就可以得到。,那么我们只需要拼接出。进行按位取反可以得到。

2025-02-02 19:52:06 1070 1

原创 CTFSHOW-WEB入门-命令执行29-32

【代码】CTFSHOW-WEB入门-命令执行29-32。

2025-01-29 00:39:06 879

原创 CTFSHOW-WEB入门-命令执行39-53

[、]、{、}、&、-),作为一个新手,看到这个仍然没有任何思路,查阅大佬的wp,有了解了无数字字母rce这个新奇玩意无数字字母rce就是过滤了数字字母的命令执行问题。b. 解题思路:分析题目发现比上一个题过滤了很多命令:more head sort tail less等命令但是tac仍然可以使用:仍然使用上题的payload:?b. 解题思路:分析代码可以知道,这题比上一题多过滤了反引号,百分号,也就是再对命令进行限制的同时也对空格进行了限制:于是我们使用tac 空格使用<>?

2025-01-29 00:36:35 1498

原创 CTFSHOW-WEB入门-文件包含78-81

【代码】CTFSHOW-WEB入门-文件包含78-81。

2025-01-23 15:30:54 412

原创 CTTSHOW-WEB入门-爆破25-28

【代码】CTTSHOW-WEB入门-爆破25-28。

2025-01-21 21:00:08 418

原创 [极客大挑战 2019]PHP

【代码】[极客大挑战 2019]PHP。

2025-01-21 18:00:00 554

原创 CTTSHOW-WEB入门-爆破21-24

【代码】CTTSHOW-WEB入门-爆破21-24。

2025-01-21 13:30:33 742

原创 [HCTF 2018]WarmUp

【代码】[HCTF2018]WarmUp。

2025-01-20 00:12:19 396

原创 CTTSHOW-WEB入门-信息搜集11-20

【代码】CTTSHOW-WEB入门-信息搜集11-20。

2025-01-19 20:32:18 1061

原创 CTTSHOW-WEB入门-信息搜集1-10

【代码】CTTSHOW-WEB入门-信息搜集1-10。

2025-01-19 15:03:56 536

原创 nssctf_WEB部分题解

1.题目:easy_ssrf(ssrf 伪协议读取文件)2.题目: [SWPUCTF 2021 新生赛]PseudoProtocols。

2025-01-17 12:31:12 1117

原创 Java学习-Collection集合框架2

HashSet集合去重复的机制:(HashSet比较地址只要地址不同,就不算重复)1.1 hashSet的底层实现-哈希表 以及特点。1.2linkedHashSet特点及底层原理。1.3treeSet特点及原理。普通二叉树和二分查找树。1.Set集合的特点。2.并发修改异常处理。

2024-03-13 13:25:28 448

原创 Java学习-Collection集合框架1

4..1ArrayList集合的特点即底层实现原理。使用场景1:设计队列(先进先出,后进后出)使用场景2:设计栈列(后进先出,先进后出)学习collection集合方法的原因。4..2LinkedList集合的特点。a.collection集合体系。2.list集合特有方法(带索引)3.Lambda表达式。1.List体系集合的特点。1.基于双链表实现的。2.特有方法(首尾操作)

2024-03-13 13:20:25 391

原创 Java学习-简单算法与正则表达式

每一轮选择每一个位置的数组元素和后面的元素比较,从第i+1个比较到最后一个。每轮找出当前最大值,冒到前面,循环长度减一次,每轮从1个比较到长度减i个。前提是:数组已经排序好了(从小到大是下面的代码)正则表达式有一串特殊的字母或数字组成,表示一种规则。2.查找数据(电话。只需要交换一次,减少了性能的消耗。2.用于查找数据(爬取数据)。3.用于搜索 替换 分割数据。1.用于判断格式是否规范。1.例:检验qq号是否正确。3.替换数据,分割数据。2.查找算法:二分查找。

2024-03-02 17:17:16 470

原创 Java学习-常用API-新增时间

注:Instant可以用来做代码的性能分析,在两个instant之间加上测试代码即可。注:解析时间 LocalDateTime.parse(时间对象,格式化器)

2024-02-12 22:58:46 480

原创 Java学习-常用API(二)

StringBuilder支持链式编程 StringBuilder sb=new StringBuilder();StringBuffer的线程更加安全,当多人进入系统使用StringBuffer的时候更加安全,StringBuilder可能会出现bug。这样也是支持的,返回的仍然是sb对象。

2024-02-11 22:35:04 429

原创 Java学习-常用API(一)

示例注意:字符串的 数值,注意是数值,“20A”就不行;“13.5”不能转换为Integer类型,可以转换为Double的;

2024-02-06 23:23:25 396

原创 Java学习-枚举类和泛型

例子:注意:接口中的泛型类型变量也可以继承。继承之后,他的实现类的类型变量只能是他或者他的子类。

2024-02-05 22:52:42 458

原创 Java学习-内部类

注意:应用场景:通常作为一个参数传给方法Eg.小猫和小狗都参加游泳比赛

2024-02-04 23:51:11 419

原创 lava学习-接口

例:构造器,代码块在接口中统统没有,也不能创建对象构造器的使用-----实现类例:下图中的B类就是一个 实现类。

2024-02-03 18:47:05 2191

原创 lava学习-多态-final-抽象类

现象:对象多态:比如说一个人 类,他可以是一个老师,也可以是一个同学行为多态:多个对象同一类行为的不同表现形式,比如两个人,一个人跑得快,另一个跑得慢就属于行为多态。例子:注意:多态现象的识别:编译时看左边,只要People类中有run方法就行,实际运行时候运行的还是具体子类里面的run方法并且多态强调的是变量和行为的多态,对变量并不要求Eg.如下的代码里打印的仍然是People父类的名字抽象类不能创建对象!!!

2024-02-03 18:43:49 531

原创 Java学习-面向对象-继承

如果父类没有无参构造器,则需要自己在子类构造器之前手写super()调用父类构造器。//想要输出具体的对象而不是地址可以对toString()方法重写。其实每次子类的构造器前都会有一个super()默认没有显示罢了。//子类可以继承父类的非私有成员。//创建四种权限修饰符不同的方法。//创建公开的成员变量,方法。//创建私有的成员变量,方法。

2024-02-02 17:36:01 1040

原创 Java学习-static关键字

解释:a.类变量:该类中所有成员都共享的,在内存中只有一份,用于表示该类中所有成员只需。b.实例变量:该类中的每一的对象都有一个,用于储存每个对象的不同特点,比如age,score等。//类方法的使用可以类名.类方法;//实例变量的访问只可以用对象。//类变量的访问:类名.类变量(推荐)//2.定义类变量记录类的一个对象。//2.定义类变量记录类的一个对象。//实例方法的使用对象.实例方法。//3.定义一个类方法,返回对象。//3.定义一个类方法,返回对象。//对象.类变量(不推荐)

2024-02-01 21:44:46 885

原创 Java学习-案例-ATM系统

对不起,您输入的卡号不存在,请您重新输入!您输入的业务编号有误,请重新输入!对不起,您输入的金额超过了您的存取限额。对不起,您输入的金额超过了您的存取限额。信息输入错误,认证失败,请重新认证!当前银行无账户信息,请您先去开户!您的账户还有余额,无法执行该操作!输入错误,请您检查!两次输入不一致,请您重新输入!您输入的指令有误,请重新输入。存款成功,您的账户现有余额为。取款成功,您的账户现有余额为。账户过少无法转账,请去开户。将创建的对象添加到集合里。输入错误,请您重新输入!余额不足,您最多可以取出。

2024-01-31 23:25:44 1074

原创 Java学习-常用API-ArrayList

/此处如果不加i--,会出现bug。if(shopList.get(i).contains("枸杞")){//7.删除指定索引处的元素,返回是否删除成功。//8.修改指定索引处的元素,返回被修改元素。//6.删除指定索引处的元素,返回删除元素。//3.在集合中指定位置插入指定的元素。//遍历并删除元素:去除低于80的数。//2.将指定元素添加到集合末尾。//1.创建一个空的集合对象。//4.返回指定索引处的元素。//5.返回集合中元素的个数。//结合面向对象编程完成案例。//常用api的使用。

2024-01-30 19:02:17 1288

空空如也

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

TA关注的人

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