web安全-系统基础学习
安装VMware,kali,Ubuntu
此教程网上很多,在这不多赘述。
一、Linux 常用命令
mkdir 命令
mkdir
命令用于创建目录。
用法:mkdir [选项] [目录名]
参数:-p
创建多级目录,如果目录名称不存在,就新建一个。
ls 命令
ls
命令用于显示指定工作目录下之内容(列出指定目录所含之文件及子目录),ls命令的输出信息可以进行彩色加亮显示,以区分不同类型的文件。
用法:ls [选项] [目录]
参数:
-a
显示所有文件及目录 (. 开头的隐藏文件也会列出)-l
除文件名称外,也将文件型态、权限、拥有者、文件大小等资讯详细列出-h
以容易理解的格式列出文件大小
pwd 命令
pwd
命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。
用法:pwd
cd 命令
cd
命令用于切换当前工作目录。
用法:cd [目录]
用法:cd [绝对路径]
用法: .
代表当前目录,..
代表上一级目录,cd ~
用于切换至登录用户家目录。cd -
用于回到上一个目录。
touch 命令
touch
命令用于创建一个空白的新文件,如果同名文件已存在,则修改其时间属性。
用法: touch [选项] [文件名]
cp 命令
cp
命令主要用于复制文件或目录。
用法:cp [选项] [源文件] [目录]
参数:
-r
:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。(递归)-p
:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。(保持默认属性)
mv 命令
mv
命令用来为文件或目录改名、或将文件或目录移入其它位置。
用法:mv [选项] [源文件/源目录] [目录]
参数:
-f
: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。(直接覆盖不询问)-n
: 不要覆盖任何已存在的文件或目录。(不覆盖已存在的文件)
rm命令
rm
命令用于删除文件或者目录
用法:rm [选项] [文件\目录]
-i
删除前逐一询问确认。-f
即使原档案属性设为唯读,亦直接删除,无需逐一确认。-r
将目录及以下之档案亦逐一删除。
注意:rm -rf是一条危险的命令,代表递归删除某文件,如rm -rf /是递归删除根目录下的所有目录和文件,该命令不会询问,一旦执行系统将崩溃。
Linux 获取命令帮助的方式
使用-h
,–help
和man
可以查看命令的帮助文件。
绝对路径与相对路径
绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,linux的绝对路径是指从根目录说起的。万物起源为/
目录 。
例如: /dev/somedir/…、/etc/password
而相对路径则是从当前目录说起: 即 ./。例如在当前目录为根的情况下的./usr/bin和usr/bin是一个目录。
2.1 Tab键的使用
tab键的两大作用:
- tab补全:只需输入文件或目录名以及命令的前几个字符,然后按TAB键,如无相重的,完整的文件名或者命令立即自动在命令行出现;如有相重的,再按一下TAB键,系统会列出当前目录下所有以这几个字符开头的名字。
- tab键查看:在命令行下,只需输入例如m,再连续按两次TAB键,系统将列出所有以m开头的命令,(包括自定义的Bshell命令函数),对查找某些记不清楚的命令特有用。熟练使用tab键可提高工作效率。
2.2 四个特殊的文件名
. #代表当前目录
.. #代表上一级目录
- #代表上一个工作的目录
~ #代表家目录(root为/root,其他用户在/home下)
2.3 文本查看相关命令
cat
命令
cat
命令用于打开文件查看文件内容。
用法:cat [选项] [文件]
2.4 echo 命令
echo
命令用于输出指定内容。
用法:echo '[文本]'
用>>
和>
也可以将输出内容写入到文件中。
> #为覆盖
>> #为追加
使用>>
和>
可以将命令的输出结果保存于文件中。
2.5 more 命令
more
命令类似 cat
,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是,按空格键Space就往下一页显示,按Enier键显示文本的下一行内容,按 b键就会往回(back)一页显示,按q键退出。
用法:more [选项] [文件]
2.6 Linux 系统目录结构
- /bin目录下包含了用户命令文件,也就是shell命令。
- /boot包含了系统启动过程中所需要的所有内容。
- /dev目录是设备文件或者专有文件的存放位置。
- /etc目录包含了系统的配置文件。
- /root用户专有的家目录。一个用户对自己的家目录拥有绝对的控制权。
- /run是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
- /lib目录里面存放着共享库和内核模块。在系统的启动阶段和运行根文件系统的各种命令时,都需要用到这些共享库,所以必须与根文件放在一起。
- /media与/mnt是常见的挂载点.
- /opt目录系统附加软件的存放地址
- /sbin目录必备的系统软件存放处。用户系统维护的软件和某些只限root用户使用的命令存储在/sbin /usr/sbin以及/usr/local/sbin目录下。
- /srv目录某些服务进程启动以后,他们需要读取的数据会放在srv目录中。
- /tmp目录存放临时文件。任何程序都不用对/tmp目录下的任何文件或目录负责。
- /var目录包含着系统中绝大多数的随时变化着的数据,比如系统日志。/var的某些内容是不能共享给其他系统的,典型的就是/var/logs /var/run。当然某些是可以共享的,如/var/spool/news。
2.7 编辑器
- VI 编辑器
在命令行执行vi [文件名]
命令可进入v
i编辑器并编辑文件,如果没有同名文件则创建。
输入字母i
进入编辑模式
按ESC
回到一般模式
一般模式下按:
进入命令模式
命令
模式下常用指令:
- w # 保存 write
- q # 退出 quit
- wq # 保存并退出
- q! # 不保存强制退出
- set nu # 显示行号
- wq! # 强制保存并退出
二、Kali Linux 安装 Burp Suite
查看Java安装版本是否正确
java --version
安装BurpSuite专业版
官网下载BurpSuite,选择Professionalv2021.12.jar下载
BurpSuite激活工具(keygen.jar)在此获取
汉化Jar包在此获取:https://github.com/funkyoummp/BurpSuiteCn/releases/
1、解压缩 Burp-Suite-main.zip
unzip Burp-Suite-main.zip
2、opt目录创建BurpSuitePro,将文件拷贝至/opt/BurpSuitePro
sudo mkdir /opt/BurpSuitePro
cp -r BurpSuiteCnV2.0.jar /opt/BurpSuitePro
cp -r Burp-Suite-main/keygen.jar Burp-Suite-main/loader.jar /opt/BurpSuitePro
cp -r burpsuite_pro_v2021.12.jar /opt/BurpSuitePro
3、运行注册机,运行BurpSuite
1.运行注册机
java -jar keygen.jar
2.运行BurpSuite
java --illegal-access=permit -Dfile.encoding=utf-8 -javaagent:/opt/BurpSuitePro/loader.jar -noverify -jar /opt/BurpSuitePro/burpsuite_pro_v2021.12.jar
● 激活过程
○ 从 keygen.jar 复制许可证并粘贴到 Burp Suite Pro 中,然后单击下一步
○ 在 Burp Suite Pro 的右下角选择Manual Activation Option
○ 从 BurpSuite Pro 复制许可证请求并粘贴到 keygen.jar 的 Activation Request
○ 从 keygen.jar 的复制Activation Response并粘贴到 BurpSuite Pro,然后下一步直到完成
设置启动快捷方式
1、删除burpsuite社区版
cd /usr/bin
sudo rm -rf burpsuite
2、新建burpsuite
apt-get update
apt install mousepad
sudo mousepad burpsuite
3、添加如下内容
#!/bin/sh
java --illegal-access=permit -Dfile.encoding=utf-8 -javaagent:/opt/BurpSuitePro/loader.jar -javaagent:/opt/BurpSuitePro/BurpSuiteCnV2.0.jar -noverify -jar /opt/BurpSuitePro/burpsuite_pro_v2021.12.jar
4、给予burpsuite执行权限
chmod +x burpsuite
5、添加BrupSuite快捷访问
-
cd /usr/share/applications
-
sudo mousepad kali-burpsuite.desktop
-
找到Exec= 这行,修改为
-
Exec=sh -c "/usr/bin/burpsuite"
6、完工通过桌面快捷方式进行启动
三、dpkg 命令
dpkg 是为”Debian”操作系统专门开发的套件管理系统,用于软件的安装,更新和移除。能被dpkg命令安装的软件包一般以.deb为文件后缀。
dpkg -i # 安装软件包
dpkg -r # 移除软件(保留配置)
dpkg -P # 移除软件(不保留配置)
dpkg -c # 列出deb包的内容
dpkg -l # 配合|grep,查找主机包
dpkg -s # 查找包的详细信息
dpkg -L # 查看已安装的软件包,都存在系统哪有文件
dpkg -S # 显示指定包的状态信息
四、apt 命令
apt是一个在Debian中的Shell前端软件包管理器。
apt命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
apt命令执行需要超级管理员权限(root)
apt-get install #安装软件包
apt-get remove #仅卸载软件,但是并不卸载配置文件
apt-get purge #卸载指令,同时卸载相应的配置文件
apt-get update #将所有包的来源更新(更新源)
apt-get upgrade #将系统中旧版本的包升级成最新的
apt-cache search #用关键字搜索包
apt-cache show #显示特定包的基本信息
apt-cache depends #列出包的依赖
apt-get clean #清理本地包占用的磁盘空间(/var/cache/apt/archives)
apt-get autoremove #卸载软件的时候同时卸载那些当初作为依赖但是现在并不需要的包
Linux常用配置文件
/etc/passwd 文件
/etc/passwd文件中保存的就是系统中所有的用户和用户的主要信息,这个文件的内容非常规律,每行代表一个用户。
每行有七个字段,以:
为分隔符,每个字段所代表的含义不同,拿root这一行来做解释
- 第一个字段为:用户名名称
- 第二字段为:密码表示,但是不是真正的密码,密码是在另一个文件当中,在早期的unix中,这里保存的就是真正的加密后的密码字符串
- 第三个字段为:UID,也就是用户的ID
- 第四字段为:GID,也称为用户的组ID
- 第五个字段为:用户的说明
- 第六个字段为:用户的家目录
- 第七个字段为:shell,也可以理解为用户登录之后所拥有的权限
/etc/shadow 文件
/etc/shadow
是用户保存密码的文件。
这个文件的每行代表一个用户,同样的也是以:为分隔符。
/etc/shadow
这个文件有九个字段,以root这一行为例。
- 第一字段为:用户名称
- 第二个字段为:该用户加密后的密码,没有密码的用户则是*或者!!,是不能登录的
- 第三个字段为:密码何时修改过,这里显示的数字是从1970 年 1 日 1 日作为标准时间算的,每过去一天时间戳加1.如- 果是10000的话,那么就是1970年1月1日后的第10000天
- 第四个字段为:两次修改密码的时间间隔,如果是5,那么密码修改后5天内不能再更改,为0的话,是随时都可修改
- 第五个字段为:密码的有效期,是从第三字段之后开始算的,默认是99999
- 第六个字段为:密码到期修改前的警告天数,根据第五个字段算的,默认为7,则是到期前的7天开始警告
- 第七个字段为:密码到期后的宽限天数,为0是到期立马失效,-1是永远不失效
- 第八个字段为:用户失效的时间,同样是以时间戳表示的
- 第九个字段:这个字段暂时没有功能
/etc/group 文件
linux用户组的所有信息都存放在/etc/group
文件当中,也就是passwd文件中GID的来源。
/etc/group
这个文件分为四个字段,也是以:为分隔符
- 第一个字段:用户组名称
- 第二个字段:用户组密码
- 第三个字段:对应的GID
- 第四个字段:用户列表,本字段可以为空
useradd 命令
useradd命令可用来建立用户帐号。帐号建好之后,再用passwd命令设定帐号的密码。而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
创建新用户
useradd
命令用于建立用户帐号。
案例:
1 | useradd xiaobai #创建用户xiaobai |
userdel 命令
userdel
命令可以删除用户,使用groupdel
命令可以删除用户组。
1 | userdel xiaobai |
passwd 命令
passwd
命令用于修改或添加用户的密码, 用法:passwd [user]
案例:
1 | passwd xiaoming |
chmod 命令
chmod
命令用来变更文件或目录的权限。 用法:chmod [-R] 755 filename
案例:
1 | chmod 755 1.txt |
r=4(可读) w=2(可写) x=1(执行)
- 可读可写可执行则为7(rwx)
- 可读可写则为6(rw-)
- 可读可执行则为5(r-x)
- 可写可执行则为3(-wx)
- 无论如何相加都不会出现重复的数字
权限 | rwx | |
---|---|---|
7 | 读 + 写 + 执行 | rwx |
6 | 读 + 写 | rw- |
5 | 读 + 执行 | r-x |
4 | 只读 | r- |
3 | 写 + 执行 | -wx |
2 | 只写 | -w- |
1 | 只执行 | –x |
0 | 无 | – |
使用-R
参数代表递归,将目录以下所有文件都赋予同样的权限。