係統粉 > IT資訊 > 業界資訊

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?

發布時間:2018-01-09    瀏覽數:

頭條黑客字典這個係列,是專為對黑客技術知識有興趣卻覺得無從開始學習的小白準備的。當然了,我也會盡量寫得深入淺出,讓有一定黑客技術基礎的人也會有所收獲。在學習這個係列之前,請自行準備一台Win10的電腦和一台Kali虛擬機(https://www.kali.org/downloads/)。如果你不會裝Kali虛擬機也不要緊,先看會你懂的。

一、網上最詳解釋命令行

我們第一個字典名詞是命令行。命令行的話有很多種,像Dos下的命令行,Linux下的Bash,黑客溢出反彈之後得到的界麵,英文一般會把它們統一稱為shell,我們一一來解釋下。

Dos是磁盤操作係統的縮寫,是個人計算機上的一類操作係統。從1981年直到1995年的15年間,磁盤操作係統在IBM PC兼容機市場中占有舉足輕重的地位。而且,若是把部分以DOS為基礎的Microsoft Windows版本,如Windows 95、Windows 98和Windows Me等都算進去的話,那麼其商業壽命至少可以算到2000年。微軟的所有後續版本中,磁盤操作係統被淘汰了,但是做為它的外殼界麵,命令行卻保留了下來。你在WIN10係統下按下WIN+X鍵,就可以打開命令行界麵了。

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?(1)

你打開的命令行界麵,其實是運行了DOS下的一個命令cmd.exe,供你輸入DOS下其它命令給係統的。你在命令界麵裏再輸入一次cmd.exe,仍然會出現一個命令行界麵。

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?(2)

我們再用黑客界的瑞士軍刀來做一次反彈模擬:

nc -vvlp 777 來監聽本機的777端口,那麼你再開一個命令行窗口,執行nc 127.0.0.1 777 -e cmd.exe,那麼原來監聽的界麵裏就會出現命令行界麵了,在黑客界這種命令行一般被人稱作shell。

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?(3)

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?(4)

命令行程序微軟從來沒有放棄過,一直在升級。而且每次升級WINdows,微軟幾乎都會增加幾個DOS小命令。我們普通人可能不常用,但是在IT維護人員或係統管理員手上,DOS命令是必須要會的。POWERSHELL雖然是一門編程語言,但是從它的命名,你就可以看出微軟的野心。power shell,超級SHELL,意思類似超級DOS。DOS和POWESHELL算是一個繼承和連接。你在命令行界麵裏直接輸入powershell,就會進入powershell界麵。

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?(5)

其實再嚴格一點講,命令行(shell)在IT界一般專指Linux的命令行了。Linux命令行更是小程序繁多,參數也多,甚至還能有強大的編程命令(bash)支持。shell是一種通用說法,bash是shell的一種實例。你在Kali下打開終端,就是打開了Linux的命令行。

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?(6)

無論是DOS還是LINUX,命令行命令都是分內部命令和外部命令的。在DOS下,如果找不到這個exe,你卻能運行它,像dir,那麼就是內部命令;能找到的exe就是外部命令了。在LIINUX下可以用enable -a來列出所有內部命令。

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?(7)

enable 也能判斷出哪個命令是非內部命令。

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?(8)

二、什麼是環境變量

環境變量一般是指在操作係統中用來指定操作係統運行環境的一些參數,比如臨時文件夾位置和係統文件夾位置等等。這點有點類似於DOS時期的默認路徑,當你運行某些程時序除了在當前文件夾中尋找外,還會到設置的默認路徑中去查找。比如說環境變量中的“Path”就是一個變量,裏麵存儲了一些常用命令所存放的目錄路徑。我在以前的文章中讓你安裝過python,安裝完畢之後在不同目錄下都可以調用python命令,這就是環境變量裏的path在起作用。如果要查看本機的環境變量,你可以在命令行打下set命令。

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?(9)

在set命令裏的每個變量都可以用%符號加在前後,然後用echo命令裏顯示出來。舉個例子,像echo %ALLUSERSPROFILE%。

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?(10)

你也可以在WIN10小娜那兒輸入環境變量,用圖形界麵來改動環境變量。

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?(11)

環境變量分用戶環境變量和係統環境變量的。用戶環境變量改動隻對當前用戶有用,係統環境變量改動對所有用戶都起作用。但是改動了環境變量之後,一定要重啟機器,新設置的環境變量才起作用。

再舉一個例子來說明臨時環境變量,我在這裏假設你機器裝有python27,裝在c:/python27,你還裝有sqlmap,裝在d:/sqlmap。如果python沒有給你機器自動配置好環境變量,你全路徑調用就要執行c:/python27/python.exe d:/sqlmap/sqlmap.py,但是實在是不方便了,要打很長的命令,其實為什麼不用DOS下的path命令呢?係統沒有配置好,你可以自己選建一個臨時環境變量呀。命令如下:

path=c:/python27;d:/sqlmap

然後直接運行sqlmap.py就能執行了。但是這樣做需要每次先手動執行一次path命令。

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?(12)

另外,環境變量有可能會遭到黑客的巧妙利用,可以用來提權。我以前寫過一篇文章《黑客滲透中提權的鬼手,巧妙利用環境變量》,你可以看下是如何遭到黑客們利用的。

頭條黑客字典係列之你學不會就放棄吧,什麼是命令行和環境變量?(13)

頭條黑客字典這個係列,真的是完全給0基礎的想學黑客的小白準備的了,如果你再學不會,哪你就放棄黑客之路吧。

上一篇:早報:驍龍845被曝或延期 百度回應“監聽電話” 下一篇:終於!Python或將取代VBA

相關資訊

最新熱門應用

電腦問答