记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

提高千倍效率的 Java 代码小技巧

点击下方“IT牧场”,选择“设为星标”前言代码优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无 BUG 上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的。
发布时间:2021-09-11 21:45 | 阅读:4742 | 评论:0 | 标签:java

Java反射与利用

点击上方蓝字关注我们0x00 前言    反射可以说是Java中最强大的技术了,它可以做的事情太多太多,很多优秀的开源框架都是?
发布时间:2021-09-09 11:03 | 阅读:4347 | 评论:0 | 标签:java

开源项目中经常看到 package-info.java 文件,你知道其作用吗?

#java ,8 #代码 ,5 点击下方“IT牧场”,选择“设为星标” 一、pacakge-info.java介绍pacakge-info.java是一个Java文件,可以添加到任何的Java源码包中。pacakge-info.java的目标是提供一个包级的文档说明或者是包级的注释。
发布时间:2021-09-02 21:45 | 阅读:7621 | 评论:0 | 标签:java

【技术分享】二进制角度构造Java反序列化Payload

#golang ,2 #反序列化 ,6 #java安全 ,2 #Ysoserial ,2  介绍最近用Go编写Java反序列化相关的扫描器,遇到一个难点:如何拿到根据命令生成的payload通过阅读
发布时间:2021-09-02 19:05 | 阅读:7269 | 评论:0 | 标签:二进制 java 序列化

SMASH:从JavaScript发起同步多行Rowhammer攻击

robots 尽管它们的 DRAM 内目标行刷新 (TRR,Target Row Refresh) 缓解,一些最新的 DDR4 模块仍然容易受到多行 Rowhammer 位翻转的影响。 虽然这些位翻转可以从本机代码中利用,但在浏览器中从 JavaScript 触发它们面临三个重大挑战。鉴于 JavaScript 中缺少缓存刷新指令,现有的基于驱逐(eviction-based)的 Rowhammer 攻击对于较旧的单行(single-sided)或双行(double-sided)变体来说已经很慢,因此并不总是有效。
发布时间:2021-09-01 11:37 | 阅读:7158 | 评论:0 | 标签:java javascript 攻击

二进制角度构造Java反序列化Payload

robots 介绍最近用Go编写Java反序列化相关的扫描器,遇到一个难点:如何拿到根据命令生成的payload通过阅读已有开源工具的源码,发现大致有以下两种?
发布时间:2021-09-01 11:37 | 阅读:8210 | 评论:0 | 标签:二进制 java 序列化

java反序列化-动态代理

#反序列化 ,5个 前言在分析readObject 和writeObject中 都会进去NonProxy方法中去分析,那么可以猜到,反序列化中,当满足一定的条件,会调用代理模式,这篇就来讲一下Java的动态代理机制。代理模式用一句话来形容下代理模式:设置一个中间代理来访问目标对象,以达到增强原对象的功能和简化访问方式。 代理模式的作用隔离:避免目标类被直接调用,保护目标类不被曝光扩展功能:可以在代理类基础上添加自己的业务逻辑,而不用去破坏原有的核心功能Java 代理模式Java的代理模式分为三种:静态代理、动态代理和cglib代理,学习反序列化漏洞中,Jdk动态代理是我们需要关注的重点。
发布时间:2021-09-01 11:03 | 阅读:7771 | 评论:0 | 标签:java 序列化 代理

Java安全之ysoserial-URLDNS链分析

robots 0x00 写在前面Java提供了一种序列化的机制可以将一个Java对象进行序列化后,用一个字节序列表示,并在Java虚拟机之间或网络间传输,之后可通过readObject()方法反序列化将字节序列反序列化还原成原先的对象。而如果对于反序列化没有做安全限制,并且反序列化点可控的话,我们可以通过一个恶意的序列化对象通过利用链,去达到执行任意代码的目的。而我们平常复现或利用反序列化漏洞时,也经常会用到ysoserial项目去生成序列化payload,下面就先分析学习一下ysoserial中的URLDNS链。
发布时间:2021-08-30 19:40 | 阅读:8927 | 评论:0 | 标签:java 安全 分析 DNS

【玩转腾讯云】本地JavaWeb项目部署到腾讯云轻量服务器,实现公网访问

