问题标签 [exploit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1679 浏览

php - 黑客脚本叙利亚壳牌在做什么?

在通过漏洞上传文件后进行站点修复。检查文件后,发现了一个名为“Syrian Shell”的脚本。

我在 pastebin 上找到了它的一个版本:http://pastebin.com/raw.php?i=MWRJYFyZ

有谁知道它的核心目的?它可以利用系统多深?

我需要清理这个特定的服务器,所以如果有人有这方面的经验,我感谢你的帮助。谢谢。

更新

对于所有要求查看脚本的怪异小子黑客,此粘贴已更新:

http://pastebin.com/kiqz88ce

0 投票
6 回答
24536 浏览

c++ - C++ 缓冲区溢出

我正在尝试自学 C++ 中的缓冲区溢出和利用。我充其量是一个中级 C++ 人,所以请耐心等待。我已经学习了一些教程,但这里有一些示例代码来说明我的问题:

我知道这里有各种不好的 juju ,等等......无论如何,当我在andcin << String中输入太多字母(例如大量的A's )时,我只是从 Visual Studio 获得访问冲突。但是,如果我输入 20ish ,然后是一个空格,然后是另一个into ,它会跳过询问我(假设因为在空格字符导致上一次调用返回后它已被填充)并授予我访问权限。cUsercPassAAcUsercPasscin

在什么时候,以及为什么,数据会溢出到“身份验证”中,为什么它只在我有空间而不是在我有一百万个时才会发生A......当我使用空间时,我从来没有遇到过“访问冲突”在输入中cUser

0 投票
1 回答
798 浏览

javascript - html 一个 onclick 漏洞导致杀毒软件发疯

有谁知道为什么这样的事情:

导致大多数防病毒软件(例如 McAfee mcshield.exe)失控?他们希望防止的漏洞是什么?许多程序(mcafee 和 norton)会进行一些疯狂的计算,这些计算似乎会随着链接数量的增加而呈指数增长,一个页面上的几百个链接可能会在页面可用前 2 分钟产生。我想知道他们在做什么?

一旦我将它们更改为<A href="javascript:javascript_foo_function(1,'foo',34);">防病毒软件就没有问题并且不会导致 CPU 使用率过高。

0 投票
1 回答
844 浏览

glibc - 使用 Glibc 2.12.1 进行堆利用

我一直在寻找没有好的结果。

我想知道在文本中解释为 Malloc Maleficarum 或 Malloc Des-Malleficarum 的技术在 glibc 版本 2.12.1 中是否有效。

在第二个提到的文本中,据说这些技术在 glibc 版本 2.7 和 2.8 中进行了测试,所以我真的不知道它们是否适用于我的 glibc 版本。我当然可以测试它们,但是,首先,只有它们自己的技术真的很难,另一方面,如果它们不起作用,我不知道是因为 glibc 版本还是我的错.

此外,我还没有发现任何实际的堆利用。而且,我也找不到通过这些 glibc 版本实现的更改。

提前致谢。

0 投票
3 回答
4260 浏览

php - 这个 PHP 漏洞利用代码(在我的应用程序中找到)到底是什么?

我在我的一个客户网站(wordpress)的所有 php 文件中找到了 base 64 中的这段代码,我试图了解它的作用。

我还试图弄清楚它是应用程序漏洞利用还是通过此代码的直接 FTP 访问。

一切都从setup_globals_777()设置ob_start('mrobh')回调mrobh($content)函数开始。

然后有人打电话给gzdecodeit ($decode)麻烦开始的地方。

似乎它获取了页面内容并进行了更改。现在我正在尝试检测具体的更改并了解所有功能,包括第二个功能gzdecodeit()

有人可以解释一下吗?

来电

回调:

设置函数(可以理解)

回调执行后调用的第一个函数:

这就是魔法发生的地方。我看不到其他可用函数的调用,也无法理解该函数实际解码的内容,因为$decodevar 是由ob_start()

所有可用功能(在 a 之后base64_decode()):

0 投票
3 回答
768 浏览

security - 缓冲区溢出漏洞仍然是一种实用的入侵方法吗?

借助许多内置(非用户添加)的安全措施,缓冲区溢出漏洞仍然是一种实用的入侵方法吗?

避免缓冲区溢出的主要安全措施是什么?

0 投票
1 回答
4089 浏览

security - Understanding metasploits meterpreter payload

I would like to get more in-depth knowledge of how the meterpreter works. If you disassemble the payload windows/meterpreter/reverse_typ, created by msfpayload with the following commands:

You'll get the following result:

How can I get a better understanding of what this code means? I would like to understand how the meterpreter payload works really, but I don't know where to start, unfortunately.

I started by looking at the code with IDA, but that did not bring me much further.

Any links or resources for reading and further studying are appreciated!

0 投票
3 回答
15162 浏览

c - 使用堆溢出写入任意数据

我一直在尝试学习堆溢出攻击的基础知识。我最感兴趣的是使用损坏或修改块元数据作为攻击的基础,但我也愿意接受其他建议。我知道我的漏洞利用目标应该是用函数指针覆盖printf()函数challenge()指针,但我似乎无法弄清楚如何实现该写入。我有以下要利用的代码,它正在使用mallocfrom glibc 2.11.2

显然,实现对已分配块的元数据的实际覆盖是微不足道的。但是,我还没有找到使用任何标准技术来利用此代码的方法。我已阅读并尝试实施以下技术:

  • 论文:关于堆溢出的 w00w00
    • 虽然论文很清楚,但该unlink技术已经过时了一段时间。
  • Malloc Maleficarum.txt
    • 本文扩展了 w00w00 日以来的漏洞利用技术,并说明了 glibc 的较新版本。但是,鉴于本文详述的 5 种技术,我没有发现上面的代码符合这些技术的任何先决条件。
  • 通过打破堆来理解堆(pdf)
    • pdf 很好地回顾了堆的工作原理,但侧重于双重释放技术。

我最初试图通过操纵 inputC 块的大小值来利用此代码,以便它指向 inputC 块的头部。当这不起作用时,我尝试进一步指向 inputB 块。那时我意识到新的 glibc 会对大小值进行健全性检查。

假设用户能够将分配的块的元数据编辑为任意值,并使用它来覆盖 GOT 中的值或写入任何其他任意地址,那么用户如何利用 free 进行攻击?

注意:当我写“任意地址”时,我知道内存页可能是只读的或受保护的,我的意思是我可以假设我可以写入的地址。

0 投票
2 回答
404 浏览

security - 带有gets() ROP 漏洞的Windows 控制台应用程序

我正在尝试(出于学习目的)使用面向返回的编程 (ROP) 技术来利用 gets() 函数漏洞。目标程序是一个 Windows 控制台应用程序,它在某些时候要求输入,然后使用 gets() 将输入存储在本地 80 个字符长的数组中。
我创建了一个文件,其中包含开头的 80 个“a”字符 + 一些额外的字符 + 0x5da06c48 地址,用于覆盖旧的 EIP 指针。
我在文本编辑器中打开文件并将内容复制粘贴到控制台作为输入。我使用 IDA Pro(或 OllyDbg)在从 gets() 函数返回后立即设置断点,并注意到地址已损坏 - 它被设置为 0x3fa03f48(两个 3f 替换)。
我也尝试过其他地址 - 其中一部分运行良好,但大多数时候地址被损坏(有时字符丢失或替换,有时被截断)。
如何克服这个问题?任何建议将不胜感激!

0 投票
1 回答
170 浏览

assembly - 为什么堆栈开始的地址足够可预测以允许可重复利用但似乎不可预测?

我最近一直在自学编写漏洞利用程序和shellcode,许多指南/书籍声称我们可以猜测堆栈的开始位置,从而通过一些工作来猜测我们的 shellcode 从堆栈上的哪个地址开始。

  • 为什么栈的起始地址是可预测的?堆栈不应该从内存中的某个随机地址开始吗?
  • 如果堆栈的地址开始只是虚拟地址空间中的某个固定偏移量,那么为什么它会因机器而异?
  • 不同平台和栈起始地址的误差范围是多少?

相关:“每个程序的堆栈都从相同的地址开始”来自黑客的地址困境:利用的艺术为什么堆栈地址会朝着减少内存地址的方向增长?

编辑对于我的测试,地址空间布局随机化(ASLR)已关闭。