20175323 Exp1 PC平台逆向破解

2022-08-15 11:45:07 字數 2382 閱讀 8898

1.1.1實驗收穫與感想

1.我很菜

2.其實東西是很有意思的,當然是在有實驗指導書的情況下,去理解其中的邏輯很有趣,也還有一些東西沒有很懂

3.我以前沒有好好學彙編,我對不起老師,我之後也沒有去補學,對不起我買的大書

4.我記憶力真的不好,前一眼看的指令轉頭就忘

5.雖然我拖延症嚴重,但是只要開始做我就可以一直學

6.感謝老師詳細的指導書,不然我可能沒有勇氣去做

1.1.2什麼是漏洞,漏洞有什麼危害

漏洞是,程式中一些考慮不周的部分,還有計算機設計之初沒有考慮到的一些容易被利用的問題,以及某種程式語言的侷限性。

漏洞的危害有,攻擊者非法獲取許可權,造成網路癱瘓,使用者資訊洩露,開後門留下安全隱患。

1.2.1相應指令的機器碼注:更改主機名的方法:進入/etc檔案vim hostname(root下)重啟即可

不想承認我為截圖又重新做了一遍

2.1 直接修改程式機器指令,改變程式執行流程

在碼雲指導書的末尾附件鏈結裡面找到pwn1.zip,儲存到kali虛擬機器內

使用objdump -d 檔案 | more反彙編,檢視幾個函式的指令

看到main函式裡面的call foo函式的指令是e8 d7 ff ff ff,執行call指令時eip暫存器裡面的值是下一條指令的位址80484ba,此時call指令讓eip的值+d7ffffff(-41),即跳轉到foo函式起始位址8048491,要想呼叫getshell,則修改eip加的這個值,windows計算器的程式設計師模式可以計算出應改為c3ffffff

所以修改pwn中的機器指令可以直接呼叫getshell

編輯pwn2檔案(pwn1副本),如果直接在pwn1中操作,之後還需要再解壓,在16進製制模式下找到/e8d7(需要注意的是e8和d7之間可能有空格,直接搜尋/e8d7無結果)

改d7為c3,一定要轉換成原格式:%!xxd -r,wq儲存後反彙編,可以看到main函式直接呼叫getshell

執行:

2.2 構造字串,覆蓋返回位址,造成bof攻擊

反彙編pwn可以看到foo函式的彙編指令lea -0x1c(%ebp),%eax,可知預留給字串的緩衝區為0x1c=28位元組,還有ebp儲存的4個位元組,我們要覆蓋這部分以達到跳轉到getshell的目的

分析完了之後來驗證,下圖是我多打了乙個1,也就是說理論上最後溢位的為4555四個位元組,從下圖中的eip的值可以看出(4和5的ascii碼為34和35)溢位的正是4555(小端存放為0x35353534)

再次用12345678驗證存放方式

所以,如果想讓程式直接返回到getshell的位址0804847d,則將這個位址覆蓋到字串中,用perl語言將字串儲存到檔案(\x0a為回車)

2.3 注入shellcode並執行

準備工作:

設定pwn檔案堆疊可執行,關閉位址隨機化(execstack要用get-apt install execstack安裝)(關閉位址隨機化要在root下執行)

構造要注入的payload:linux下有兩種基本構造攻擊buf的方法:

再用第乙個辦法,返回位址放在最前面,仍然用01020304來定位

在另乙個終端進行gdb除錯

這時候的esp值為0xffffd2ac,再往下指四個位元組,跳過返回位址,就能指到shellcode的起始位址,所以ffffd2ac+4為ffffd2b0,故將其替換01020304,

執行:

(p 1 和 ( p 1)的區別

內容會持續更新,有錯誤的地方歡迎指正,謝謝 例1 下面程式的輸出結果是 include void main int p 3 p n cout 0 0 p 0 1 p 2 解析 p是乙個指標,乙個指向長度為3的陣列的指標。直接在p上偏移就是行,在 p上偏移就是列。比如 p 1 等價於p 1 0 等於4...

洛谷 P4389 付公主的揹包 多項式exp

題目鏈結 這題乍一眼應該是個生成函式題 我們可以把體積轉化成生成函式f x x f x x f x x v 0 v 0 v 0 然後跑1e5次fft就可以了 emmm,感覺有點不妙啊,1e5次fft什麼的好像肯定要t啊 我們感受下複雜度主要集中在卷積上面 因為求ln能化乘為加,所以可以對生成函式求一...

編譯原理P1

1.高階語言 過程式語言 fortran pascal c 函式式語言 lisp 邏輯式語言 prolog 物件式語言 c 2.低階語言 面向機器的語言 組合語言 機器語言 翻譯 是指在計算機中放置乙個能由計算機直接執行的翻譯程式,它以某一種程式語言 源語言 所編寫的程式 源程式 作為翻譯或加工的物...