[Computer Security] Hacking Blind (Blind Return Oriented Programming, BROP)

环境仿真软件:MIKE 21_(9).MIKE21水生植物模块介绍 MIKE21支持多种水生植物的模拟,用户需要在配置文件中定义植物种类及其特性。</</</</</</</</</假设我们需要定义一种新的水生植物“水葫芦”(Water Hyacinth),并将其特性写入配置文件。# 创建XML根元素# 定义新的植物种类# 生成XML文件假设我们需要分析仿真的水流速度变化,并绘制水流速度随时间变化的图。# 读取NetCDF文件# 获取水流速度数据# 获取时间数据# 绘制水流速度随时间变化的图plt.xlabel('时间 (天)') 阅读详情

Hacking Blind

A classic paper for low-level vulnerabilities and defenses, attackers attack server via stack overflow. I learnt a lot of basic concepts in computer security from this paper.

Introduction

Before this paper, all attacks need the accessibility to binary, and no general techniques to attack 64-bit servers with PIE. However, the authors proposed Blind Return Oriented Programming, BROP, which makes it possible to attack 64-bit PIE servers that do not rerandomize after a crash, without the need of binary.

Before coming to the details of BROP, let’s talk about some background knowledge in low-level computer security.

Brief History of Buffer Overflows

The buffer overflows usually happen when a vulnerable program read data whose size exceeds the pre-defined buffer size. Without appropriate bound check, the input data will overwrite the memory beyond the end of the buffer. Without other defend techniques, attackers can write malicious code into the stack and overwrite the return address to jump to this malicious code and execute them. It is very classic “Code Injection”.

However, code injection is not possible on modern processers now, because operating systems will mark data memory pages as “non-executable” (NX on x86), that any attempts to run code on the stack will cause an exception.

To defeat NX, another technique called Return Oriented Programming, ROP is proposed. Since there must be executable parts in the memory space, attackers can utilize code snippets from this space and combine them to perform arbitrary operation. Such code snippets are called as gadgets. The attackers can overwrite the return address alongside the stack, pointing to desired gadgets and creating a chain of gadgets that gain control of programs without any dependence on code injection. On 32-bit systems it is very efficient because all arguments are passed in stack. On 64-bit systems, whose arguments are passed in registers, additional gadgets are needed to manipulate the value in registers.

Both Code Injection and ROP rely on Stack Overflows, so Address Space Layout Randomization, ASLR is introduced to defend it. ASLR will randomize the location of code and data memory segments in the process address space, which makes the address of code (or even stack) unpredictable. However, on 32-bit systems, ASLR is restricted by the limited address space, making brute-force attacks possible. On 64-bit systems, there are too much randomness for brute-force to be feasible. To enhance ASLR, Position-Independent Executable, PIE is a kind of executable that can be loaded at any memory address, rather than a fixed one. With PIE, the entire executable can be relocated, and its code address space randomized, making attacks like Return-Oriented Programming (ROP) much harder.

Canary is another common technique to defend stack overflows by detecting whether the value in stacks is overwritten. Stack canary is a pre-defined secret value that is placed before saved frame pointer and return address, which will be checked when the function returns. There are still several ways to circumvent canary.

ROP Tutorial

In general, ROP will manipulate the return addresses in stack, presenting a link of gadgets. The processer will go through the gadgets chain along with the addresses in the stack. Fig. 1 and 2 show how a malicious code is divided and linked via ROP.
在这里插入图片描述
Unlike what shown in Fig. 2, in practice, each ROP gadgets will be a short sequence of machine instructions terminated by a return. So, dup2(s,0) is divided into more tiny snippets. The needed gadgets are used to manipulate the value in registers, like rdi, controlling the first argument of function, rsi, controlling the second argument of function, and rax, controlling the system call number.
在这里插入图片描述
Registers can be controlled by using pop gadgets and placing the value to load on the stack. By chaining enough gadgets, complete shellcode can eventually be built.

