亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 1583 | 回復(fù): 1
打印 上一主題 下一主題

[C] 囫圇C語(yǔ)言續(xù)--棧緩沖區(qū)溢出攻擊 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-10-19 18:39 |只看該作者 |倒序?yàn)g覽
在閱讀本節(jié)之前,建議先閱讀系列文章 堆和棧,關(guān)于函數(shù)調(diào)用棧那部分內(nèi)容,并確保正確理解了?聪旅娴某绦

//
// overflow.cpp : Defines the entry point for the console application.
//

#include <stdio.h>
#include <stdlib.h>


void attacker()
{
        printf("Attacker is running.\n";
        exit(0);
}


void leak_func(char *str)
{
        char local[4];
        int i;

        for (i = 0; str[i] !=0; i++)
        {
                local[i] = str[i];
        }
}

int attack_data[10];

int main(int argc, char* argv[])
{
        attack_data[0] = 0x41424344;
        attack_data[1] = 0x41424344;
        attack_data[2] = (int)attacker;

        leak_func((char *)attack_data);
        return 0;
}

稍微學(xué)過(guò)幾天C的人都知道,leak_func 的 local 變量溢出了,通常情況下,這個(gè)溢出會(huì)導(dǎo)致程序崩潰。但是舉這個(gè)例子很明顯,猜也能猜到程序會(huì)執(zhí)行 attacker 這個(gè)函數(shù)。

我們常說(shuō),程序攻擊者會(huì)傳給有漏洞的程序一個(gè) “精心計(jì)算的”字節(jié)流,來(lái)達(dá)到非法獲取控制權(quán)的目的。

在這個(gè)例子中 leak_func 中的局部變量過(guò)小,而且未檢查攻擊字符串的長(zhǎng)度遍進(jìn)行拷貝。這就是多所謂的“漏洞”。

那么因?yàn)樽兞?local 是從棧上分配的,而同時(shí)棧上同時(shí)有 該函數(shù)的返回地址,也就是 main 函數(shù)調(diào)用 leak_func 的下一條匯編指令的地址。但是溢出導(dǎo)致這個(gè)地址被恰好被 attacker 的地址覆蓋了,所以 leak_func 執(zhí)行到 ret 指令的時(shí)候,并未返回到調(diào)用者,而是走差道了,去了 attacker。
這就是所謂的“精細(xì)計(jì)算”的字節(jié)流。

實(shí)際進(jìn)行攻擊的時(shí)候,還會(huì)涉及到其它技術(shù)以及“更精心的計(jì)算”,但是本節(jié)就到這里了,畢竟這是是告訴大家如何不要寫出有漏洞的程序,而不是黑客攻防演練。

另外手頭沒(méi)有編譯器,不同的編譯器會(huì)造成不同的結(jié)果,大家需要根據(jù)自己的編譯器重新精心計(jì)算一下。

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2015-10-21 16:24 |只看該作者
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char** argv) {
    int arr=6;
    argv=&arr;
    printf("%100d%13$n\n";
    //執(zhí)行printf后,arr變量為100
    sleep(60000);
    return (EXIT_SUCCESS);
}

您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP