精勤求學,敦篤勵志
——《西安交通大學校訓》
把二進制代碼安置在輸入參數里,精確地計算棧中返回地址的偏移量,通過一個合法的調用執行非法的代碼,這聽起來似乎有點天方夜譚。如果在20年之前這確實是一件impossible mission,但在軟件調試技術高度發展的今天,對于有一定計算機基礎的人來說,這已經不是什么難事了。
對于初學者,未經許可滲透進主機獲得控制權的道理并不像編寫求解“水仙花數”的C語言程序那樣淺顯易懂,如果用大量的篇幅來維護技術的完整性可能會讓本身就很深奧的技術變得更加不可理喻。所以本篇將會把復雜的調試過程抽絲剝繭,提取出最核心的原則和思路,然后配合精心設計的小實驗讓您深刻體會漏洞利用的精髓。
也許這種敘述方式未能涵蓋所有漏洞利用技術的邊邊角角,但是您在做完全部的調試實驗之后一定能夠越過技術門檻,進入這片領域,獲得真正的提高。
在開始我們的二進制歷險之前,您需要進一步堅定自己的意志。要知道扎實的基本功和精湛的調試技術絕不是從書籍上讀到的,那需要在實踐中不斷磨煉。也許若干年之前您已經聽說過緩沖區溢出,但唯有跟進內存,盯著寄存器,被莫名其妙的問題反復郁悶,最終讓shellcode得以成功執行時,才算得上真正懂得了其中奧妙。
所有漂亮的exploits背后都隱藏著無數個對著寄存器發呆的不眠之夜,如果您沒被嚇倒,那么我們開始吧!
推薦閱讀
- Extending Symfony2 Web Application Framework
- Node Security
- DevSecOps敏捷安全
- unidbg逆向工程:原理與實踐
- 腦洞大開:滲透測試另類實戰攻略
- 信息系統安全檢測與風險評估
- 諸神之眼:Nmap網絡安全審計技術揭秘
- 黑客攻防與網絡安全從新手到高手(絕招篇)
- Building a Home Security System with BeagleBone
- Instant Java Password and Authentication Security
- 網絡安全態勢感知
- 電腦安全與攻防入門很輕松(實戰超值版)
- 數據保護:工作負載的可恢復性
- 信息技術基礎:提高篇·實驗與習題
- 網絡空間安全導論