- 博客(69)
- 收藏
- 关注
原创 深入浅出内存马
上面的都是21年之前的东西了,现在是23年7月,显然已经过去了两年半,这两年半里还有很多技术的更新。不过技术更新应该也是针对Tomcat不同版本的增加。关于内存马的利用,也延伸到了其他组件。
2023-07-17 07:45:19
550
原创 rabbitmq学习
文章目录基礎direct模式fanouttopicheader事務負載均衡消息确认堆积丢失重复消费基礎direct模式生產端創建並綁定交換機和隊列,其中重點關注queue的名字,exchange的名字,routingKey的名字 @Bean public Queue rabbitmqDemoDirectQueue() { /** * 1、name: 队列名称 * 2、durable: 是否持久化 * 3、ex
2022-05-12 17:14:56
603
原创 4种java连接池设计和总结
https://blog.youkuaiyun.com/shengxiaohua1/article/details/120702347还有微信的一篇文章
2022-05-08 14:46:07
741
原创 LockSupport学习
文章目录blockerThread.interrupt()Object.wait()/notify()常用方法public static void park(Object blocker); // 暂停当前线程public static void parkNanos(Object blocker, long nanos); // 暂停当前线程,不过有超时时间的限制public static void parkUntil(Object blocker, long deadline); // 暂停当前线
2022-04-10 06:06:21
252
原创 新版jdk的LinkedHashMap源码和LRU
文章目录一些变量get方法newNoderemoveEldestEntry总结下建议先看HahsMap的源码:https://blog.youkuaiyun.com/superprintf/article/details/123874360LinkedHashMap使用适配器模式,将HashMap和LinkedList适配在一起,HashMap我们清楚,那LinkedList就是按照插入结点的顺序维护一个双向链表。最终达到可以循环访问的效果一些变量head是最老的,tail是最年轻的accessOrde
2022-04-09 12:44:54
804
原创 java并发和锁,自己动手(一)
文章目录CAS(乐观锁)AtomicIntegerUnsafeConcurrentHashMapputCAS(乐观锁)CAS,是Compare and Swap的简称,在这个机制中有三个核心的参数:主内存中存放的共享变量的值:V(一般情况下这个V是内存的地址值,通过这个地址可以获得内存中的值)工作内存中共享变量的副本值,也叫预期值:A需要将共享变量更新到的最新值:B如上图中,主存中保存V值,线程中要使用V值要先从主存中读取V值到线程的工作内存A中,然后计算后变成B值,最后再把B值写回到内存V值
2022-04-08 12:50:32
518
原创 Tomcat类加载,自己看源码
在java本身的类加载器的基础上增加了5个类加载器下载tomcat源码:https://tomcat.apache.org/download-90.cgi找到java/org/apache/catalina/startup/Bootstrap.java这个是启动类,找到这块,我们来看他的逻辑main() -> start() -> init() -> initClassLoaders(),依次创建我们的三个类加载器看创建类加载器的方法private ClassLoader
2022-04-05 14:56:43
870
原创 jvm双亲委派源码,自己看,自己写ClassLoader
其中BootStrapClassLoader加载jre/lib/rt.jar resources.jar charsets.jarExtClassLoader加载jre/ext/AppClassLoader加载其他的类找到sum.misc.Launcher包在AppClassLoader.loadClass处打断点,随便执行个自己定义的类中的main方法跟到核心类ClassLoader.loadClass,我先贴个图我们先是从AppClassLoader进入 protected .
2022-04-05 04:47:46
362
原创 hashmap自己解读(外加红黑树+ConcurrentHashMap)
文章目录开头HashMap类hash方法put方法get方法resize方法remove方法TreeNode类基本结构putTreeVal方法(红黑树中添加结点)removeTreeNode(删除红黑树结点)treeifyBin方法(用链表构建红黑树)untreeify(解除红黑树结构)split(拆分红黑树)关于hashCode方法贴出几个常见类的String.hashCodeInteger.hashCodeArrayList.hashCode(继承AbstractList)线程安全的Concurrent
2022-04-03 00:46:47
469
原创 springIOC原理相关原理
文章目录配置BeanFactory和ApplicationContext1.通过xml文件获取bean2.通过加载配置类通过java注解的方式将配置加载到IOC容器隐式的bean发现机制和自动装配4.autowired之后可以看看spring获取bean的原理配置配置bean的xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"
2022-04-03 00:22:07
542
原创 字节跳动安全开发面经---IT部平台安全工具开发(春招)
一面:log4j2漏洞dom型xss是什么,自动化防御java反序列化产生原因,防御爬虫,反爬虫,绕过泛解析怎么挖掘子域名口述冒泡排序算法,应用场景如何渗透一个网站二面:比较有趣的python项目java/php反序列化产生原因,如何防御php命令执行的函数ips/idshttps详细过程cdn,绕过linux/windows提权浏览器输入一个url过程是什么样的,可能会产生哪些安全问题(https,中间人)二面挂原因,缺少大项目经验。这里的大项目应该指的分布式项目
2022-03-31 11:36:26
5163
原创 深度神经网络资源整理
目录文章全面介绍网络学习视频文章全面介绍激活函数优化器算法卷积神经网络CNN完全指南终极版(一)卷积神经网络CNN完全指南终极版(二)网络学习网络1: LeNet视频https://space.bilibili.com/18161609...
2022-03-31 11:33:01
957
原创 脑电EEG信号处理文章搜集
运动想象| EEG信号、共空间模式算法(CSP)https://blog.youkuaiyun.com/oh__NO/article/details/84310982Python中MNE库滤波的重要性_zhoudapeng01的专栏-程序员秘密_mne滤波https://www.cxymm.net/article/zhoudapeng01/106124655时域,空域,频域的基本概念https://blog.youkuaiyun.com/qq_32211827/article/details/78338902如何理解傅
2022-03-31 11:30:51
1768
原创 dubbo负载均衡
参考文档:https://dubbo.apache.org/zh/blog/2018/08/10/dubbo%E7%9A%84%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/#1%E9%9A%8F%E6%9C%BA%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A11.随机负载均衡源码public class RandomLoadBalance extends AbstractLoadBalance { private final Random
2022-03-27 17:00:59
715
原创 xss绕过waf分享
持续补充中。。payload:<img+src=x+οnerrοr=“eval(‘con’%20%2B’fi’%20%2B’rm(document.cookie)’)”>其他payload可自行尝试:<iframe/onload='this["src"]="jav"+"as	cr"+"ipt:con"+"fir"+"m()"';>原文参考:https://hadess.io/waf-bypass-methods/https://portswigg
2022-03-15 15:18:44
543
原创 一文搞清rmi,jndi,reference,ldap
本文在编写代码的角度并不是很严谨,但是从安全利用角度对于理解他们之间的关系很有帮助。单纯的rmi获取类首先通过本地CLASSPATH,java.class.path等加载class,若无则通过codebase加载远程地址(http、ftp。。)通过如下命令设置codebase地址java -Djava.rmi.server.useCodebaseOnly=false - Djava.rmi.server.codebase=http://example.com/ RMIClient//RMIServe
2022-01-15 20:44:48
1040
原创 数据库报错防护
环境搭建docker run -d -p 50000:50000 --name db2 --privileged=true -e DB2INST1_PASSWORD=123456 -e DBNAME=testdb -e LICENSE=accept ibmcom/db2docker exec -it db2 bashsu - db2inst1 db2 connect to testdbdb2 "create table TEST(ID BIGINT NOT NULL GENERATED BY DE
2022-01-13 11:48:46
1463
原创 java审计CC链1-7学习
[基础知识]CC链(apache common collections组件漏洞利用链)ysoserialjava动态代理Javassist动态编程[分析]freebuf文章
2022-01-06 17:10:40
937
原创 IAST安全扫描原理
IAST:交互式应用程序安全测试(Interactive Application Security Testing),是黑盒测试(SAST),白盒测试(DAST)结合优点而成的灰盒测试其交互性体现在agent和扫描器之间的交互,分为三类,1.主动型,2.被动型(流量型暂不考虑在内,因为未实现agent)主动IASTagent使用java动态代理,在程序运行时修改字节码插入代码(即插庄)。1.agent部署:agent会是一个jar文件,程序运行的时候设置代理为agent,比如运行java程序的时候
2022-01-05 17:19:43
5966
2
原创 java审计4
[基础知识]巩固一下:深入理解JNDI注入与Java反序列化漏洞利用Java RMI codebase 小议ldap[fastjson1.2.22下载]Download fastjson-1.2.22.jar file - Jar f下载后新建工程,导入jar包[漏洞学习]1.Fastjson 1.2.22-1.2.24反序列化漏洞分析:https://xz.aliyun.com/t/8979 (漏洞复现要用1.8.0_102之前的jdk,JDK 8u113 之后,系统属性 com.sun
2021-12-27 16:59:00
2251
原创 java审计3
[漏洞学习]复现分析:https://xz.aliyun.com/t/4662s2环境:S2-045本地复现与分析_Au-优快云博客正波师傅nb[分析]request链比较长,适合debug单步调试学习。具体原因在content-type输入恶意的ongl表达式之后抛出异常,并将ongl表达式包含到了返回的错误信息中,达到命令执行的效果payload:Content-Type: start_not_with_multipart_but_contains__multipart/form-dat
2021-12-27 16:54:33
1773
原创 java审计2
[基础知识]ServerSocket详解RMI远程调用Java 中 RMI、JNDI、LDAP、JRMP、JMX、JMS那些事儿(上)[漏洞学习]Spring jndi注入:JNDI with RMI - 安全客,安全资讯平台https://xz.aliyun.com/t/4615攻击Java中的JNDI、RMI、LDAP(二) - Y4er的博客jndi配合rmi实现反序列化命令执行。原理就是spring框架的lookup参数可控,就可以让server端去请求我们自己构造的rmi服务,其
2021-12-27 16:52:18
125
原创 java审计1
[基础部分]反射:Java代码审计基础之反射 - FreeBuf网络安全行业门户java反射机制学习 - Monitor’s Blog反序列化:详解 Java 中的序列化与反序列化java对象的序列化以及反序列化详解 - 少说点话 - 博客园[漏洞学习]Apache Commons Collections反序列化漏洞解析反序列寻找构造链。链的开头是TransformedMap和InvokerTransformer这两个类。而链的结尾要逐渐推演替换到有相应readObject方法的类,这样才
2021-12-27 16:48:54
1535
原创 django order by注入分析CVE-2021-35042
django-3.1.13下载地址首先调用order_by函数的位置:django/db/models/query.py函数做了两件事,一是清除当前所有的通过order_by函数调用的方法,也就清除Query类中的self.order_by参数。第二件事就是增加self.order_by参数跟进add_ordering函数django/db/models/sql/query.py这里有问题的地方是if '.' in item and ORDER_PATTERN.match(item):djan
2021-09-08 17:03:57
851
原创 csrf防御
两个点xss和csrfxss客户体验好的防御方式:html实体化编码xss数据插入到js代码中如何防御:js白名单csrf的token插入位置:表单,cookie(不需要设置http-only)csrf使用json的表单如何利用:跨域cors复杂请求...
2021-09-07 17:06:22
191
原创 hackthebox资源收集
官网:https://www.hackthebox.eu/writeup:知乎Lucifielhttps://seymour.hackstreetboys.ph/htb.html
2021-08-21 16:37:46
499
4
原创 google爬取搜索结果
前几天渗透一个网站,google搜索的时候,发现300多名账号于是就寻思着爬下来,爬虫google,嘿,没干过,之前都是爬一些小网站,图片那啥的。这次不仅要爬取页面内容,还要调用google搜索。一起来看看有哪些问题要克服吧google的反爬虫技术也是蛮厉害的。你有没有遇到过一种情况,当你连续快速搜索的时候,或者当你使用inurl:, insite: 等搜索语法过多的时候,google会出现验证码。那种情况就是你的ip被记录了,或者你搜索的行为被记住了。什么是行为被记住了呢,正常人搜索是大概率不会用到
2021-05-09 20:05:14
1801
原创 用安卓手机实现一次dnslog带外whoami
昨天我的macbook因为电池报废,所以我不得不暂时拓展一条新的线路来学习。那就用手机吧。复现一下前天面试官提到的dnslog带外数据。命令行用的termux一个记录dns查询的网站,记录了想要带外的whoami是u0_a150我试着自己讲一下原理,去百度也可搜索到。当访问一个域名的时候首先浏览器会查看缓存,找ip。没找到会去找操作系统的host文件。再没找到会询问dns服务器,再没找到dns服务器会询问根服务器,然后依次查询下级域名。当访问到最后一级域名的时候是用户可控的。比如用户自己的域名是
2021-04-09 15:27:27
1003
原创 字节跳动渗透测试(暑假实习)一面面经
聊基础,聊到哪说哪,边聊边深入不会的面试官都给解答了ssrf漏洞的危害,2.ssrf利用中常用的协议,3.ssrf中使用gopher协议的最大的好处gopher是tcp层的,可以发get和post,一些攻击场景需要post搞定4.ssrf常见绕过方式5.如何重定向绕过301/302重定向都可以6.@符号绕过的原理@符号之前是账号密码的形式7.dns重绑定绕过讲一下简单描述下sql注入漏洞的危害9.sqlserver通过注入怎么执行命令10.sqlmap中–os-shell的原理
2021-04-08 00:33:43
1609
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人