为什么需要 “API 网关”? (www.addesp.com)
在 OSI 模型的网络层中,网关通常指路由器,因为它可以实现局域网间的数据互通。API 网关的作用也类似,即接受客户端的请求,转发客户端的请求,转发服务端的响应给客户端。

那么这和客户端直接请求有什么区别呢?一大区别就是 API 网关可以将不同服务的接口聚合成一个接口,客户端只要请求一次,API 网关就可以根据请求向若干个服务发起请求,等到请求完成后,一起返回给客户端。
by @技术头条 2023-11-06 23:29 查看详情
http 协议的发展 (nopdan.com)
HTTP(HyperText Transfer Protocol)是万维网(World Wide Web)的基础协议。自 Tim Berners-Lee 博士和他的团队在 1989-1991 年间创造出它以来,HTTP 已经发生了太多的变化,在保持协议简单性的同时,不断扩展其灵活性。如今,HTTP 已经从一个只在实验室之间交换文件的早期协议进化到了可以传输图片,高分辨率视频和 3D 效果的现代复杂互联网协议。
by @技术头条 2023-11-06 23:28 查看详情
浅析跨站请求伪造(CSRF)攻击 (www.addesp.com)
狭义的CSRF攻击就是指让Client在被Server认证的情况下去访问精心设计的恶意链接完成攻击。广义的CSRF攻击,可以是通过一些手段猜测出请求参数以及用户认证信息(如果需要认证的话),这样Server就会将其识别为合理请求。
by @技术头条 2023-11-06 23:26 查看详情
数字签名为什么可以防篡改 (www.addesp.com)
你可能在电视剧中看到坏人威胁主角的时候会拿出作为人质的亲人写的信,而主角一看笔迹就知道是亲人所写的了。

在这里笔迹起到了两个作用:1、证明信的内容确实是亲人所写;2、证明内容没有被篡改过。

在计算机的世界中,我们同样需要对信息一样的验证。
by @技术头条 2023-11-06 23:24 查看详情
写给开发人员的实用密码学(三)—— MAC 与密钥派生函数 KDF (thiscute.world)
我们都更喜欢使用密码来保护自己的数据而不是二进制的密钥,因为相比之下二进制密钥太难记忆了,字符形式的密码才是符合人类思维习惯的东西。

可对计算机而言就刚好相反了,现代密码学的很多算法都要求输入是一个大的数字,二进制的密钥就是这样一个大的数字。
by @技术头条 2023-11-06 23:05 查看详情
写给开发人员的实用密码学(二)—— 哈希函数 (thiscute.world)
更好的哈希函数可以使用这样的方案:它将第一个字节作为状态,然后转换状态(例如,将它乘以像 31 这样的素数),然后将下一个字节添加到状态,然后再次转换状态并添加下一个字节等。 这样的操作可以显着降低碰撞概率并产生更均匀的分布。
by @技术头条 2023-11-06 23:04 查看详情
写给开发人员的实用密码学(一)—— 概览 (thiscute.world)
从开发人员的角度理解密码学概念不需要你是一个厉害的数学家。 这个系列的文章将尽量以最浅显的方式教你应用密码学的基础知识,而且包含大量循序渐进的代码示例和实践练习——就像你学习 Web 开发、数据库或 APP 开发一样。
by @技术头条 2023-11-06 23:03 查看详情
TinyInst 的插桩实现原理分析 (paper.seebug.org)
TinyInst 是一个基于调试器原理的轻量级动态检测库,由 Google Project Zero 团队开源,支持 Windows、macOS、Linux 和 Android 平台。同 DynamoRIO、PIN 工具类似,解决二进制程序动态检测的需求,不过相比于前两者 TinyInst 更加轻量级,更加便于用户理解,更加便于程序员进行二次开发。

本文将通过分析 TinyInst 在 Windows 平台上的插桩源码,来理解 TinyInst 的基本运行原理;为后续调试 TinyInst 的衍生工具(如 Jackalope fuzzing 工具)或二次开发打下基础。
by @技术头条 2023-11-06 22:59 查看详情
运维|MySQL 数据库被黑,心力交瘁 (mazhuang.org)
前一阵有一个测试用的 MySQL 数据库被黑了,删库勒索的那种,这里记录一下事情经过,给自己也敲个警钟。
by @技术头条 2023-11-06 22:59 查看详情
初探 Struts2 框架安全 (paper.seebug.org)
最近分析 confluence 的漏洞,发现是基于 Struts 框架的,其中有很多相关知识点并不了解,因此专门来学习一下 Struts 2。

在网上一搜 Struts 2 资料发现介绍漏洞的文章比介绍开发的还多,少数开发者的声音也是 “Struts 过时了吗?” 之类的疑问,事实上这个框架也确实是过时了,现在Java Web 开发早已是 Spring 全家桶一统江山的局面。但我们也不能不承认曾经 Struts 的地位。Struts2 + Spring + Hibernate 三大框架在当年组合号称 SSH,对 Java Web 应用生态产生了深远的影响,以至于现在有许多知名应用中还有 Struts 的影子。