实现逻辑 主要是网上教程太乱,而且很碎片;我这边做一个整体教程和演示。 主要有两种形式:带tomcat的jar包、不带tomcat的war包。 简述一下逻辑: 实现逻辑 本次教程,Tomcat项目打包成war包到服务器上发布,Springboot项目打包为jar或war包到服务器上发布: war:Tomcat/Springboot项目打包 jar:Spring web项目(Springboot)打包 前提 服务器前提 既然要部署到服务器,给公网用户访问,肯定是需要一台服务器的(Linux系统比较推荐,Windows Server占用系统资源过高)。 如果你不会操作Linux,可以使用宝塔面板。
发布时间:2021-08-30 16:15 | 阅读:7390 | 评论:0 | 标签:java 腾讯

Java安全反射利用-1

Java反射简介 在Java中反射机制是指在运行状态中,对任意一个类都能够动态的知道这个类所有的属性和方法,并且能够调用任意一个对象里面的任意一个方法;这种动态获取信息以及动态调用对象方法的功能被称为Java语言的反射机制。
发布时间:2021-08-27 16:57 | 阅读:9190 | 评论:0 | 标签:java 安全

java の javafx编译jar

根据官网的没弄成功,总是没加载包,生成的文件只有10几KB: 参考了https://www.cnblogs.com/jiading/p/11875889.html 引入了maven-assembly-plugin包 <build> &
发布时间:2021-08-27 14:01 | 阅读:7595 | 评论:0 | 标签:Java笔记 javafx编译jar maven-assembly-plugin java

Java中如何保证线程安全性

#架构 13 #运维 6 点击下方“IT牧场”,选择“设为星标”来源:blog.csdn.net/weixin_40459875/article/details/80290875一、线程安全在三个方面体现1.原子性:提供互斥访问,同一时刻只能有一个线程对数据进行操作,(atomic,synchronized);2.可见性:一个线程对主内存的修改可以及时地被其他线程看到,(synchronized,volatile);3.有序性:一个线程观察其他线程中的指令执行顺序,由于指令重排序,该观察结果一般杂乱无序,(happens-before原则)。接下来,依次分析。
发布时间:2021-08-26 00:48 | 阅读:11373 | 评论:0 | 标签:java 安全

java の maven+javafx 设置

1、之前创建java图形化直接创建的javafx项目: 2、当下需要使用图形化使用javafx 再使用maven更新,相关点记录如下: (1)安装SceneBuilder16,配置idea: (2)、安装gluon plugin插件: (3)、参考https://openjfx.cn/openjfx-docs/#install-javafx:进行openfx安装: 详见: JavaFX 入门 官网说明还是很重要;官网:https://openjfx.cn/ (4)、一切安装完毕之后,运行还是会报错,报错文件为:module-info.java 直接重命名或者删除即可运行正常。
发布时间:2021-08-25 00:59 | 阅读:9233 | 评论:0 | 标签:Java笔记 java

说说JAVA反序列化

#JAVA反序列化 1 #漏洞分析复现 1 #JBOSS反序列化 1     JAVA 是我国开发者广泛使用的开发语言,在金融行业使用尤为突出。实战中,利用 Java 反序列化实现远程命令执行的案例增长趋势明显,同时,WebLogic、 WebSphere、 JBoss、 Shiro等框架也都先后受到反序列化漏洞的影响,不安全的反序列化漏洞也已被列入OWASP Top 10(2021)。0x01 关于JAVA序列化和反序列化    序列化是把对象转换为字节序列的过程,反序列化是把字节序列恢复为对象的过程。
发布时间:2021-08-23 00:51 | 阅读:8471 | 评论:0 | 标签:java 序列化

Java反序列化数据绕WAF之延时分块传输

#奇安信攻防社区 31 #补天技术文章 36 #补天平台 35 本文首发于奇安信攻防社区社区有奖征稿· 基础稿费、额外激励、推荐作者、连载均有奖励,年度投稿top3还有神秘大奖!· 将稿件提交至奇安信攻防社区(点击底部 阅读原文 ,加入社区)点击链接了解征稿详情0x01 背景chunked-coding-converter在0.2.1以及之前版本是不支持对二进制数据进行分块的。这个问题实验室的darkr4y师傅今年3月份的时候就已经反馈了多次,由于懒癌在身一直没有更新。直到我自己遇到一个站点,反序列化带大量脏数据没有绕成功,于是又想起了分块传输。
发布时间:2021-08-21 14:14 | 阅读:15521 | 评论:0 | 标签:java WAF 序列化

