ubuntu中使用checksec命令可以檢視可執行檔案開啟的保護
除錯必不可少的一步操作
但是經常會忘了縮寫對應的意思,今天就總結一下。
1.relro: relrp會有pratial relro
和full relro
,如果開啟full relro,意味著我們無法修改got表2.stack:
canary found
表示不能直接用溢位的方法覆蓋棧中返回位址,而要通過改寫指標與區域性變數、leak canary、overwrite canary的方法來繞過3.nx:
nx enabled
表示棧中的資料沒有執行許可權,通常用rop/構造rop鏈繞過4.pie:
pie enabled
表示開啟了位址隨機化,即每次程式執行的時候位址都會變化,而如果沒有開pie的話,no pie(0x400000),括號內的資料就是程式執行的基位址5.fortify:
fortify_source
機制對格式化字串有兩個限制:(1)包含%n的格式化字串不能位於程式記憶體中的可寫位址。
(2)當使用位置引數時,必須使用範圍內的所有引數。所以如果要使用%7$x,你必須同時使用1,2,3,4,5和6
STP的保護機制
bpdu保護 為了保護邊緣埠,因為當乙個邊緣埠收到乙個bpdu時,會狀變為非邊緣埠,會參與生成樹的計算,如果頻繁的up down,就使網路一直處於生成樹的計算。解決方法 在交換機的埠開啟bpdu保護,當設定為bpdu保護的埠收到bpdu時,系統會將該埠變為down狀態。配置 根橋保護 當網路中出現優...
TCP Wrappers保護機制
簡單介紹方式1 通過tcpd主程式對其他服務程式進行包裝 方式2 由其他服務程式呼叫libwrap.so.鏈結庫 etc hosts allow 允許 etc hosts deny 拒絕 流程圖 由此可見,etc hosts.allow檔案的優先順序更高,若同一ip位址即出現在hosts allow...
程式保護機制
3.堆保護 nx 傳統的堆漏洞攻擊會覆蓋對塊首部,並檢視建立乙個偽造的塊,當記憶體釋放例程執行時可以使用該塊在任意記憶體位址處寫入任意4個位元組。具體為 4.dep nx dep data execution prevention 即資料執行保護,阻止存放在堆 棧或資料記憶體中的 執行,這一直以來都...