问题标签 [shellcode]
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.
security - Shellcode作为以root身份执行的缓冲区溢出(或其他)漏洞利用的有效负载?
当我使用诸如此处提供的 shellcode 作为某些易受攻击程序的有效负载时,shell 如何以 root 身份执行?我在问特权如何提升到root?shellcode 似乎没有调用setuid
或更改用户的任何内容。
* http://www.tenouk.com/Bufferoverflowc/Bufferoverflow5.html
c - 这个程序在做什么?
那些memcpy
和memset
之前execve
做什么?它如何影响程序proc
?
bss2的更新代码
更新
现在似乎问题归结为环境变量的位置?
assembly - 我们是否用操作码或内存地址覆盖 EIP(返回地址)?
据我所知,shellcode[]
是用于生成 shell 的十六进制操作码,代码的最后一行用操作码覆盖 ret。我们是否将操作码或内存地址插入 RET ?
php - 这段代码是漏洞吗?这段代码是什么?
我正在查看已被某人/某事利用的网站。该网站在其页脚中注入了许多链接,这些链接链接到制药宣传,谁知道还有什么。页脚顶部有很多链接。我现在只能在雅虎索引的缓存页面上找到这些。尽管如此,谷歌仍然对该网站不满意,并且实时网站不再显示任何链接。这是给客户的……所以我主要知道我被告知了什么,以及我能找到其他明智的东西。
我在footer.php(它是一个OsCommerse站点)的“提示/顶部”找到了这段代码:
当我查看具有“错误”链接的源缓存页面时,此代码正好适合我在 footer.php 源代码中找到它的位置。对谷歌的一点研究表明,那里有类似代码的漏洞利用。
你怎么看,当我在自己的服务器上运行它时,我得到的只是源代码中的回显评论,如下所示:
我不想仅仅因为它看起来很糟糕就匆忙删除代码并说“你的好”,特别是因为我无法立即知道“坏链接”已经消失。顺便说一句,这些链接都指向一个死 URL。
c++ - 在不包含 windows.h 的情况下调用 kernel32.dll 函数
如果 kernel32.dll 保证加载到进程虚拟内存中,为什么我不能在不包含 windows.h 的情况下调用 Sleep 等函数?以下是来自vividmachine.com的摘录
5. 那么,窗户呢?如何找到我需要的 DLL 函数的地址?这些地址不会随着每次服务包升级而改变吗?
有多种方法可以找到您需要在 shellcode 中使用的函数的地址。寻址函数有两种方法;您可以在运行时找到所需的功能或使用硬编码地址。本教程将主要讨论硬编码方法。唯一保证映射到 shellcode 地址空间的 DLL 是 kernel32.dll。此 DLL 将保存 LoadLibrary 和 GetProcAddress,这两个函数需要获取可映射到漏洞利用进程空间的任何函数地址。但是这种方法存在一个问题,地址偏移量会随着 Windows 的每个新版本(服务包、补丁等)而改变。因此,如果您使用这种方法,您的 shellcode 将仅适用于特定版本的 Windows。
python - Python 中 Perl 的 Pack('V') 函数?
我最近一直在进行一些漏洞利用开发以准备参加培训课程,但我遇到了一个教程问题。我一直在关注我能找到的所有教程,使用 Python 而不是教程使用的语言,出于偏好。我正在尝试对所有内容进行交叉编码,但我不知道如何交叉编码 Perl 的 Pack() 函数。
TL; DR:我正在尝试将其翻译成 python:
我找到了 Python 的 struct.pack() 函数,但是当我使用
,它会停止程序并且不起作用。我究竟做错了什么?
这是我的全部源代码
c - 用于编写漏洞利用的 c 中的堆栈溢出代码
我正在尝试在我的 Linux 环境(BT3)中启动一个 shell,但它不断出现段错误。我使用的方法不在The Shellcoder's HandBook中。请注意,所有这些都直接来自文本。
更多参考:http ://www.backtrack-linux.org/forums/old-pentesting/15508-stuck-eip-buffer-overflow.html
shell - 无空 Shellcode
我正在尝试将我编写的汇编程序转换为无空 shellcode。
但是,对于某些说明,我不确定如何执行此操作。其中一些(在英特尔语法中)包括:
和
我想避免使用一千次调用inc eax。我在想也许有一些创造性的异或值,第二个,也许如果有一个标志可以设置为只需要 8 个字节的常量。
任何帮助表示赞赏。
shell - 更多无空 Shellcode
我需要找到以下指令的无空替换,以便我可以将以下代码放入 shellcode。
我需要转换为无空值的第一条指令是:
字符串 str 在我的 .data 部分中定义。第二个是:
谢谢!
c - 作业 - 无法利用 bufferoverflow
我正在尝试学习在 Backtrack Linux 上利用简单的缓冲流技术。
这是我的 C 程序
这是我使用的shellcode,对应简单的/bin/ls
\x31\xc0\x83\xec\x01\x88\x04\x24\x68\x6e\x2f\x6c\x73\x66\x68\x62\x69\x83\xec \x01\xc6\x04\x24\x2f\x89\xe6\x50\x56\xb0\x0b\x89\xf3\x89\xe1\x31\xd2\xcd\x80\xb0\x01\x31\xdb\xcd\x80
我使用以下命令将这个 shellcode 注入 gdb
当我逐步完成应用程序时,它会SIG FAULT
根据最终ret
指令生成。此时EIP
正确设置为0xffffd30c
。这个地址是可寻址的,并且包含一系列的NOP
,后跟我的 shell 代码,如有效负载中所示。
我已禁用 ASLR
sudo echo 0 > /proc/sys/kernel/randomize_va_space
fno-stack-protector
并且还使用选项编译了我的二进制文件。
知道 SIGSEGV 的原因是什么吗?