BROP Environment

  • A stack vulnerability and knowledge of how to trigger it. (because we need to utilize stack overflows)
  • A server application that restarts (but do not rerandomize) after a crash.

The threat model for a BROP attack is an attacker that knows an input string that crashes a server due to a stack overflow bug. The attacker must be able to overwrite a variable length of bytes including a return instruction pointer.

Stack Reading

The authors proposed a method to “read” the value stored in the stack, to

  1. know the secret value of canary,
  2. find an address that won’t crash the service, which will become the starting point to find other useful gadgets.

It is done by overwriting the value after buffer bit by bit. If we write a correct/valid bit, the server won’t crash, so we can know the actual value of the first bit of canary. Repeating this, we can finally “read” the whole value of canary. It is much quicker than guessing the whole sequence. For return address, we may not find the exact value originally stored in the stack but must an address that won’t cause crash.

BROP Attack

The optimized BROP attack is as follows:

  1. Find where the executable is loaded. Either 0x400000 for non-PIE executables (default) or stack read a saved return address.
  2. Find a stop gadget. This is typically a blocking system call (like sleep or read) in the PLT. The attacker finds the PLT in this step too.
  3. Find the BROP gadget. The attacker can now control the first two arguments to calls.
  4. Find strcmp in the PLT. The attacker can now control the first three arguments to calls.
  5. Find write in the PLT. The attacker can now dump the entire binary to find more gadgets.
  6. Build a shellcode and exploit the server.
AutoSAR_BSW高阶 7. Signal Group 信号组 Autosar BSW的高级配置是实现复杂汽车电子系统的关键步骤之一。通过合理配置信号组和使用适当的参数,您可以提高系统性能,确保数据的可靠传输。在本博客中,我们深入探讨了信号组的概念和高级配置参数,并提供了示例代码,希望这些信息能够帮助您更好地理解和应用Autosar BSW的高级配置。如果您在配置过程中遇到任何问题,不妨寻求专业支持,以确保您的汽车电子系统能够顺利运行。Autosar COM 模块是一个广泛应用于汽车行业的关键技术,它使不同的电子控制单元能够有效地通信和协作。 阅读详情

相关推荐

避坑指南:在Ubuntu 20.04上从零部署IS-Fusion环境(含CUDA 11.1和PyTorch 1.10.1配置)

本文提供了在Ubuntu 20.04系统上从零部署IS-Fusion 3D目标检测环境的详细避坑指南。内容涵盖CUDA 11.1、PyTorch 1.10.1、spconv等核心组件的精确版本安装与兼容性配置,并指导如何准备nuScenes数据集及启动模型训练,旨在帮助研究者和开发者高效搭建稳定的多模态融合算法开发环境。

gitlab7runner的博客 552

ErgonomicNotes 项目教程

ErgonomicNotes 项目教程 1. 项目的目录结构及介绍 ErgonomicNotes/ ├── LICENSE ├── README.md ├── blind_programming.md ├── keyboards.md ├── mice.md ├── programming_by_voice.md ├── standing_desks.md └── ... LICENSE: 项...

gitblog_00054的博客 301

(论文速读)PTV3: 更简单、更快速、更强大的3D点云处理新突破

该论文提出PointTransformerV3(PTv3),通过简化设计实现3D点云处理的效率突破。该研究摒弃复杂注意力机制,转而采用点云序列化和补丁注意力等高效方法,将感受野从16点扩展到1024点,在保持高精度的同时实现3倍速度提升和10倍内存优化。PTv3在超过20个室内外场景任务中取得SOTA结果,ScanNet语义分割达79.4%mIoU,Waymo检测提升3.3%APH。核心创新包括四种空间填充曲线序列化模式和xCPE位置编码,为3D感知的工业应用提供了高效解决方案。

LJ1147517021的博客 1376

【FDE知识库】(1):AI 编程时代开发语言选型分析,云使用go,企业用java,算法python,底层c

