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

正文內(nèi)容

watercloud@xfocusorg-預(yù)覽頁(yè)

 

【正文】 LDO 加載一個(gè)地址到寄存器中。 STW,m %r3, 0xC0(%sr0,%sp) 將 %r3存入棧中,同時(shí)將棧指針 %sp加 0xC0(注意那個(gè) m),函數(shù)基本都在開(kāi)始處使用這條指令來(lái)給自己分配棧空間。 ? 程序并沒(méi)有立即跳轉(zhuǎn),而是緊接著執(zhí)行地址 2處的指令將返回地址拷貝到了寄存器 RP。 運(yùn)行時(shí)體系結(jié)構(gòu)主要包括以下幾個(gè)方面: ? 空間布局 ? 函數(shù)調(diào)用 ? 系統(tǒng)調(diào)用 程序空間布局 共 享 庫(kù) 信 息程 序 代 碼只 讀 數(shù) 據(jù) 區(qū)已 初 始 化 數(shù) 據(jù) 區(qū)函 數(shù) 導(dǎo) 入 表 P L T數(shù) 據(jù) 導(dǎo) 入 表 D L TG L O B A L未 初 始 化 數(shù) 據(jù) 區(qū)堆棧共 享 庫(kù)系 統(tǒng) 代 碼共 享 內(nèi) 存 區(qū)S R 4S R 5S R 7程 序 運(yùn) 行 過(guò) 程 中 的 內(nèi) 存 分 部 和 重 要 寄 存 器 值系 統(tǒng) 空 間代 碼 空 間數(shù) 據(jù) 空 間系 統(tǒng) 空 間D PS P0 x 0 0 0 0 0 0 00 x 4 0 0 0 0 0 0 00 x 8 0 0 0 0 0 0 00 x F F F F F F F F3.1 程序空間布局 當(dāng)程序運(yùn)行起來(lái)時(shí)其空間布局如下,系統(tǒng)初始化了數(shù)據(jù)指針寄存器DP和空間寄存器 SRSR SR7,及狀態(tài)寄存器 PSW。 ? 寄存器保護(hù)區(qū)用于在函數(shù)入口處保存一些可能會(huì)被破壞的寄存器值,以便在函數(shù)退出時(shí)恢復(fù)這些寄存器。 } 2. 葉子函數(shù)指內(nèi)部不會(huì)再調(diào)用其他函數(shù)的函數(shù),如: int add(int x,int y) { return x+y。 sprintf(buff,”%s”,用戶輸入的數(shù)據(jù) )。 strcpy(buff,用戶輸入的數(shù)據(jù) )。}棧 幀 標(biāo) 識(shí) 區(qū)c a l l e r 的 棧 頂?shù)?地 址高 地 址棧 增 長(zhǎng)方 向進(jìn) 入 c a l l e e 后 的 棧 分 布 情 況c a l l e e 的 棧 頂棧 幀 標(biāo) 識(shí) 區(qū)參 數(shù) 存 放 區(qū)局 部 變 量 區(qū)對(duì) 齊 數(shù) 據(jù)寄 存 器 保 存 區(qū)參 數(shù) 存 放 區(qū)S P局 部 變 量 區(qū). . . . . .c a l l e r 的 棧 區(qū) 間c a l l e e 的 棧 區(qū) 間這兒主要介紹函數(shù)的參數(shù)傳遞和棧幀標(biāo)識(shí)區(qū) 函數(shù)棧的參數(shù)存放區(qū)和棧幀標(biāo)識(shí)區(qū) 函數(shù)棧的參數(shù)存放區(qū)和棧幀標(biāo)識(shí)區(qū) c a l l e r ( ){ c a l l e e ( ) 。 以后對(duì)參數(shù)的引用在通過(guò)父函數(shù)的參數(shù)存放區(qū)來(lái)讀取。 棧幀標(biāo)識(shí)區(qū) . . . . . .A R G 4A R G 3A R G 2A R G 1A R G 0擴(kuò) 展 D a t a / L T P o i n t e r擴(kuò) 展 S R 4 / L P P o i n t e r擴(kuò) 展 R P當(dāng) 前 R PS t a t i c L i n kC l e a n U PR e l o c a t i o n S t u b R PP r e v i o u s S PS t a c k P o i n t e r參 數(shù) 存 放 區(qū)棧 幀 標(biāo) 識(shí) 區(qū)低 地 址高 地 址S P 8S P 2 0S P 2 4S P 3 6棧標(biāo)識(shí)區(qū)中值得考察的有 : ?SP20 : 非葉子節(jié)點(diǎn)函數(shù)的返回地址。 void caller() { char buff[32]。 ? 從 PTL中加載目標(biāo)模塊的鏈接表指針到 %r19。 ? 跳轉(zhuǎn)回到 caller。 3. 每次 malloc(n)會(huì)以 4字節(jié)為單位分配一段地址。 目前對(duì)堆空間分配還沒(méi)有研究多少,并不知道堆溢出是否可以利用。 常見(jiàn)的系統(tǒng)調(diào)用及號(hào)碼有: EXIT 1 FORK 2 READ 3 WRITE 4 CHMOD 15 SETUID 23 DUP 41 SETGID 46 EXECVE 59 OPEN 5 ACCEPT 275 BIND 276 CONNECT 277 LISTEN 281 SOCKET 290 CLOSE 6 我們完成一個(gè) setuid(0)調(diào)用為: XOR %r26,%r26,%r26 ARG0 = 0 LDIL L’0xc0000004,%r1 老步驟,為了得到一個(gè) 32位數(shù) BLE R’0xc00000004,(%sr7,%r1) 進(jìn)入系統(tǒng)調(diào)用 LDO,23,%r22 設(shè)置系統(tǒng)調(diào)用號(hào) 程序中取得當(dāng)前 PC寄存器值 程序中取得當(dāng)前 PC寄存器值 BL target, r 分支指令會(huì)將返回地址存放到寄存器 r中,我們通常利用這條指令來(lái)取得當(dāng)前程序指令地址。 棧溢出 棧溢出 棧溢出在上一章已經(jīng)詳細(xì)講解了,這里就不多說(shuō)了,值得注意的是 HP上棧溢出需要至少兩層調(diào)用 : caller callee 為一層 callee要滿足非葉子節(jié)點(diǎn)還需要調(diào)用其他函數(shù)。而 PLT中存放著調(diào)用外部函數(shù)的地址信息,如果我們覆蓋這些地址信息就能夠修改程序流程。 如果有程序員使用第一種方法定義 p后又往 p拷貝數(shù)據(jù)就有問(wèn)題了。 /* p指向在已初始化數(shù)據(jù)區(qū)” int i=0。buff[i++]=39。 strcpy(p,buff)。 格式化字符串問(wèn)題 格式化字符串問(wèn)題所有系統(tǒng)通用,更多的利用信息可以參考 warning3等的相關(guān)文章。 catgets與語(yǔ)言信息文件 catgets 取語(yǔ)言信息函數(shù)為 catgets(),其定義為: char *catgets( nl_catd catd, int set_num, int msg_num, const char *def_str )。 漏洞所在 漏洞所在 $ ct abc ct: bad phone number abc 對(duì)比打印的消息和用 dumpmsg對(duì) /usr/lib/nls/C/ 可以發(fā)現(xiàn)該消息對(duì)應(yīng)號(hào)碼為 set_num = msg_num=1128。 //格式化字符串問(wèn)題。 特定程序 A設(shè)置一個(gè)環(huán)境變量后通過(guò) exec相關(guān)函數(shù)使用特定命令行參數(shù)執(zhí)行其他程序 B時(shí) , B程序空間內(nèi)部的該環(huán)境變量存放的位置可以非常精確的取得 。 考察 username 考察 username 考察這個(gè)棧溢出如下: main(. . .) { buffer[2240]。如圖為我已經(jīng)公布的序的 buffe
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1