# Yaygın Sömürü Problemleri
Sıfırdan kahraman olmaya kadar AWS hackleme öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)! * **Bir siber güvenlik şirketinde mi çalışıyorsunuz?** **Şirketinizi HackTricks'te reklamını görmek ister misiniz?** ya da **PEASS'ın en son sürümüne erişmek veya HackTricks'i PDF olarak indirmek ister misiniz?** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın! * [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz * [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin * **Katılın** [**💬**](https://emojipedia.org/speech-balloon/) **Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **Hacking püf noktalarınızı göndererek PR'larınızı** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **ve** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **ile paylaşın.**
## Uzaktan Sömürüde FD'ler Örneğin bir uzak sunucuya bir sömürü gönderirken, sunucuda **`system('/bin/sh')`** çağrıldığında, bu tabii ki sunucu işlemi içinde yürütülecek ve `/bin/sh` stdin'den (FD: `0`) giriş bekleyecek ve çıktıyı stdout ve stderr'de (FD'ler `1` ve `2`) yazdıracaktır. Bu nedenle saldırgan kabukla etkileşimde bulunamayacaktır. Bunu düzeltmenin bir yolu, sunucunun başlatıldığında **FD numarası `3`** (dinleme için) oluşturduğunu ve ardından bağlantınızın **FD numarasının `4`** olacağını varsaymaktır. Bu nedenle, **`dup2`** sistem çağrısını kullanarak stdin'i (FD 0) ve stdout'u (FD 1) saldırgan bağlantısının FD 4'ünde (saldırganın bağlantısının olduğu) çoğaltmak mümkün olacak ve böylece kabukla iletişim kurulabilecektir. Çünkü kabuk yürütüldüğünde. [**Buradan örnek sömürüye ulaşın**](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 zaten **`stdin`** ve **`stdout`**'u sokete aktarır. Ancak, `pty` modu **SİLME karakterlerini içerir**. Bu nedenle, bir `\x7f` ( `SİLME` -) gönderirseniz, exploitinizin önceki karakterini **silecektir**. Bunu atlatmak için, **herhangi bir gönderilen `\x7f`'den önce kaçış karakteri `\x16` eklenmelidir.** **Burada bu davranışın bir örneğini** [**bulabilirsiniz**](https://ir0nstone.gitbook.io/hackthebox/challenges/pwn/dream-diary-chapter-1/unlink-exploit)**.**