AI 编程时代,开发语言选型需综合考量AI适配度、编译速度、跨平台与学习成本。Python以海量语料和即时执行成首选,适用于AI/ML与原型开发;TypeScript凭借类型系统与秒级构建,成为前端及应用层主流;Go以极速编译与统一风格,契合AI代理高效迭代需求。Rust/C++虽性能强,但编译慢、学习成本高,不适于快速试错。综合推荐:优先选Python、TypeScript、Go,兼顾效率与生态,实现最优AI协作体验。

freewebsys的专栏 544

CATIA_DELMIA_V5R2019安装包下载及安装教程破解

CATIA_V5R2019/DELMIA_V5R2019安装包下载及安装教程破解

一只机械工装熊的博客 8362

05 - GRACE数据处理-球谐展开与球谐综合

GRACE数据处理-球谐展开和综合前面在介绍GRACE相关理论的时候提到过下面的公式,从公式形式上可以看出,面密度变化和球谐系数(CS)之间是能够相互转换的,那这个转化的过程可以称为球谐展开,简单理解就是将全球网格数据转化为球谐系数的过程。而球谐综合可以看作是球谐展开的逆过程,利用球谐系数计算到全球格网分布。

weixin_43339605的博客 1050

前沿模型论坛发布越狱评级框架:给网络安全类越狱分等级,决定先修哪个

前沿模型论坛发布越狱评级框架:给网络安全类越狱分等级,决定先修哪个

2401_88904194的博客 202

PCL Super4PCS算法实现点云粗配准(版本一)【2025最新版】