Java内功--动态代理

     动态代理在代码审计中很重要, 很多地方都会用到 。如果想做代码审计 必须要掌握 必须要掌握动态代理    代理类在程序运行时创建的代理方式被代理成为动态代理。我们上面静态代理的例子中,代理类(studentProxy)是自己定义好的,在程序运行之前就已经编译完成。然而动态代理,代理类并不是在Java代码中定义的,而是在运行时根据我们在Java代码中的“指示”动态生成的。相比于静态代理, 动态代理的优势在于可以很方便的对代理类的函数进行统一的处理,而不用修改每个代理类中的方法。
发布时间:2021-08-19 17:03 | 阅读:9463 | 评论:0 | 标签:java 代理

Java 内存攻击技术漫谈

作者:rebeyond原文链接:https://mp.weixin.qq.com/s/JIjBjULjFnKDjEhzVAtxhw 前言Java技术栈漏洞目前业已是web安全领域的主流战场,随着IPS、RASP等防御系统的更新迭代,Java攻防交战阵地已经从磁盘升级到了内存里面。在今年7月份上海银针安全沙龙上,我分享了《Java内存攻击技术漫谈》的议题,个人觉得PPT承载的信息比较离散,技术类的内容还是更适合用文章的形式来分享,所以一直想着抽时间写一篇和议题配套的文章,不巧赶上南京的新冠疫情,这篇文章拖了一个多月才有时间写。
发布时间:2021-08-19 14:55 | 阅读:8797 | 评论:0 | 标签:java 攻击 内存

Java 代码中,如何监控 MySQL 的binlog?

码农参上 Author Dr Hydra 码农参上 专注后端技术分享,有趣、深入、直接,与你聊聊技术。 点击下方“IT牧场”,选择“设为星标”最近在工作中,遇到了这样一个业务场景,我们需要关注一个业务系统数据库中某几张表的数据,当数据发生新增或修改时,将它同步到另一个业务系统数据库中的表中。一提到数据库的同步,估计大家第一时间想到的就是基于binlog的主从复制了,但是放在我们的场景中,还有几个问题:第一,并不是需要复制所有表的数据,复制对象只有少量的几张表第二,也是比较麻烦的,两个业务系统数据库表结构可能不一致。
发布时间:2021-08-18 06:30 | 阅读:15177 | 评论:0 | 标签:java SQL

Java内存攻击技术漫谈

收录于话题 前言Java技术栈漏洞目前业已是web安全领域的主流战场,随着IPS、RASP等防御系统的更新迭代,Java攻防交战阵地已经从磁盘升级到了内存里面。在今年7月份上海银针安全沙龙上,我分享了《Java内存攻击技术漫谈》的议题,个人觉得PPT承载的信息比较离散,技术类的内容还是更适合用文章的形式来分享,所以一直想着抽时间写一篇和议题配套的文章,不巧赶上南京的新冠疫情,这篇文章拖了一个多月才有时间写。
发布时间:2021-08-18 01:16 | 阅读:19355 | 评论:0 | 标签:java 攻击 内存

Java安全--静态代理

     在Java代码审计中静态代理是必须要掌握的,什么是Java静态代理?代理这个词是来源于Java设计模式中的代理模式,代理模式最简单的理解就是通过第三方来代理我们的工作场景模拟:在一个项目中连接数据库操作是不可避免的,不可能每个开发人员在连接数据库时都要重新写一边连接代码,此时需要一个接口(Mappr1)。连接,关闭数据库功能的代码封装放到实现了接口的代理类里面(StaticProxy), 每个需要用到连接,关闭数据库功能的对象(Usermappr, Adminmappr)只需要实现这个接口即可。
发布时间:2021-08-17 19:50 | 阅读:9739 | 评论:0 | 标签:java 安全 代理

【Java开发记录】maven项目引入找不到包解决(三)

最近自己在研究java代理、代码混淆:发现本地的maven包下载下来,但是无法idea添加:(记录一下过程)自己重新配置了一下maven:一、maven安装和配置1、下载安装下载地址: https://maven.apache.org/download.cgi下载解压复制到/usr/local/下2、配置环境变量打开终端,输入命令:vi ~/.bash_profile 如果没有该文件,就输入命令touch ~/.bash_profile ,再输入上面的命令。打开.bash_profile之后,按下i键,使其进入编辑状态。
发布时间:2021-08-16 14:28 | 阅读:9682 | 评论:0 | 标签:java

Java代码审计系列(六) 反序列化

