無pwntools時如何檢視保護

2022-09-13 04:12:12 字數 1204 閱讀 4795

在很多線下比賽並且使用舉辦方提供的電腦時,會沒有python的模組和外掛程式,這就包括pwntools(工具人爆哭!)

眾所周知,當乙個小菜雞沒有pwntools沒有補全(不是我)基本就廢掉嘍...

所以經過對大佬的取經之後準備寫一些關於脫手pwntools的部落格作為記錄,孩子是個超級超級大菜雞,有任何錯誤的地方歡迎指出!

如何分辨保護機制

pwntools是自帶舊版本的checksec的,這使得檢視保護易如反掌

canary

在函式剛開始執行時會設成乙個標誌,這個標誌會入棧,當程式執行完之後,他會校驗canary值是不是會發生變化,如果發生變化,說明程式被改過,發生異常,如果沒改過就正常

我們可以通過ida檢視有無__stack_chk_fail函式,如果有,就代表開了金絲雀

例如:

pie位址隨機化,開啟後每次引導程式都會將位址隨機,但是基位址不變,分辨這個保護可以使用objdump -d命令檢視各段為固定位址還是偏移位址

例如:

這個就是偏移位址

對比一下沒有開pie的

還是很明顯的,敲一敲就曉得了

nx

通過redelf -a檢視gnu_stack欄,flag列下如果是rw則是有nx,rwe則是無nx

readelf -a 檢視有無gnu_relro,有則有relro,無則無relro(relro分辨不出部分保護和全部保護的區別)

例如:

emmm....雖然沒有pwntools但也不是很難,只是稍微複雜了些,相信各位小夥伴一定能快速掌握,不像我,離了pwntools就像個殘廢。。。

android如何檢視app資料(無root許可權)

方案1使用run as命令 adb shell run as com.ila.pira.ump如果這條命令執行成功,接下來就可以adb命令直接檢視資料。adb命令具體可以參看這裡 android中常用的adb shell命令 如果這條命令執行失敗,會報如下錯誤 run as could not se...

Xcode debug時如何檢視記憶體中的資料

對於iphone開發 xcode的初學者,如何在除錯時檢視變數的值是很頭痛的事情。因為xcode的expression 經常無法正確顯示變數的值。但是強大的gdb可以很方便的幫我們檢視變數的值。當執行到某斷點時,在gdb視窗中使用po就可以檢視變數.po print object 1 檢視strin...

VB程式設計時如何檢測A驅有無磁碟或磁碟寫保護?

在一些軟體中,我們會發現,當軟體執行到需要向a驅讀寫檔案時,它會自動對a驅進行檢測。如果使用者沒有按要求在a驅插入磁碟,程式會提示使用者將磁碟插入到a驅中 如果需要向a驅進行寫檔案,而這時a驅裡的磁碟 寫保護 了,程式無法向其寫檔案,程式也會提示使用者去掉磁碟的 寫保護 這種智慧型化的提示功能能否在...