自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux学习小随笔

记录下日常使用到linux命令的一下记录,算是一些小技巧

2023-07-19 15:13:59 287

原创 java原生反序列化利用链7u21的学习

在之前的反序列化利用链学习中,前提条件都用到了第三方库,那么如果不利用第三方类库,是否能进行反序列化利用链呢?答案是可以的,那就是 JDK7u21, 但是它适用于 java 7u21及之前的版本。所以使用这条利用链,需要将项目版本设置为 7u21。

2024-12-02 21:00:00 1001

原创 CommonsBeanutils与Shiro发序列化利用的学习

前面的学习中,过了一遍cc1-cc7的利用链,在CC2的利用链中,学习了 java.util.PriorityQueue,它在Java中是一个优先队列,队列中每一个元素都有自己的优先级。在反序列化这个对象时,为了保证队列顺序,会进行重排序的操作,而排序会进行比较,进而执行 java.util.Comparator 接口的 compare()方法。那么,后续我们可以继续学习下其他利用 java.util.Comparator 对象。

2024-11-20 19:30:00 1037

原创 Java反序列化之CommonsCollections4、5、7 链的学习

前面的文章中,基本把CC链的关键部分学习的差不多了,利用过程也是比较清晰了,接下来把 CommonsCollections 4、5、7 利用链学习下,扩展下思路。

2024-11-13 22:30:00 638

原创 Java反序列化之CommonsCollections2链的学习

Apache Commons Collections 是一个著名的辅助开发库,包含了一些Java中没有的数据结构和辅助方法,不过随着Java 9 以后的版本中原生库功能的丰富,以及反序列化漏洞的影响,它也在逐渐被升级或替代。可⻅,groupId和artifactId都变了。前者是Commons Collections⽼的版本包,当时版本号是3.2.1;后 者是官⽅在2013年推出的4版本,当时版本号是4.0。

2024-11-11 22:00:00 928

原创 TemplatesImpl 在Shiro中的利用链学习1

在前面的学习中,我们学习了CC1、CC6链,其中CC1链受限于Java8u71版本,而CC6则是通杀的利用链;后来又将 TemplateImpl 融入到 CommonsCollections 利用链中,绕过了不能使用的限制,转用构造了CC3利用链,一样可以执行任意Java字节码;同时通过 TemplatesImpl 构造的利用链,理论上可以执行任意java代码,这是一种非常通用的代码执行漏洞,不受到对于链的限制,特别是内存马逐渐流行以后,执行任意 java代码的需求就更加浓烈了。

2024-11-11 19:30:00 1433

原创 java反序列化学习之CommonCollections3利用链的学习

在前文中,我们学习了Java的类加载过程,类加载器以及Java中加载字节码的一些方法,其中介绍了TemplatesImpl,TemplatesImpl是一个可以加载字节码的类,通过调用其newTransformer()方法,即可执行这段字节码的类构造器。那么,在反序列化的漏洞,能否利用这个特性执行任意代码呢?

2024-11-08 19:00:00 681

原创 java的类加载机制的学习

简单说Java字节码就是 .class 后缀的文件,里面存在Java虚拟机执行的命令。由于Java是一门跨平台的编译型语言,所以可以适用于不同的平台,不同CPU的计算机,开发者只需要将自己的代码编译一次,就可以运行在不同平台的JVM中。甚至,开发者可以用类似Scala、Kotlin这样的语言编写代码,只要你的编译器能够将代码编译成 .class 文件,都可以在JVM虚拟机中运行。当然也可以理解的更广义一些--- 所有能够恢复成一个类并在JVM虚拟机里加载的字节序列。

2024-11-07 22:37:36 840

原创 java反序列化之CommonCollections6利⽤链的学习

前文学习CC1链和URLDNS链的学习,同时学习过程中知道cc1受jdk版本的限制,故而进一步分析cc6链的利用过程,这个利用链不受jdk版本的限制,只要commons collections小于等于3.2.1,都存在这个漏洞。

2024-10-10 11:33:41 1013

原创 java反序列化之CommonCollections1利⽤链的学习

本文主要记录自己的学习记录,主要摘自P神的文章,讲解CC1链的利用过程。

2024-08-23 17:57:09 896

原创 java学习之zip炸弹攻击

Zip炸弹是一种特殊类型的Zip文件,它包含了大量的无用数据。Zip文件格式允许使用压缩算法来减小文件的大小,但是如果Zip文件中的某些内容被重复压缩,就会导致文件大小急剧增加。Zip炸弹利用这个特性,将一些无用的数据多次压缩到一个Zip文件中,从而生成一个极其庞大的文件。当服务器尝试解压缩这个Zip文件时,它需要解压缩所有的内容。由于Zip炸弹中包含了大量的重复数据,这可能会导致服务器耗尽所有的内存和CPU资源,从而导致服务器崩溃或拒绝服务攻击。

2024-05-13 10:45:53 2341

