freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

watercloud@xfocusorg-wenkub.com

2024-08-28 14:23 本頁面
   

【正文】 六 、 參考資料 六 、 參考資料 《 PARISC Instruction Set Architecture》 《 PA64_Runtime_Architecture》 《 Runtime Architecture Document》 《 HPAssembler Reference Manual HP9000 9th》 這些文檔都可以在 獲得。 . . . } 由于 sprintf為非葉子函數(shù),故覆蓋了 sprintf的返回地址。該軟件包的 cifslogin程序存在一些問題。 //格式化字符串問題和緩沖區(qū)溢出問題! 該問題存在于幾乎所有的程序中,我們可以利用幾乎所有的帶 S位的程序取得系統(tǒng)特權(quán)。export NLSPATH=./ $ ct abc Bus error - 出問題了:) 問題小結(jié) 問題小結(jié) char * pmsg = catgets( . . . )。 他們對應(yīng)于 cat文件中的 set號碼和 msg號碼,從而對應(yīng)一個特定的消息。 HP本地語言系統(tǒng)簡介 HP本地語言系統(tǒng)簡介 HP的本地化語言信息放在 /usr/lib/nls/下,每一個語言對應(yīng)一個目錄,如 LANG=C就對應(yīng)目錄 C/,各目錄下存放大量的 .cat信息文件 ,各程序?qū)?yīng)一個 信息文件如 。 /* 這次調(diào)用將會轉(zhuǎn)到 0x41414140處 (指令地址需 4字節(jié)對齊, */ /* 如果沒有對齊會自動對齊而不會出錯: ) */ } gdb跟蹤情況 gdb跟蹤情況 bash$ cc o t bash$ gdb ./t (gdb) r Starting program: ./t Program received signal SIGSEGV, Segmentation fault. 0x41414140 in ?? () ? 看執(zhí)行到這里來了。)。 for(i=0。 初始化數(shù)據(jù)區(qū)實(shí)際溢出考察 已初始化數(shù)據(jù)區(qū)實(shí)際溢出考察 include int x = 5。 這種定義 cc會把” hello”放到已初始化數(shù)據(jù)區(qū)。 堆溢出 堆溢出 ? 堆溢出能夠造成程序崩潰是我們看到了一點(diǎn)希望,是否可以利用還需進(jìn)一步研究。 PA沒有專門的 nop指令,通常的 nop指 xor %r0,%r0,%r0 shellcode 參考 shellcode char shellcode[]= /* 7*4+8 bytes */ \xeb\x5f\x1f\xfd /* bl shellcode+4,%r26 */ %r26= shellcode+8+4 1 \x0b\x39\x02\x99 /* xor %r25,%r25,%r25 */ 空指令,延時插槽 \xb7\x5a\x40\x22 /* addi, 0x11,%r26,%r26*/ %r26指向” /bin/sh” \x0f\x40\x12\x0e /* stbs %r0,7(%r26) */ 在” /bin/sh”后添加一個’ \0’ \x20\x20\x08\x01 /* ldil L%0xc0000004,%r1*/ “\xe4\x20\xe0\x08” /* ble R%0xc0000004(%sr7,%r1) */ 進(jìn)入系統(tǒng)調(diào)用 \xb4\x16\x70\x16 /* addi, 0xb,%r0,%r22 */ 置系統(tǒng)調(diào)用號 22 /bin/sh 有了以上的知識參照 PA指令手冊和匯編手冊我們來看看別人的shellcode,作為參考引用 shellcode如下: 四 、 溢出點(diǎn)滴 四 、 溢出點(diǎn)滴 ?64位和 32位工具使用說明 ?棧溢出 ?堆溢出 ?初始化數(shù)據(jù)區(qū)溢出 ?格式化字符串問題 ?利用環(huán)境變量存放信息 本章主要內(nèi)容如下: 64位和 32位工具使用說明 64位和 32位工具使用說明 Gdb. 64位的 Kernel上我們就必須使用 gdb64,否則我們使用 gdb32。系統(tǒng)調(diào)用機(jī)制由一個統(tǒng)一的系統(tǒng)調(diào)用函數(shù)處理 : 系統(tǒng)調(diào)用號 寄存器 %r22 跳轉(zhuǎn)到 SYSCALLGATE處執(zhí)行 系統(tǒng)調(diào)用返回值在寄存器% r28中 。 ? 其中前 4字節(jié)存放了一個地址,后 4字節(jié)似乎存放了該內(nèi)存塊中空閑空間大小。并且如果該空間用完后再次要 求分配空間時會按 4k為單位分配一個新的空間。 2. 轉(zhuǎn)入目標(biāo)函數(shù)的稱為 Export Stub的一段代碼處(動態(tài)鏈接庫的每個函數(shù)對應(yīng)一份),此處將進(jìn)行如下操作: ? 分支到真正的目標(biāo)函數(shù)執(zhí)行,并將 SP20處的返回地址填為自己內(nèi)部的地址。 } void callee(char * dstr,const char * sstr) { strcpy(dstr,sstr)。 ?SP8 : 當(dāng)調(diào)用動態(tài)連接庫時由動態(tài)連接庫內(nèi)部函數(shù)調(diào)用進(jìn)入重定位節(jié)時使用 ,對它還有待研究,目前對他了解的不多。進(jìn)入 callee后 callee同樣首先將 4個參數(shù)寄存器存入父函數(shù) caller的參數(shù)存放區(qū),并且以后通過這里引用參數(shù)。但無論參數(shù)多少調(diào)用函數(shù)都始終在自己的棧中保留 4個32位地址用于存放 arg0arg3。 alloc()函數(shù) alloc()函數(shù) 棧 幀 標(biāo) 識 區(qū)參 數(shù) 存 放 區(qū)局 部 變 量 區(qū)對 齊 數(shù) 據(jù)寄 存 器 保 存 區(qū)棧 幀 標(biāo) 識 區(qū)A l l o c 動 態(tài) 分配 的 空 間局 部 變 量 區(qū)對 齊 數(shù) 據(jù)寄 存 器 保 存 區(qū)參 數(shù) 存 放 區(qū)低 地 址高 地 址v o i d c a l l e e ( ){ c h a r * p = a l l o c ( 2 0 ) 。由于沒有檢查用戶輸入長度這樣就能覆 蓋 sprintf在 caller棧幀標(biāo)識區(qū)中存放的返回地址從而修改程序執(zhí)行流程。 非葉子函數(shù) 非葉子函數(shù) 非葉子函數(shù)在進(jìn)入時會將函數(shù)返回地址存放到父函數(shù)的棧幀標(biāo)識區(qū)中, 返回時再取出來并返回。 ? 參數(shù)存放區(qū)和棧幀標(biāo)識區(qū)將在后面專門介紹。}棧 幀 標(biāo) 識 區(qū)c a l l e r 的 棧 頂?shù)?地 址高 地 址棧 增 長方 向進(jìn) 入 c a l l e e 后 的 棧 分 布 情 況c a l l e e 的 棧 頂棧 幀 標(biāo) 識 區(qū)參 數(shù) 存 放 區(qū)局 部 變 量 區(qū)對 齊 數(shù) 據(jù)寄 存 器 保 存 區(qū)參 數(shù) 存 放 區(qū)S P局 部 變 量 區(qū). . . . . .c a l l e r 的 棧 區(qū) 間c a l l e e 的 棧 區(qū) 間? 棧增長方向由低向高,和很多系統(tǒng)都不同。 ? 函數(shù) sub_t
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1