日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Linux下C程序的動(dòng)態(tài)庫(kù)注入方法 (linux下c 注入動(dòng)態(tài)庫(kù))

動(dòng)態(tài)庫(kù)注入(Dynamic Linker Injection)是一種注入技術(shù),是將動(dòng)態(tài)庫(kù)注入到程序中,前者成為程序的一個(gè)組成部分。通常,注入的動(dòng)態(tài)庫(kù)是由“黑客”編寫(xiě)的用于某些特殊目的的惡意代碼。注入完成后,程序?qū)?huì)執(zhí)行惡意代碼,在未經(jīng)授權(quán)的情況下執(zhí)行竊取機(jī)密數(shù)據(jù)、篡改文件等操作。

專注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)四平免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了超過(guò)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

本文將介紹,并介紹如何防范動(dòng)態(tài)庫(kù)注入攻擊。

一、注入原理

動(dòng)態(tài)鏈接(Dynamic Linking)是指程序在運(yùn)行時(shí)動(dòng)態(tài)的加載所依賴的庫(kù)文件,而不是運(yùn)行前完成鏈接,將庫(kù)文件打包成可執(zhí)行文件。在程序運(yùn)行過(guò)程中,動(dòng)態(tài)鏈接器會(huì)依照一定的規(guī)則查找依賴庫(kù)文件的路徑,找到所需庫(kù)文件,然后在運(yùn)行時(shí)將其鏈接起來(lái)。

動(dòng)態(tài)庫(kù)注入就是將自定義的動(dòng)態(tài)鏈接庫(kù)注入到原進(jìn)程的地址空間中,利用動(dòng)態(tài)鏈接交叉鏈接的特性,使得程序在執(zhí)行時(shí)從自定義庫(kù)中讀取需要的代碼,以達(dá)到控制原進(jìn)程的目的。這種技術(shù)被廣泛應(yīng)用于惡意代碼的實(shí)現(xiàn)中。

二、注入方法分析

(一)注入庫(kù)文件

要實(shí)現(xiàn)動(dòng)態(tài)庫(kù)注入攻擊,習(xí)慣上我們會(huì)抓住運(yùn)行中的一個(gè)程序,并將自定義動(dòng)態(tài)庫(kù)注入到進(jìn)程的地址空間中。這種實(shí)現(xiàn)方式有以下幾種:

1、將動(dòng)態(tài)庫(kù)文件覆蓋掉被注入進(jìn)程的同名動(dòng)態(tài)庫(kù)文件。

2、修改程序進(jìn)程的Linker信息,使其在運(yùn)行時(shí)鏈接我們的惡意動(dòng)態(tài)庫(kù)。

(二)動(dòng)態(tài)鏈接攻擊

動(dòng)態(tài)鏈接攻擊是指利用程序的動(dòng)態(tài)鏈接特性來(lái)攻擊程序。主要方式有以下幾種:

1、運(yùn)行時(shí)hook。

在程序的前面照下一段代碼,以實(shí)現(xiàn)修改函數(shù)實(shí)現(xiàn)變量的方法:

“`

#define _GNU_SOURCE

#include

#include

int (*old_puts)(const char *s) = NULL;

int puts(const char *s)

{

if (!old_puts)

{

old_puts = (int (*)(const char *))dlsym(RTLD_NEXT, “puts”);

}

old_puts(“sizehammer”);

return old_puts(s);

}

“`

2、注入so文件執(zhí)行hook,此方式是通過(guò)與鉤子機(jī)制進(jìn)行對(duì)抗。

3、修改程序PIC表(Procedure Linkage Table)中的函數(shù)指針地址。

需要注意的是,上述Hook方式實(shí)現(xiàn)的方法是在修改原有函數(shù)的功能實(shí)現(xiàn),而很多注入方法是通過(guò)檢測(cè)第二個(gè)參數(shù)的函數(shù)地址,發(fā)現(xiàn)當(dāng)前函數(shù)不是通過(guò)dlsym實(shí)現(xiàn)的,然后使用LD_PRELOAD指定的so庫(kù)getdlsym來(lái)實(shí)現(xiàn)獨(dú)有的hook覆蓋。

三、注入攻擊防范

為了避免動(dòng)態(tài)庫(kù)注入攻擊,我們可以采取以下防范措施:

1、強(qiáng)制要求所有用戶的賬號(hào)必須至少有一個(gè)非數(shù)字字符。

2、使用ASLR技術(shù),kernel 2.6.34以上的版本支持”personality”設(shè)置,設(shè)置為”ADDR_NO_RANDOMIZE”或使用命令行工具”execq”來(lái)實(shí)現(xiàn)。

3、使用SecureExec來(lái)緩解動(dòng)態(tài)庫(kù)注入技術(shù)。

4、應(yīng)用程序過(guò)程內(nèi)部結(jié)構(gòu)代碼(如imports和exports)強(qiáng)制進(jìn)行靜態(tài)綁定。

相關(guān)問(wèn)題拓展閱讀:

  • linux下c++能使用c的頭文件和動(dòng)態(tài)庫(kù)嗎

linux下c++能使用c的頭文件和動(dòng)態(tài)庫(kù)嗎

可以的,c++是兼容c語(yǔ)言的,建議看一下c和c++的混編

確定可以,C/C++的借口能互相調(diào)用,但需要用extern “C”{ 你的接口聲明 }。

這個(gè)肯定是可以的了

linux下c 注入動(dòng)態(tài)庫(kù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux下c 注入動(dòng)態(tài)庫(kù),Linux下C程序的動(dòng)態(tài)庫(kù)注入方法,linux下c++能使用c的頭文件和動(dòng)態(tài)庫(kù)嗎的信息別忘了在本站進(jìn)行查找喔。

成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽(yáng)、重慶、貴陽(yáng)機(jī)房服務(wù)器托管租用。


當(dāng)前文章:Linux下C程序的動(dòng)態(tài)庫(kù)注入方法 (linux下c 注入動(dòng)態(tài)庫(kù))
本文鏈接:http://m.5511xx.com/article/ccicepp.html