原创 分析某款go扫描器之五

前面几篇文章已经把实现的功能都说完了,这篇主要分析下启动函数,并且说明脚本的参数项作用。项目来源:https://github.com/XinRoom/go-portScan/blob/main/util/file.go。

2024-05-10 20:17:17 645

原创 java序列化和反序列化基础学习

(1)Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程;(2)**序列化:**对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中。序列化后的字节流保存了Java对象的状态以及相关的描述信息。序列化机制的核心作用就是对象状态的保存与重建。

2024-04-30 14:07:22 1089 2

原创 java反序列化之URLDNS链学习

1、Java 序列化是指把 Java 对象转换为字节序列的过程。ObjectOutputStream类的 writeObject() 方法可以实现序列化。2、Java 反序列化是指把字节序列恢复为 Java 对象的过程。ObjectInputStream 类的 readObject() 方法用于反序列化。

2024-04-25 18:11:27 1095 3

原创 利用burp抓取app和小程序的http包

为了开展C/S的渗透测试,主要是针对web的测试,需要截取客户端的访问流量,这里整理几种常见的抓取app和小程序包的方法。

2024-04-15 16:46:03 3253 3

原创 分析某款go扫描器之四

上文提到实现IP的探测存活以及tcp扫描的实现,这部分来分析实现本机网卡信息获取,以及维护一张mac地址表以及ip扫描端口状态表,同时实现syn扫描功能。

2023-12-20 19:42:14 765 1

原创 分析某款go端口扫描器之三

前两篇主要分析些工具集,已经针对web服务的指纹和端口指纹信息进行识别,并没有真正开始扫描。本篇主要分析如何进行IP存活探测以及tcp扫描实现。

2023-12-13 19:46:28 566 1

原创 分析某款go端口扫描器之二

本次主要分析指纹识别部分,针对开放http的端口的服务信息进行识别。

2023-12-13 19:34:51 456

原创 分析某款go端口扫描器之一

进来在学go的端口检测部分,但是自己写遇到很多问题,又不知道从何入手,故找来网上佬们写的现成工具,学习一波怎么实现的。分析过程杂乱,没啥思路,勿喷。

2023-11-29 20:25:28 636

转载 金融科技SDL安全设计Checklist

禁止向Java Runtime.exec()方法传递不可信、未净化的数据(当参数中包含空格,双引号,以-或者/符号开头表示一个参数开关时,可能会导致参数注入漏洞),建议如果可以禁止JVM执行外部命令,未知漏洞的危害性会大大降低,可以大大提高JVM的安全性。在处理以前,验证所有来自客户端的数据,包括:所有参数、URL、HTTP头信息(比如:cookie名字和数据值),确定包括了来自 JavaScript、Flash 或其他嵌入代码的post 返回信息。应用的异常信息应不带有敏感信息,给出尽可能少的提示;

2023-11-29 15:42:31 349

原创 linux系统基线配置相关

服务器安全基线是指为满足安全规范要求,考虑到信息安全管理的三+四个特性:保密性、完整性、可用性、可审计性、可靠性、抗抵赖性。服务器安全配置必须达到的标准,一般通过检查安全配置参数是否符合安全标准或公司标准来度量。主要包括了账号配置安全、口令配置安全、授权配置、日志配置、IP通信配置等方面内容,这些安全配置直接反映了系统自身的安全脆弱性。

2023-11-28 20:07:09 476

原创 arp报文及使用go实现

ARP(Address Resolution Protocal,地址解析协议)是将IP地址解析为以太网的MAC地址(或者称为物理地址)的协议。在局域网中,当主机或其他网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即IP地址)。但是仅仅有IP地址还是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送,因为发送站还必须有接收站的物理地址,所以需要一个从IP地址到物理地址的映射。ARP就是实现这个功能的协议。

2023-11-24 09:11:23 1333 1

原创 api安全测试的学习

在当前数字化快速发展的时代,API(应用程序编程接口)成为连接不同服务和数据的关键。随着API的普及,它们成为了网络安全中的重要环节。API安全测试确保数据交换的安全性和完整性,预防数据泄露、未授权访问和其他安全威胁。因此,制定和实施一个全面的API安全测试方案对于保护企业和客户的数据至关重要。

2023-11-16 15:58:40 218

原创 iptables的四表五链以及一些应用小场景

iptables是Linux的防火墙管理工具而已,真正实现防火墙功能的是Netfilter,我们配置了iptables规则后Netfilter通过这些规则来进行防火墙过滤等操作Netfilter模块:它是主要的工作模块,位于内核中,在网络层的五个位置(也就是防火墙四表五链中的五链)注册了一些钩子函数,用来抓取数据包;把数据包的信息拿出来匹配各个各个链位置在对应表中的规则:匹配之后,进行相应的处理ACCEPT、DROP等等。下面这张图很明了的说明了Netfilter和iptables之间的关系。