Win11系统下实现[Super4PCS: Fast Global Pointcloud Registration via Smart Indexing一文中的配准算法。

点云侠的博客 3378

湖南省网安基地网络安全培训:零基础入门与实战进阶的课程衔接

零基础学网安,怕跟不上;有基础再学,怕重复。本文按阶段拆解湖南省网安基地的网络安全培训衔接逻辑:能力评估定起点,基础阶段补系统与网络底座,核心阶段练漏洞复现,进阶阶段进入红蓝对抗与单位网络安全攻防演练,并说明 NISP、CISP 与网安实战人才的对应关系。

2401_84466325的博客 1017

C# 上位机程序中的数据采集与存储技术:从采集到持久化的完整解决方案

本文系统讲解C#上位机程序如何实现设备数据采集与持久化。主要内容包括:1)多种数据采集方式(串口通信、Modbus、OPC等)及代码示例;2)详细对比不同存储技术(CSV、SQLite、关系型数据库等)的优缺点;3)提供SQLite等存储实现代码;4)推荐分层系统架构(采集-缓存-存储-可视化);5)性能优化建议(多线程采集、异步存储、批量写入等)。文章强调应根据项目需求选择合适的技术方案,构建高效稳定的数据采集存储闭环系统。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1025

RK3568 OpenHarmony3.2 NFC 驱动适配(PN7150)II

承接上文《RK3568 OpenHarmony3.2 NFC 驱动适配(PN7150)I》,继续PN7150 NFC模块的整体适配。本文主要介绍包括HDI实现层、框架层以及设备适配层的代码修改思路。具体包括vendor_adaptor、hdi_service等;以及foundation下的frameworks、services等。此外还包括相关三方库libnfc-nci在鸿蒙平台的移植和适配。需要注意的是,当前nfc适配只是基于作者手上的RK3568平台以及相关OpenHarmony3.2的代码。

Martian_Jonas的博客 1360

Cisco设备网络安全系列-22:安全自动化工作流与CI/CD流水线安全实践

某金融科技公司因忽视安全嵌入,导致自动化流水线推送不合规变更,引发数据泄露。课程揭示自动化工作流四大安全风险:配置错误、漏洞扩散、缺乏监督与合规不一致。提出以“左移安全”和“策略即代码”为核心,将SAST、SCA、IaC扫描等工具集成至CI/CD流水线,实现漏洞实时检测、早期修复与持续合规。结合AI/ML赋能,提升威胁识别与优先级排序能力。最终实现安全与速度并行,构建可审计、可扩展的“安全内置”交付体系。

pt1043的博客 306

华为od 面试八股文_JAVA语言_01_含答案

华为od 面试八股文_JAVA语言_01_含答案

MISAYAONE的博客 4311

GPT-6 Cyber 正式发布:OpenAI 网络安全专项模型,一次扫出 948 个 Linux 漏洞(2026年11月)

发布日期:2026-11-06 | 数据截至 2026-11-06,来源为 OpenAI 官方博客、东方财富、百家号、36氪等公开报道2026年11月5日,OpenAI 正式推出 GPT-6 Cyber,这是继 GPT-5.6 Cyber 之后的网络安全专项大模型,也是 OpenAI Preparedness 框架下首个被评定为"Critical"(最高档)网络安全能力的模型。

aidoudoulong的博客 392

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

新手勇闯网络安全 | 密码学(二)

深入 HTTPS 混合加密的完整握手流程,理解非对称加密如何安全交换对称密钥;拆解 JWT 三段结构(Header/Payload/Signature)及签名防篡改原理,剖析 alg:none 攻击、弱密钥爆破、只解码不验证三大漏洞;对比密码存储错误写法与正确做法,掌握 bcrypt 和 Argon2 使用。

2503_92035671的博客 964

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

2026年11月第1周网络安全形势周报

补丁链条失守”、AI代理攻击产业化、OT/IoT 暴露面失守。在野利用密集新增:CISA KEV 本周新增 3 个已在野利用漏洞——WordPress 核心 TOCTOU 竞态(CVE-2026-119977,24小时内观测到 5.9 万次攻击尝试)、Apple 多产品指针认证绕过(CVE-2024-27834)、SonicWall SonicOS SSLVPN 单因素认证绕过(CVE-2026-19868)。

Bruce_xiaowei的博客 197

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

网络安全与信息安全:有什么区别?

信息安全也常被称作“数据安全”。保护信息与信息系统,防止未授权访问、使用、泄露、中断、篡改或销毁,以此保障保密性、完整性与可用性。如今企业大量业务数据存储在计算机系统和云端,但过去数据是放在实体文件柜里的。存储方式变了,可有些机密敏感信息依旧以实体形式保存。信息安全的核心,是保障所有格式的数据安全。网络安全指保护计算机、服务器、网络、移动设备等电子系统中存储的数字信息,抵御未授权访问和各类恶意威胁。网络安全工作需要识别重要数据、定位数据存储位置、评估潜在风险,再选用对应的方法与工具抵御各类风险。

雪兽软件 259

网络安全实战第28期:第四周的收尾

本周聚焦客户端(XSS)与服务端(文件上传)两条安全线索,发现其根因均为“系统信任了不该信任的输入”。通过三步验证法厘清XSS类型,以三大判断点确认文件上传风险,最终提炼出统一防护原则:数据应始终被视为数据,杜绝其变代码。报告撰写强调证据链完整,定级需有据可依,避免夸大。总结三要义:同源根因、白名单优先、警惕漏洞后纵深风险。下周将进入全流程测试阶段。

2401_88349202的博客 399

网络安全-PHP基础

本文介绍了PHP的基础知识,包括其作为服务器端脚本语言的核心功能:生成动态网页、处理表单、操作数据库及实现安全控制。重点讲解了变量定义(以$开头)、作用域(局部、全局、静态)、函数参数使用、输出语句(echo与print的区别)以及数组和中文字符支持。通过实例演示了变量作用域的限制与解决方法,并引入EOF语法简化多行HTML输出,为初学者提供清晰的入门指引。

weixin_48137911的博客 166

零基础学网络安全,湖南省网安基地适合吗

湖南省网安基地适合零基础吗?本文从入门路径、分层教学、靶场实操、真实场景、证书岗位五个维度核验公开信息,附试听清单与双向判断条件,帮你自行得出结论,而非听信宣传。

2401_84466227的博客 899

Eurotherm EPC3000 可编程过程/温度控制器深度解析:从高精度控制到网络安全的一体化方案

Eurotherm EPC3000 是一台"高精度、可编程、可联网、够安全"的单回路过程控制器,代表了现代温控表的发展方向:测量更准、响应更快、通讯更开放、网络更安全。对于正在升级产线、推进数字化与网络安全的工程师而言,它提供了一个既有传统温控可靠性、又具备工业物联网接入能力的一体化方案。

2603_95886916的博客 173

Cisco设备网络安全系列(附):合规之外的风险盲区

本文以“工程师思维”重构风险认知,揭示系统化思维的五大核心:从泰坦尼克号救生艇的合规陷阱,到熵增定律下系统必然崩溃的宿命;从黑天鹅事件的不可预测性,到风险感知的认知错觉与恐惧放大效应。真正的风险管理不在于罗列清单,而在于对抗混沌、洞察盲区、驾驭恐惧——在不确定性中构建韧性,延缓系统崩溃的时间。

pt1043的博客 212

网络安全实战第23期:存储型与DOM型XSS的本质区别

本文对比了存储型与DOM型XSS的本质差异:前者将恶意脚本存入数据库,所有访客打开页面即触发,危害持久且广泛;后者不经过服务器,仅由前端脚本拼接URL参数执行,服务端无痕迹。关键区分点在于“服务器是否可见脚本”及“内容是否持久留存”。防护上,存储型需服务端过滤,而DOM型必须在前端拼接处处理,服务端过滤无效。总结:判断类型靠“换浏览器复现”与“源码是否含脚本”,修复核心在源头控制不可信输入。

2401_88349202的博客 240

亚远景-欧盟 NIS2 与 CRA 双法规生效,车载出口企业网络安全与过程合规建设要点

亚远景结合法规要求与车载行业特性,梳理双法规对整车与零部件出口企业的核心影响,说明如何以 ISO/SAE 21434 为核心、以 ASPICE 为过程底座,搭建满足欧盟要求的网络安全与过程合规体系。

yayuanjingkeji的博客 187

医疗器械软件+网络安全双指导原则:注册人到底该怎么用?

2022年国家药监局发布《医疗器械软件》与《网络安全》指导原则,二者为“总纲+专项”关系:前者覆盖软件全生命周期,后者聚焦网络与数据安全。注册时需先定性(SaMD/SiMD)、定级(轻微/中等/严重),再生成《自研软件研究报告》,若产品具备远程访问等功能,则须叠加《网络安全研究报告》,依据22项能力逐项自检并说明实现方式。实操中易踩五大坑:不适用项未写理由、外部环境版本模糊、补丁更新忽视验证、网络安全级别低于软件级别未说明、资料重复或遗漏。正确做法是分层准备、精准对应、闭环留痕。

杨飞的博客 632

【网络安全

2)案例二大数据平台的等级保护定级流程与级别 (6分)定级流程(等保2.0)WEB安全层面① 部署Web应用防火墙(WAF):防护SQL注入、XSS、文件包含等攻击;③ 漏洞扫描与修复:定期漏扫,如扫描Web应用及服务器,发现漏洞后及时修复。4)堡垒机运维的变化与优势(6分)运维变化① 统一运维入口:传统运维入口分散(各系统独立登录),堡垒机实现所有运维操作通过统一平台进行。③ 集中审计管理:传统审计依赖分散日志(易篡改、难关联),堡垒机集中记录所有运维操作(登录、命令、文件传输),支持多维度检索与追溯。

2401_86853478的博客 235
上一篇: [幻方 DeepSeek-R1] DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
下一篇: [Computer Security] AEG: Automatic Exploit Generation
ShadyPi
博客等级 码龄9年 1万+粉丝 637原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShadyPi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值