首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Naraku的专栏

    Java安全-反序列化-5-CC3

    CommonsCollections3 字节码 严格来说,Java字节码(ByteCode)其实仅仅指的是Java虚拟机执行使用的一类指令,通常被存储在.class文件中。 URLClassLoader加载字节码 Java的ClassLoader是用来加载字节码文件的最基础的方法 正常情况下,Java会根据配置项sun.boot.class.path和java.class.path ; import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream ; import java.lang.annotation.Retention; import java.lang.reflect.Constructor; import java.lang.reflect.Field ; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Proxy; import java.util.HashMap

    69550编辑于 2022-04-26
  • 来自专栏绿盟科技研究通讯

    解析5G安全(二):5G安全需求

    随着5G的快速建设,5G的安全问题亟待解决。解决5G的安全问题,首先要明确5G的安全需求。 1.2 三大场景对终端的安全需求 除了终端基本的安全需求外,在5G中讨论终端安全需求不能脱离垂直应用场景。5G承载着千行万业的垂直应用,如车联网、工业物联网等。 在明确了5G的安全需求后,下一篇文章我们将对这些安全需求提出相应的安全举措,同时提出一种面向切片服务的多级协同安全防护机制,希望为5G安全防护提供一个新的视角。 5G安全是机遇也是挑战,让我们拥抱5G安全,共同守护5G的美好未来。 参考文献: [1].Rupprecht D , Kohls K , Holz T , et al. 5G移动通信网络安全研究[J].

    8.7K22发布于 2019-12-11
  • 来自专栏陶然同学博客

    Java】线程安全

    相同的票数 , 比如 5 这张票被卖了两回。 2. 不存在的票,比如 0 票与 -1 票,是不存在的。 这种问题,几个窗口 ( 线程 ) 票数不同步了,这种问题称为线程不安全。 线程安全问题都是由全局变量及静态变量引起的。 要解决上述多线程并发访问一个资源的安全性问题 : 也就是解决重复票与不存在票问题, Java 中提供了同步机制 ( synchronized ) 来解决。 根据案例简述: 为了保证每个线程都能正常执行原子操作 ,Java 引入了线程同步机制。 那么怎么去使用呢?有三种方式完成同步操作: 1. 同步代码块。 2. 使用同步方法代码如下: 2.5 Lock锁 java.util.concurrent.locks.Lock 机制提供了比 synchronized 代码块和 synchronized 方法更广泛的锁定操作

    74320编辑于 2023-02-24
  • 来自专栏怀英的自我修炼

    Java漫谈5

    吴军老师有在他的《硅谷来信》中分享过他对于人工智能的看法,吴老师就认为,人工智能不会发展成黑客帝国的那种恐怖境地,原因是当初科学家在创立计算机之前先把人类要解决的事情分成了两类,一类是通过固定的步骤能得到答案的,另一类是无法通过确定的步骤得到准确答案的。而计算机的出现,就是为了提升解决前一种问题的效率和速度。 对于这种划分,仁者见仁智者见智。不过,我们先假定这种分法的正确性,那么,对计算机而言,它的出现,就是在替代人,做一些固定化流程的事情。比如从1+……+100这样的活,虽然我们也有高斯公式可以不用繁

    89390发布于 2018-03-12
  • 来自专栏Linyb极客之路

    5个REST API安全准则

    (1)网址验证 攻击者可以篡改HTTP请求的任何部分,包括url,查询字符串,标题,Cookie,表单字段和隐藏字段,以尝试绕过网站的安全机制。 有关详细信息,请参阅OWASP 2010年前10 - A7不安全加密存储。 5 - HTTP状态代码 HTTP定义了状态码。 当设计REST API时,不要只使用200成功或404错误。 以下是每个REST API状态返回代码要考虑的一些指南。 概要 在这篇文章中,介绍了5个RESTful API安全问题和如何解决这些问题的指南。遵循这些准则将导致更安全和高质量的REST API服务和更多的开发人员友好的REST API。 一些方法(例如,HEAD,GET,OPTIONS和TRACE)被定义为安全的,这意味着它们仅用于信息检索,并且不应该更改服务器的状态。在设计和构建REST API时,您必须注意安全方面。

    5.8K10发布于 2018-08-16
  • 来自专栏OneTS安全团队

    Java安全--Java反射机制(1)

    声明 本文属于OneTS安全团队成员mes9s0的原创文章,转载请声明出处! 本文章仅用于学习交流使用,因利用此文信息而造成的任何直接或间接的后果及损失,均由使用者本人负责,OneTS安全团队及文章作者不为此承担任何责任。 对于Java反序列化漏洞来说,Java反射机制必须理解,本文专门用来说明究竟什么才是Java反射。 虚拟机如何加载获取的类 , Java 默认根据类名( 即类的绝对路径 , 例如 java.lang.Runtime( ) )来加载类,Runtime类在Java安全从零到一(3)中讲过 ) 其中 , 安全从零到一(2)中讲过,可以详细翻看。

    46310编辑于 2025-02-07
  • 5个多云安全原则

    到2020年,95%的云安全失败将成为客户的错(2017年Gartner安全与风险管理峰会)。在安全方面,人为错误会带来各种风险。 依靠机器来自动执行例行的可重复的任务是确保您不会损害安全状态的好方法,尤其是在跨多个云供应商运行多个实例时。 我们建议组织利用自动化来设计安全。 但是它也可能带来风险,所以你要确保你利用自动化来确保所有的安全最佳实践被有效地管理,并且以最小的错误余量。 5.坚持共同责任模式 最后,确保你了解共同责任模式。 在过去的5年中,79%的企业经历了实际上已经转化为重大运营意外的风险(2017年Gartner安全与风险管理峰会)。 只要您将安全最佳实践置于最前沿,并采取措施确保您的云环境中的可见性,您就可以安全地实现公有云的优势,而不会受到任何潜在缺陷的困扰。

    1.7K110发布于 2018-02-06
  • 来自专栏Mac资源随时更新

    Dropshare 5,网络文件安全共享

    Dropshare 5 Mac版是一款强大的网络文件安全共享工具,可以同时设置不同的上传目的地,并使用用户定义的键盘快捷键在它们之间切换! 下载:Dropshare 5 Mac版图片1、一个新的外观我们已经确定Dropshare看起来像2019年,并删除了一些灰尘2、光线暗用户界面支持macOS Mojave中的新暗模式3、Dropbox支持使用我们全新的集成将您的上传内容存储在

    59830编辑于 2023-02-20
  • 来自专栏啄木鸟软件测试

    安全测试工具(连载5

    :POST数据发送到安全URL。 --safe-req=SAFER.. :从文件中加载安全HTTP请求。 --safe-freq=SAFE..:在两次访问给定安全网址之间测试请求。 --purge-output:安全地从输出目录中删除所有内容。 --smart :只有在正启发式时才进行彻底测试。 --sqlmap-shell:提示交互式sqlmap shell。 案例5:SQL注入的攻陷六步法 现在来看一个存在SQL注入的URL如何获得数据库内相关内容的。 1. 查看是否存在SQL注入。 5. 查看指定表的数据结构。 5. 查看指定表的数据结构。

    2.5K20发布于 2019-12-12
  • 来自专栏全栈程序员必看

    Java安全安全加密算法

    Java安全安全加密算法 0x00 前言 本篇文来谈谈关于常见的一些加密算法,其实在此之前,对算法的了解并不是太多。了解的层次只是基于加密算法的一些应用上。也来浅谈一下加密算法在安全领域中的作用。 MD5 md5的运用范围也比较广,比如在一些数据库存储密码的时候会去使用到该算法去进行加密存储。当然也可以看到网上的一些md5破解的。 ; import java.security.NoSuchAlgorithmException; public class MD5demo { private static String name SHA 安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法。 DES DES的算法其实已经被公开了,其实是不太安全的。

    1.7K20发布于 2021-04-07
  • 来自专栏闵开慧

    java中线程安全

    关于线程安全,是指当多个线程访问同一个变量时,该变量不会因为多线程访问产生意想不到的问题,为了避免多线程访问的不可预知的问题,对于程序中多线程能访问到的变量要加锁,即加synchronized,放在同步块中 当然jdk中自带的一些类本身就实现了该机制,本身就是线程安全的,比如StringBuffer,Vector等。多线程是程序中比较高级的一个方面,希望你能深入理解!

    82670发布于 2018-03-30
  • 来自专栏Naraku的专栏

    Java安全-RMI篇

    Java本身对RMI规范的实现默认使用JRMP协议,而在Weblogic中使用T3协议 JNDI(Java Naming and Directory Interface):Java命名和目录接口。 ; import java.rmi.Naming; import java.rmi.NotBoundException; import java.rmi.RemoteException; public Server的目标端口发起请求,并正式调用远程方法 远程调用报错 Client和Server的package路径需要一致 攻击RMI Registry 前面是RMI整个的原理与流程,那么RMI会带来哪些安全问题 官方文档:出于安全原因,应用程序只能绑定或取消绑定到在同一主机上运行的注册中心。这样可以防止客户端删除或覆盖服务器的远程注册表中的条目。但是,查找操作是任意主机都可以进行的。 RMI通信数据包:Java-Sec-RMI-rmi.pcapng.zip 参考文章: Java安全漫谈 基于Java反序列化RCE - 搞懂RMI、JRMP、JNDI Java安全之RMI反序列化 RMI

    1.2K30编辑于 2022-04-01
  • 来自专栏xdecode

    Java源码安全审查

    最近业务需要出一份Java Web应用源码安全审查报告, 对比了市面上数种工具及其分析结果, 基于结果总结了一份规则库. 本文目录结构如下:  ? 弱加密 在安全性要求较高的系统中,使用不安全的加密算法(如DES、RC4、RC5等),将无法保证敏感数据的保密性。 Hash 在安全性要求较高的系统中,不应使用被业界公认的不安全的哈希算法(如MD2、MD4、MD5、SHA、SHA1等)来保证数据的完整性。 Java API中提供了java.util.Random类实现PRNG(),该PRNG是可移植和可重复的,如果两个java.util.Random类的实例使用相同的种子,会在所有Java实现中生成相同的数值序列 Web应用程序应该为4xx(如404)错误、5xx(如503)错误、java.lang.Throwable异常定义一个错误页面,防止攻击者挖掘应用程序容器内置错误响应信息。

    3.7K20发布于 2018-07-25
  • 来自专栏Android补给站

    图解 Java 线程安全

    (本文内容是个人学习总结浅见,如有错误的地方,望大佬们轻拍指正) 2 线程安全 了解线程安全的之前先来了解一下 Java 的内存模型,先搞清楚线程是怎么工作的。 那么 Java 是如何来解决上述问题来保证线程安全,保证共享内存的原子性、可见性、有序性的呢? 3 线程同步 Java 提供了一系列的关键字和类来保证线程安全 3.1 Synchronized 关键字 保证方法或代码块操作的原子性 Synchronized 保证⽅法内部或代码块内部资源(数据)的互斥访问 finally { readLock.unlock(); } } 关于 Lock 实现原理和更详细的使用推荐以下2篇文章:Lock锁的使用: https://juejin.im/post/5ab9a5b46fb9a028ce7b9b7e #heading-2 Lock锁源码分析: https://juejin.im/entry/5b4ddf6d6fb9a04f97650336 4 总结 出现线程安全问题的原因:在多个线程并发环境下,多个线程共同访问同一共享内存资源时

    94950发布于 2019-07-22
  • 来自专栏Naraku的专栏

    Java安全-反射篇

    Java安全可以从反序列化漏洞开始说起,反序列化漏洞⼜可以从反射开始说起。 反射机制 可以获取到任何类的构造方法Constructors、成员方法Methods、成员变量Fields等信息 核心方法:基本上这⼏个⽅法包揽了Java安全⾥各种和反射有关的Payload。 先通过反射来获取其构造函数,再调用start()方法执行命令: package com.naraku.sec.reflection; import java.util.List; import java.util.Arrays String.class).invoke(cs.newInstance(), "open /System/Applications/Calculator.app"); } } 实例-沙盒绕过 在安全研究中 Java安全漫谈 Code-Breaking Puzzles — javacon WriteUp 版权属于:Naraku 本文链接:https://www.naraku.cn/posts/116.html

    1.1K20编辑于 2022-03-29
  • 来自专栏渔夫

    Java-安全发布

    一、安全发布的定义  发布是一个动词,是去发布对象。而对象,通俗的理解是:JAVA里面通过 new 关键字 创建一个对象。  发布一个对象的意思是:使对象在当前作用域之外的代码中使用。 Demo-1: import java.util.HashSet; import java.util.Set; public class PublishExample { public static 2.1 this引用逸出  先看一个不安全发布的示例----this引用逸出。参考《Java并发编程实战》第3章程序清单3-7。 看下面示例(Demo-5):其中让EventSource对象持有EventListener对象的引用,也意味着:隐式地持有ThisEscape对象的引用了,这就是this引用逸出。 Java内存模型(JMM)定义了Happens-Before关系,用来判断程序执行顺序的问题。这个概念还是太抽象,下面会用具体的示例说明。  

    1K20发布于 2019-07-31
  • 来自专栏FunTester

    Java线程安全ReentrantLock

    在学习Java语言的过程中,多线程是一个算是进阶的选择。我最近又学到了一个新技能ReentrantLock类,这个应该目前最简单的线程安全使用方式了,当然暴力synchronized除外。 首先回顾一下之前的线程安全常用同步类的文章: CountDownLatch类在性能测试中应用 CyclicBarrier类在性能测试中应用 Phaser类在性能测试中应用 Java线程同步三剑客 下面介绍一下 ReentrantLock真的是一个非常好用的多线程安全工具类。 这一点跟之前的文章如何mock固定QPS的接口、moco固定QPS接口升级补偿机制中用到的线程安全之流量控制类java.util.concurrent.Semaphore的使用基本一致,相比之下java.util.concurrent.locks.ReentrantLock ,这里用Java语言进行演示。

    56520发布于 2021-11-12
  • 来自专栏学习/读书笔记

    Java入门(5)-- 数组

    Java语言中,数组是具有相同数据类型的一组数据的组合,数组中的每个元素具有相同的数据类型。 先声明,再用new关键字进行内存分配 声明的两种方式: 数组元素类型 数组名字[] 数组元素类型[] 数组名字 数组元素类型决定了数组的数据类型,它可以是Java中任意的数据类型,包括简单类型和组合类型 声明的同时为数组分配内存 语法: 数组元素的类型 数组名[] = new 数组元素的类型[数组元素的个数] 1.1.2 初始化一维数组 两种形式: int arr[] = new int[]{1, 2, 3, 4, 5} int arr2[] = {5, 6, 7, 8, 9} 1.1.3 使用一维数组 1.2 二维数组的创建及使用 如果一维数组中的各个元素仍然是一个数组,那么它就是一个二维数组。 1.3 数组的基本操作 java.util包的Arrays类包含了用来操作数组的各种方法。 1.3.1 遍历数组 遍历数组就是获取数组中的每个元素。

    73120编辑于 2022-04-07
  • 来自专栏兜兜毛毛

    Java集合---CopyOnWriteArrayList(5

    用途与特点 可用于多读取,写入需要线程安全的情况使用。 实现算法 该集合如其名字一样,是先创建一个新的数组,然后将旧的数组copy到新数组中,再切换数组引用。 oldValue; } finally { lock.unlock(); } } 扩容机制 扩容时机:在增加数据时,没增加一个扩容一个 是否线程安全 线程安全,在源码中对数据操作使用ReentrantLock方法,保证了并发锁。 具体ReentrantLock的使用详解与synchronized有何区别,会在之后详细查看并发时做补充。

    51810发布于 2019-10-23
  • 来自专栏全栈程序员必看

    Java面经5

    Spring事务的本质是对数据库事务的封装支持,没有数据库对事务的支持,Spring本身无法提供事务管理功能。

    32230编辑于 2022-07-23
领券