2023-10-30 18:03:32 933

原创 go中网络流量分析gopacket库的使用

gopacket 是 Go 语言的网络数据包处理库,它提供了方便的 API 来读取、分析、修改和生成网络数据包。你可以使用这个库来修改数据包内容,以实现特定的网络测试或安全目的。修改数据包的过程大致如下:使用 gopacket 读取数据包并解码为特定协议的数据结构(如 IP、TCP 等)。修改相应的字段,如源 IP 地址、目的 IP 地址、源端口、目的端口等。将数据包编码为原始字节流并写回网络。通过 gopacket 库可以很方便地实现数据包的修改。

2023-10-27 15:13:24 1395

原创 如何绕过api的防重放做安全测试

笔者在进行api接口的测试时(因为菜没有工具,只能另辟蹊跷),使用postman+xray进行安全测试,但是因为nonce参数检测的缘故,导致xray的发出的扫描包全部失效,导致无法使用xray进行安全扫描,由此引入问题。

2023-10-17 17:11:11 970

原创 关于信息安全软考的记录6

本文主要记录入侵检测以及物理隔离、安全审计、安全漏洞等相关内容的学习

2023-10-13 11:39:55 252

原创 关于信息安全软考的记录5

本文主要记录防火墙相关技术以及vpn相关知识。

2023-10-12 10:39:25 198

原创 关于信息安全软考的记录4

本文主要记录认证相关的以及访问控制等相关概念的学习。

2023-10-11 13:51:51 149

原创 关于信息安全软考的记录3

本文主要针对网络安全体系 以及 物理安全规章的学习

2023-10-10 11:50:13 170

原创 关于信息安全软考的记录2

本文主要记录常见攻击手段,以及密码学相关知识

2023-10-09 16:50:55 222

原创 关于信息安全软考的记录1

本文主要记录网络信息安全的基本属性以及密码、等保的相关知识

2023-10-08 17:54:19 164

原创 gorm库的Find方法引发的问题

笔者在学习一个项目时,有一个登录需求,在登录时需要判断用户是否存在,特引入了Find方法做查询,然后根据返回值做判断,没想到因为Find的特性,导致判断存在问题,不管用户名是否存在,都会返回一个user实例,导致登录逻辑出错。

2023-10-07 16:19:30 1060

原创 用go实现http服务端和请求端

本文旨在学习记录下如何用go实现建立一个http服务器,同时构造一个专用格式的http客户端。

2023-09-25 14:53:32 1342

原创 用go实现cors中间件

CORS(Cross-Origin Resource Sharing)是一种浏览器安全机制,用于控制在Web应用程序中不同源(Origin)之间的资源共享。一个源是由协议(例如http或https)、主机(例如 www.example.com)、以及端口(例如80或443)组成的组合。CORS允许服务器定义哪些源可以访问其资源,以及哪些HTTP方法和头部可以在跨源请求中使用。

2023-09-20 16:23:19 898 2

原创 icmp报文及用go实现

因特网控制报文协议ICMP(Internet Control Message Protocol)是一个差错报告机制,是TCP/IP协议簇中的一个重要子协议,通常被IP层或更高层协议(TCP或UDP)使用,属于网络层协议,主要用于在IP主机和路由器之间传递控制消息,用于报告主机是否可达、路由是否可用等。这些控制消息虽然并不传输用户数据,但是对于收集各种网络信息、诊断和排除各种网络故障以及用户数据的传递具有至关重要的作用。ICMP的功能是检错而不是纠错。

2023-09-12 11:02:44 1265 2

原创 配置类安全问题学习小结

此文主要是针对扫描器常见的一些配置性漏洞的概述及如何修复的一些建议。

2023-09-06 15:09:30 9143 2

原创 文件包含漏洞学习小结

程序在引用文件的时,引用的文件名,用户可控的情况,传入的文件名没有经过合理的校验或校验不严,从而操作了预想之外的文件,就有可能导致文件泄漏和恶意的代码注入。程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这重文件调用的过程一般被称为文件包含。程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用,但正是由于这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。

2023-09-05 19:58:29 937

原创 文件上传漏洞学习小结

文件上传的问题主要是由于程序员对用户文件上传部分的控制不足或者处理缺陷,从而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件了。这里是上传的问题包含但不限于木马、病毒、恶意脚本或者webshell等。

2023-09-04 14:27:51 393

原创 用go实现dns请求

DNS分为查询请求和查询响应,两者的报文结构基本相同。DNS报文格式如下表展示事务ID(Transaction ID)标志(Flags)问题计数 (Questions)回答资源记录数(Answer RRs)权威名称服务器计数(Authority RRs)附加资源记录数(Additional RRs)查询问题区域(Queries)回答问题区域(Answers)权威名称服务器区域(Authoritative nameservers)附加信息区域(Additional records)

2023-09-02 14:29:27 1025

空空如也

空空如也

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

TA关注的人

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