#代码审计 6 #Java代码审计 4 #Java安全 4 #反序列化 1 01 概述首先我们介绍下序列化和反序列化的概念:序列化:把Java对象转换为字节序列的过程。反序列化:把字节序列恢复为Java对象的过程。对象的序列化主要有两种用途:把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;(持久化对象)在网络上传送对象的字节序列。(网络传输对象)任何一门成熟的语言,在网络上传递信息,都会使用到一些格式化的数据结构,比如YAMLJSONXML像阿里的FastJson就是简单化处理JSON格式的数据的。
发布时间:2021-08-15 22:29 | 阅读:10086 | 评论:0 | 标签:java 审计 序列化

Java中的集合Set - 入门篇

前言 大家好啊,我是汤圆,今天给大家带来的是《Java中的集合Set - 入门篇》,希望对大家有帮助,谢谢 简介 前面介绍了集合List,映射Map,最后再简单介绍下集合Set,相关类如下图所示 集合 正文 Set从外面看像List(都是存储单一数据的集合),只不过存储的数据不会有重复; 但是里面却是Map映射(因为它内存存储是基于Map结构实现),这也是为什么把Set放到Map后面来说的原因。
发布时间:2021-08-12 14:34 | 阅读:9812 | 评论:0 | 标签:java

JAVA反序列化的简单探究

#JAVA安全 18 #代码审计 18 #web安全 22 #渗透测试 24 #漏洞 17 本文主要是探究,在反序列化过程中是怎么调用到readObject、readResolve、readExternal方法的问题新建
发布时间:2021-08-11 12:12 | 阅读:12323 | 评论:0 | 标签:java 序列化

新书推荐 | 《Java代码审计(入门篇)》

robots文末赠书 “师傅领进门,修行靠个人”一说,强调了在钻研某一领域时,个人能动性这一影响因子对成效的左右能力。不过,在考验个人悟性之前,入门的一步也很有讲究。系统性的框架搭建和妥帖详实的案例辅助,能够帮助初学者构造出高阔稳固的房梁。当建筑外体初具雏形,后续的填充装饰环节便到了初学者们各显身手的时刻。对于有意学习应用Java语言进行代码审计的人而言,新书《Java代码审计(入门篇)》是一本新手友好的的入门指南,可以帮助初涉这一领域的安全人员或研发人员补充实用预备知识。书中配备的详细案例讲解,也能方便初学者同步进行实际操作,扎实掌握知识技能。
发布时间:2021-08-10 15:27 | 阅读:18465 | 评论:0 | 标签:java 审计

嘶吼送书 ||《Java代码安全审计:入门篇》

嘶吼送书时间到,学习Java代码安全审计,这本书将会带你快速入门!背景介绍近年来,愈来愈多的安全服务(尤其各类众测和护网活动) 漏洞来自基于Java的各类应用。安全从业者也许对漏洞利用工具的使用了然于心,却对漏洞的产生原理上一知半解。《Java代码安全审计:入门篇》是读者进阶的一大利器,修炼好内功才能练就出渗透测试的真功夫!代码审计一直是发现应用漏洞的有效方式。相对于常见的黑盒扫描,代码审计可以发现更多隐藏的问题,因此常常被当作SDL的非常重要的一环。
发布时间:2021-08-10 14:53 | 阅读:19785 | 评论:0 | 标签:java 审计 安全

Go 语言比 Java 更优美,不服来辩!

发现一个 2021 年报告,显示 Go 是最想学习的编程语言Go 到如今的火爆程度,不仅仅是因为有个好爹。上手快,一周就能入门上手,正常人写的 Go 都不会太差。有人说,它有一种迷人的气质,很难用语言表达,喜欢这种气质的人用 Go 写代码是一种享受。对大多数公司来说,Go 的主要优势是和 C++ 相比有 GC,和 Java 相比更简洁,和 Python 相比更快,这就在一个不错的位置上了。再加上 Go 还没有明显的短板,应用场景超多,所以很多公司都开始大量招聘 Go 语言研发。这不转眼快到面试季,金九银十又来了,不只是工程师个人需求,各个公司大厂也是卯足了劲儿开始要人。
发布时间:2021-08-10 14:53 | 阅读:12164 | 评论:0 | 标签:java

公告

永久免费持续更新精选优质黑客技术文章Hackdig,帮你成为掌握黑客技术的英雄

求赞助求支持💖

标签云