因此,即便 Struts 已经日薄西山,对于 Java 安全研究者而言也是需要深入了解的目标,就像二进制研究员需要理解 “过时” 的 jmp esp 栈溢出利用方法一样。
by @技术头条 2023-11-06 22:58 查看详情
揭秘 VPN 背后的黑灰产组织 (paper.seebug.org)
网络空间中存在众多的VPN节点,这些VPN节点背后是什么样的组织或个人?他们利用VPN节点做些什么呢?

本文将"行为测绘"和"交叉测绘"理念再次在实践中应用,以SoftEther VPN节点为示例,通过VPN节点所使用SSL证书的颁发者特征,将VPN背后的组织进行分类;并且从数据分析视角对部分组织网络行为进行分析研究。

by @技术头条 2023-11-06 22:58 查看详情
软件开发 | JVM 解释和编译指南 (linux.cn)
Java 是一种跨平台的编程语言。程序源代码会被编译为 字节码bytecode,然后字节码在运行时被转换为 机器码machine code。解释器interpreter 在物理机器上模拟出的抽象计算机上执行字节码指令。即时just-in-time(JIT)编译发生在运行期,而 预先ahead-of-time(AOT)编译发生在构建期。

本文将说明解释器、JIT 和 AOT 分别何时起作用,以及如何在 JIT 和 AOT 之间权衡。
by @技术头条 2023-11-06 22:57 查看详情
Rust并发编程番外篇: Mutex内部实现 (colobu.com)
Mutex是最常用的一种同步原语,它提供了互斥锁的功能,多线程可以互斥访问共享数据以及通过锁保护临界区。Rust标准库提供了Mutex的实现,接下来我们看看它是怎么实现的。
by @技术头条 2023-11-06 22:56 查看详情
从登录会话看AD域分层管理模型 (blog.nsfocus.net)
AD(Active Directory)域中高权限用户的凭据泄露是最常见和严重的风险之一,实战中被攻击者利用会迅速导致域控失陷。本文介绍了现阶段可以从技术层面和管理层面遏制这类风险的技术方法和管理模型。
by @技术头条 2023-11-06 22:54 查看详情
从登录会话看AD域分层管理模型 (blog.nsfocus.net)
AD(Active Directory)域中高权限用户的凭据泄露是最常见和严重的风险之一,实战中被攻击者利用会迅速导致域控失陷。本文介绍了现阶段可以从技术层面和管理层面遏制这类风险的技术方法和管理模型。
by @技术头条 2023-11-06 22:54 查看详情
读书|程序员如何传书到 Kindle (mazhuang.org)
本篇记录一下我传书到 Kindle 的「独特」方式——WiFi 传书插件。可以直接通过 WiFi 传输电子书到 Kindle,不需要使用 USB 线,也不依赖其它服务,只要 Kindle 和手机/电脑在同一个局域网内,就可以通过浏览器直接上传电子书到 Kindle。
by @技术头条 2023-11-06 22:46 查看详情
一个分布式锁「失效」的案例分析 (mazhuang.org)
在日常的开发过程中,如果涉及到并发和事务,一定要多留几个心眼,考虑周全,确认以下要点是否都正确实现:1、是否做了必要的并发控制?2、事务的传播行为是否符合预期?3、AOP 的执行顺序是否符合预期?4、对并发的场景是否做了充分的测试?5、对于比较关键的操作,是否打印了必要的日志?
by @技术头条 2023-11-06 22:45 查看详情
开源与 “半开源” 之间的战争和软件的历史一样久远 (linux.cn)
你是否知道 macOS 曾经是开源的?确实,它曾经是。

macOS 的核心基于 Darwin,这是一种 Unix 操作系统。史蒂夫·乔布斯Steve Jobs 回归苹果公司时,引入了他的基于 Unix 的 NeXTStep 操作系统。到了 2000 年,苹果公司逐步放弃了他们的经典 Mac 操作系统,转而支持 macOS Darwin。除了来自 NeXTStep 的部分,Darwin 还大量借鉴了开源的 FreeBSD 和 Mach 操作系统的设计。
by @技术头条 2023-11-06 22:43 查看详情
一起针对中国某摄像头企业的超复杂恶意软件攻击分析 (paper.seebug.org)
本文披露了近期针对我国某摄像头公司的一起网络攻击活动,并对相关的攻击武器PureCrypter和PureLogs及其采用的技术和对抗手法进行了全面和深入的分析,包括基于所有类型、字段、属性、方法等的名称混淆、基于“spaghetti code”的控制流混淆、自定义的动态代理调用(隐藏类及方法)、基于“Protobuf”的数据结构封装等多种对抗技术的交叉运用,此外还分析了攻击中采用的多模块多阶段的套娃模式,包括10个具有层级关系的Loader及DLL模块等。同时我们还对追踪过程中发现的“黑雀”攻击现象进行了披露和分析,这些高效的黑吃黑手段给黑客产业链带来了更多的复杂性,也让网络秩序变得越发不安全。
by @技术头条 2023-10-30 23:42 查看详情
深入 Android 可信应用漏洞挖掘 (paper.seebug.org)
重点介绍了主流厂商的TEE环境中的TA实现以及常见的攻击面并分享了一些针对TA做安全研究的技巧与方法,比如如何尽可能快速的拥有一台具备Root权限的手机用于研究与测试。同时还介绍了如何实现对TA进行模拟以及使用到的Fuzzing技术和部分调优策略。
by @技术头条 2023-10-30 23:40 查看详情