命令執(zhí)行漏洞

1腳本語言(如PHP)優(yōu)點是簡潔、方便木柬,但也伴隨著一些問題皆串,如速度慢、無法接觸系統(tǒng)底層眉枕,如果我們開發(fā)的應用(特別是企業(yè)級的一些應用)需要一些除去web的特殊功能時恶复,就需要調用一些外部程序。

2在PHP中可以調用外部程序的常見函數:

? system

? exec

? shell_exec

? passthru

? popen

? proc_popen

3導致命令執(zhí)行漏洞的原因較多速挑,主要包括以下幾類:

? 代碼層過濾不嚴格

一些商業(yè)應用需要執(zhí)行命令谤牡,商業(yè)應用的一些核心代碼可能封裝在二進制文件中,在web應用中通過 system函數來調用之:

system("/bin/program --arg $arg");

? 調用第三方組件存在代碼執(zhí)行漏洞

很典型的就是WordPress中,可以選擇使用 ImageMagick這個常用的圖片處理組件,對用戶上傳的圖片進行處理(默認是

ImageMagick庫)姥宝,造成命令執(zhí)行翅萤。

另外JAVA中的命令執(zhí)行漏洞(struts2/Elasticsearch Groovy等)很常見。

典型的漏洞代碼

<?php

system($GET_[cmd]);

?>

http://127.0.0.1:8080/?cmd=id

http://192.168.188.66/index.php?cmd=

|I ping -i 30 127.0.0.1 腊满; x II ping -n 30 127.0.0.1 &

如果應用程序過濾掉某些命令分隔符套么,為加大檢測到命令注人漏洞的可能性培己,還應該輪流 向每一個目標參數提交下面的每個測試字符串,并監(jiān)控應用程序進行響應的時間胚泌。

I ping -i 30 127.0.0.1 I

I ping -n 30 127.0.0.1 I

& ping -i 30 127.0.0.1 &

& ping -n 30 127.0.0.1 &

;ping 127.0.0.1 ;

%0a ping -i 30 127.0.0.1 %0a ' ping 127.0.0.1 '

如果發(fā)生時間延遲省咨,說明應用程序可能易于受到命令注人攻擊。重復幾次測試過程玷室, 確定延遲不是由于網絡延時或其他異常造成的零蓉。可以嘗試更改-n或-i參數的值穷缤,并確定經歷的時間延遲是否會隨著提交的值發(fā)生對應的變化敌蜂。

使用所發(fā)現的任何一個可成功實施攻擊的注人字符串,嘗試注人另一個更有用的命令 (如Is或dir),確定是否能夠將命令結果返回到瀏覽器上津肛。

如果不能直接獲得命令執(zhí)行結果章喉,還可以采用其他方法。

□可以嘗試打開一條通向自己計算機的帶外通道快耿。嘗試使用TFTP上傳工具至服務器囊陡, 使用telnet或netcat建立一個通向自己計算機的反向shell,并使用mail命令通過SMTP 發(fā)送命令結果。

□可以將命令結果重定向到Web根目錄下的一個文件掀亥,然后使用瀏覽器直接獲取結

果撞反。例如:dir > c:\inetpub\wwwroot\foo.txt

一旦找到注人命令的方法并能夠獲得命令執(zhí)行結果,就應當城定自己的權限(通過使 用whoami或類似命令搪花,或者嘗試向一個受保護的目錄寫人一個無害的文件)遏片。然后就可以設 法提升自己的權限,進而秘密訪問應用程序中的敏感數據撮竿,或者通過被攻破的服務器攻擊其他主機吮便。

修復方案

1. 能使用腳本解決的工作,不要調用其他程序處理幢踏。盡量少用執(zhí)行命令的函數髓需,并在PHP配置文件php.ini的禁用函數功能disable_functions中禁用。

2. 對于可控點是程序參數的情況房蝉,使用escapeshellcmd函數進行過濾僚匆。

3. 對于可控點是程序參數的值的情況,使用escapeshellarg函數進行過濾搭幻。

4. 參數的值盡量使用引號包裹咧擂,并在拼接前調用addslashes進行轉義。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末檀蹋,一起剝皮案震驚了整個濱河市松申,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖贸桶,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舅逸,死亡現場離奇詭異,居然都是意外死亡皇筛,警方通過查閱死者的電腦和手機堡赔,發(fā)現死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來设联,“玉大人,你說我怎么就攤上這事灼捂±肜” “怎么了?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵悉稠,是天一觀的道長宫蛆。 經常有香客問我,道長的猛,這世上最難降的妖魔是什么耀盗? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮卦尊,結果婚禮上叛拷,老公的妹妹穿的比我還像新娘。我一直安慰自己岂却,他們只是感情好忿薇,可當我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著躏哩,像睡著了一般署浩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上扫尺,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天筋栋,我揣著相機與錄音,去河邊找鬼正驻。 笑死弊攘,一個胖子當著我的面吹牛,可吹牛的內容都是我干的拨拓。 我是一名探鬼主播肴颊,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼渣磷!你這毒婦竟也來了婿着?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎竟宋,沒想到半個月后提完,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡丘侠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年徒欣,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜗字。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡打肝,死狀恐怖,靈堂內的尸體忽然破棺而出挪捕,到底是詐尸還是另有隱情粗梭,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布级零,位于F島的核電站断医,受9級特大地震影響,放射性物質發(fā)生泄漏奏纪。R本人自食惡果不足惜鉴嗤,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望序调。 院中可真熱鬧醉锅,春花似錦、人聲如沸发绢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朴摊。三九已至默垄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間甚纲,已是汗流浹背口锭。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留介杆,地道東北人鹃操。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像春哨,于是被迫代替她去往敵國和親荆隘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內容