首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏网络安全攻防

    ThinkPHP8序列化调用链

    当时也是尝试着挖掘一条反序列化调用链,相比ThinkPHP 6,不少类做了变动,外加上还做了declare (strict_types = 1);的限制,让利用变的有些许的难。 环境说明 官方手册:https://doc.thinkphp.cn/v8_0/preface.html 此外ThinkPHP提高了PHP版本要求,PHP版本需要使用PHP8以上。 根据官方文档下载好后添加一个反序列化入口就好 反序列化调用链 source点选择 反序列化起点无非是destruct或wakeup方法,wakeup一般用于作对象初始化,多选择destruct方法作为起点 这里想利用需要寻找其子类 这两个类的close方法都是些赋值语句,不适合作为source点,所以只能将目光放在ResourceRegister#__destruct方法上 sink点选择 大多框架的反序列化 前面分析过了它不能是字符串,本来想通过ReflectionFunction#invokeArgs来实现命令执行,且刚好invokeArgs接收一个数组类型的参数,但ReflectionFunction不允许被序列化和反序列化

    56710编辑于 2024-07-05
  • 来自专栏智能大石头

    8,协议序列化组件NewLife.Serialization

    在开发某些需要跟第三方平台交互的项目时,往往需要解析或者构造符合对方协议要求的数据格式,该操作在.Net中有个很漂亮的名字——序列化! 在实际使用中,XML序列化用得比较多,二进制序列化也不错,只是可控性很低。当然,对于要序列化指定协议的格式而言,它们就几乎帮不上忙了。 于是有了“协议序列化组件NewLife.Serialization”。 协议序列化类ProtocolFormatter的主旨是实现二进制格式数据和.Net实体数据之间的灵活转换! ,因为有时候外部已经准备好了一个对象,反序列化只需要填充就可以了; 第三步就是序列化,这里传入第二步实例化的对象。 执行效果如下: image.png 协议序列化组件完全通过反射实现,层层深入,所以性能非常差!我们主要用来序列化BT种子以及各种用于网络传输的指令,因为指令对象简单,性能上还可以接受。 组件示例下载

    769100发布于 2018-01-15
  • 来自专栏若梦博客

    利用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
  • 来自专栏猫头虎博客专区

    Java序列化与反序列化:如何实现高效的序列化?JDK 8、17与21中有哪些最佳实践?

    Java序列化与反序列化:如何实现高效的序列化?JDK 8、17与21中有哪些最佳实践? 粉丝提问: Java 序列化与反序列化的核心是什么?如何实现高效的序列化? JDK 8、17 和 21 中有哪些实用的优化技巧? 本文将深入解析 Java 序列化与反序列化的基本原理、常见实现方式以及 JDK 8、17 和 21 的优化技巧,结合代码案例提供最佳实践,帮助你构建高效、可靠的序列化方案。 return "SecureUser{username='" + username + "', password='" + password + "'}"; } } 三、JDK 8、 避免使用默认序列化 问题 默认序列化性能较差,会生成大量无用的元数据。 序列化机制易受攻击,可能导致反序列化漏洞。

    1.2K10编辑于 2024-12-24
  • 来自专栏TA码字

    K8s源码分析(6)-Resource Content 序列化

    在上一篇文章中我们主要介绍了对 kubernetes 世界中的不同 resource 的序列化,其中包括了 kubernetes 对于常用的不同格式 (json, yaml, protobuf) 数据的支持 以及以常见的 json 协议格式的数据做为例子,介绍了 json 序列化的核心组件 serializer.json.Serializer 对象,以及 MetaFactory 组件是如何来反序列化提取 resource 在这里我们同样还是以 json 协议格式的数据做为例子,来继续介绍 serializer.json.Serializer 组件是如何序列化得到 resource 的 content,其中包括利用 decode json.NewEncoder(w) return encoder.Encode(obj) } 其中的逻辑分析流程如下: 目前先我们写到这里,在下一篇文章中我们继续来介绍 kubernates resource 的序列化过程中涉及到的

    57420发布于 2021-10-08
  • 来自专栏TA码字

    K8s源码分析(5)-Resource Meta 序列化

    我们如果要把这些信息存储在后端的 etcd cluster 里,就避免不了序列化和反序列化的过程。 在 kubernetes 的世界里支持的序列化和反序列化的格式有很多,比方说有 json 格式, yaml 格式, protobuf 格式等。 结构体负责实现, 在 staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/json.go 中定义,图解其中包含的组件如下: MetaFactory serializer.json.Serializer 的源码定义如下: // staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/json.go : 从源码的角度看 MetaFactory 定义如下: // staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/meta.go

    76810发布于 2021-10-08
  • 来自专栏深度学习自然语言处理

    8千Star,火遍Github的Python直觉案例集!

    这个有趣的项目意在收集Python中那些难以理解和人类直觉的例子以及鲜为人知的功能特性,并尝试讨论这些现象背后真正的原理! 15] g = (x for x in array if array.count(x) > 0) array = [2, 8, 22] Output: >>> print(list(g)) [8] 2 所以在运行前, array 已经被重新赋值为 [2, 8, 22], 因此对于之前的 1, 8 和 15, 只有 count(8) 的结果是大于 0 的, 所以生成器只会生成 8. 84%91%E8%BF%90%E5%8A%A8 最后,再次给出原文链接以及中文版: https://github.com/satwikkansal/wtfpython https://github.com /leisurelicht/wtfpython-cn#section-strain-your-brain%E5%A4%A7%E8%84%91%E8%BF%90%E5%8A%A8 【今日机器学习概念】 Have

    90330发布于 2019-11-20
  • 来自专栏大数据文摘

    8千Star,火遍Github的Python直觉案例集!

    这个有趣的项目意在收集Python中那些难以理解和人类直觉的例子以及鲜为人知的功能特性,并尝试讨论这些现象背后真正的原理! 15] g = (x for x in array if array.count(x) > 0) array = [2, 8, 22] Output: >>> print(list(g)) [8] 2 所以在运行前, array 已经被重新赋值为 [2, 8, 22], 因此对于之前的 1, 8 和 15, 只有 count(8) 的结果是大于 0 的, 所以生成器只会生成 8. 84%91%E8%BF%90%E5%8A%A8 ? 84%91%E8%BF%90%E5%8A%A8 【今日机器学习概念】 Have a Great Definition ?

    69720发布于 2018-12-19
  • 来自专栏前端技术江湖

    Web 爬虫实践与爬虫破解

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

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

    利用 K8S 的亲和性构建高可用应用

    K8S 支持多副本部署,但不代表应用的高可用,因为多个副本可能部署到同一个节点上。 早上发现应用的某一个功能有一半的请求失败,排查之后发现,原来容器服务中节点未设置亲和性,导致 Pod 部署到同一个节点中,影响 API 网关请求后端服务。 解决问题:设置亲和性解决问题的思路是让 Pod 不能调度在同一台服务器上,需要打散调度到所有节点中。 topologySpreadConstraints: - labelSelector: matchLabels: k8s-app: XXX 事后思考开启 API 网关的健康检查,当 API 网关探测节点失效时从后端通道中剔除了解 K8S 资源调度的基本概念附录:ChatGPT 助手Q: TKE 如何设置让 Deployment 的 2 个

    95010编辑于 2024-02-26
  • 来自专栏玖叁叁

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

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

    1.2K40编辑于 2023-04-18
  • 来自专栏阮一峰的网络日志

    Secure Boot垄断:兼谈如何在Windows 8电脑上安装Linux

    一、自由软件基金会的呼吁 上周,2012年将近结束的时候,自由软件基金会(FSF)发出呼吁,要求人们继续支持Secure Boot垄断,希望签名者能达到5万人(目前是4万)。 现在,微软就是要求,主板厂商内置Windows 8的公钥。 五、Windows 8 首先明确,在不打开Secure Boot的情况下,Windows 8可以安装。 8公钥的认证。 八、为什么Windows 8的公钥不可接受? 目前看上去,Linux购买Windows 8的数字证书,是眼下唯一可行的相对容易的解决方法。但是,这种做法不可接受。 自由软件基金会呼吁Secure Boot垄断,就是基于这种考虑:用户应该拥有硬件和软件的使用自由,操作系统应该是开放的,而不是封闭的。

    2K50发布于 2018-04-13
  • 来自专栏纯洁的微笑

    转 ! ! !

    1 一波三折的微信 上周五的时候,美国商务部官网发布文章称: 针对特朗普总统于2020年8月6日签署的行政命令,禁止与WeChat和TikTok相关来往交易,以维护美国的国家安全。

    64710发布于 2020-09-24
  • 来自专栏光城(guangcity)

    实战爬虫

    python爬虫系列之Senium爬虫 0.说在前面1.爬虫方案2.实现 2.1 导库 2.2 selenium 2.3 BS处理图片3.作者的话 0.说在前面 本周更新了机器学习 1.爬虫方案 说在前面:爬取的是国家地理中文网上最新一栏的三张图片,点击查看更多又会出现三张图片,总共六张。 webdriver import requests import matplotlib.pyplot as plt import matplotlib.image as mping 2.2 selenium # 爬虫应对代码

    1.3K31发布于 2019-09-20
  • 来自专栏科技云报道

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

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

    77330编辑于 2022-04-14
  • 来自专栏机器人网

    卷积是什么?卷积的作用

    卷积与卷积 卷积,顾名思义是卷积操作的逆向操作。 为了方便理解,假设卷积前为图片,卷积后为图片的特征。 卷积,输入图片的特征,输出图片,起到还原的作用。如下动图: ? 我们知道卷积结合池化的降维作用,将神经网络推向深度学习,开启神经网络的新世界,那么卷积的作用呢? 卷积的作用 卷积崭露头角于“Unsupervised Representations Learning With Deep Convolutional Generative Adversarial Networks”,这篇论文主要工作就是用GANs生成图片,其中的generator和discriminator均采用深度学习,generator生成图片过程中采用的就是卷积操作(当然discriminator 卷积的类型 一般类型: ?

    5.2K60发布于 2018-04-24
  • 来自专栏知道一点点

    全选,

    • <input type="checkbox" onclick="selectAll()"> <label>李四</label> 799688123@qq.com

    2.3K30发布于 2018-09-12
  • 来自专栏Python爬虫与算法进阶

    拉勾

    问题 最近很多人都在问拉勾爬是怎么回事,简单说下。 拉勾职位数据都在Ajax加载中,每一个请求都会携带上一次返回的cookies。 px=new&city=%E5%85%A8%E5%9B%BD`,搜索全国职位数据,所有职位数据都在这里: ? 可以看到还有有职位总数totalCount字段,但是该字段真实性需要考证。

    1.2K40发布于 2019-05-06
  • 来自专栏洁癖是一只狗

    序列化与反序列化

    ,在把二进制流转成对象这就是是序列化,反序列化。 1 在Java中,实现序列化只要实现 java.io.Serializable 接口,就可以被序列化了。 ? ? 2 对象序列化保存的是对象的"状态",即它的成员变量。 7 单列模式进行序列化,那还是单例吗? ? ? ? 从上面结果能发现,序列化后反序列化之后,不再是同一个对象了。 序列化与反序列 1.static 属性和transient不能序列化。 2.自定义序列化,则必须要实现writeObject和对应的 readObject方法。 5.序列化会破坏单例模式。

    1.9K20发布于 2020-06-15
  • 来自专栏python3

    Python : 斜杠

    这是一个常见的陷阱,在使用raw string时,斜杠虽然不再做转义用,但它仍然保留了一部分“魔力”——保护字符串。 如 >>> print r"abc\"xyz" abc\"xyz 在斜杠之后的那个引号由于斜杠的魔力,不被视为字符串终结。 在正则表达式中,斜杠是转义字符,因此不可能出现以斜杠结尾的正则表达式。 由于正则表达式使用斜杠来转义特殊字符,而python自身处理字符串时,斜杠也是用于转义字符,这样就产生了一个双重转换的问题,要匹配字符串中1 个斜杠应该怎么写正则表达式?"\\",这样行吗? (两个字符),然后 传入正则表达式解析器,因为斜杠依然是转义字符,那么进行第二重转换,两个斜杠就代表一个斜杠,所以就能和一个斜杠进行匹配了,那么匹配连续的两 个斜杠,写正则表达式时就要写8次"

    4.8K30发布于 2020-01-07
领券