無安全機制 32位

源碼
在這裏插入圖片描述編譯 :gcc -m32 -no-pie -fno-stack-protector -z execstack -o no no.c
要看ubuntu中是否是32位還是64位,
一開始查看安全機制
在這裏插入圖片描述可以加一條命令可以關閉系統的地址隨機化
先查看是否在系統中ASLR是否打開 cat /proc/sys/kernel/randomize_va_space
如果是2,則開啓
需要關閉 sudo sh -c “echo 0 > /proc/sys/kernel/randomize_va_space” 當爲0時,

先理解下面這個圖:
在這裏插入圖片描述因此可以構造 buffer = 填充字符 + jmp_eap_addr + shellcode

直接把文件拉進ida在這裏插入圖片描述這就可以看出溢出,因爲strcpy函數在拷貝的時候超出了,棧的大小隻有0x48,這時我們需要覆蓋ebp
用pattern create 200
r
pattern offset 0x41344141
得到76
在這裏插入圖片描述思路
1.剛開始接觸這些題時,首先想到的是往棧裏面填入數據,然後進行調用這個數據(shellcode)
2.這要有一個輸出函數和輸入函數,可以泄露libc—base,得到system和binsh的地址,這都在libc裏面
著:這裏因爲沒有開什麼機制,最好在裏面填充數據,跳轉我們的shellcode
腳本
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章