我想知道,在过去几个月尝试阅读之后,我完全迷失了,不理解这个概念。有人可以简单地解释一下仅数据攻击的概念,它们的目的是什么以及为什么选择这种方法而不是其他方法?
注意:我熟悉其他技术,例如各种 ret2、jop/rop、...
此外,如果有人知道“备忘单”/类似维基的站点/GitHub 显示有关利用的现代概念(而不是互联网上充满的旧东西),我将不胜感激。我很确定它也可以帮助这里的很多人。
我的目标是帮助使事情更安全,我真的想为帮助做出自己的贡献。
我想知道,在过去几个月尝试阅读之后,我完全迷失了,不理解这个概念。有人可以简单地解释一下仅数据攻击的概念,它们的目的是什么以及为什么选择这种方法而不是其他方法?
注意:我熟悉其他技术,例如各种 ret2、jop/rop、...
此外,如果有人知道“备忘单”/类似维基的站点/GitHub 显示有关利用的现代概念(而不是互联网上充满的旧东西),我将不胜感激。我很确定它也可以帮助这里的很多人。
我的目标是帮助使事情更安全,我真的想为帮助做出自己的贡献。
仅数据开发是一种心态/理解:
与此相反,在某些情况下,代码执行可能只是达到目的的一种手段,例如从移动设备中提取个人信息、访问远程服务器、删除有价值的数据或在适当的时候关闭主要基础设施。
一种仅数据利用方法表明,攻击者除了直接(通过用 shellcode 覆盖代码,在堆栈上编写代码并覆盖堆栈地址)或间接(创建 ROP 链,绕过 CFI)操纵代码执行流程外,还可以修改数据以达到预期的结果。
示例可能会使这更容易理解:
在最基本的意义上,这意味着攻击者可以使用相对 dword-write 原语将新用户添加到管理员用户的链表中,然后使用它登录到系统。
类似地,某些类型的缓冲区溢出可用于覆盖 SQL 查询以将内存损坏转变为 SQL 注入。再次,插入某种所需的条目或从内部数据库中提取信息。