用的是虚拟机,Fedora系统,Fedora的配置在前面有讲
在VMware虚拟机搭建Fedora系统及其基本配置_vmware fedora-CSDN博客
本文会介绍nginx、php、mysql的安装及配置,抓包软件OWASP ZAP的安装及配置,火狐浏览器代理的设置,相关插件的安装,SQL注入工具sqlmap的安装。
# 实验环境安装
## 打开fedora副本
## 进入终端
### 装一个web服务器(用dnf安装nginx)
>sudo dnf install nginx
安装完成
其他安装方法:用docker安装;下载源代码编译安装
验证是否安装成功,启动nginx
>service nginx start
输入用户密码,成功打开即成功
>netstat -lntp
发现80端口打开说明nginx打开
打开浏览器,访问127.0.0.1能打开就行
### 装php服务器
>sudo dnf install php php-fpm
如果遇到报错:等待pid为4661的进程退出
>ps aux | grep 4661
会发现还有个dnf在执行,杀死进程
>kill 4661
再次安装php即可
安装过程中,新开一个终端shell
>cd /usr/share/nginx/
这是nginx的安装文件夹
>cd html
pwd看到当前文件夹
>pwd
>ls
创建新的html
>sudo vi a.html
i进入插入模式
<html>
<body>
hello
</body>
</html>
:wq保存并退出
空一个制表符或者两个都没问题
查看
>cat a.html
进入浏览器访问失败。
原因:a.html放错位置,应该放在html文件夹里
移动文件
>sudo mv a.html /usr/share/nginx/html
进入浏览器可以访问127.0.0.1/a.html
发现php装好了
### 连接nginx和php,启动php
>sudo service php-fpm start(用sudo 就不会弹出密码框了)
>ps aux | grep php-fpm
发现php-fpm已经启用,在etc/下面还看到了它的配置
看一下配置
>cat /etc/php-fpm.conf
前面带;号的都被注释掉了
>ls /etc/php-fpm.d/
vim读取
>vim /etc/php-fpm.d/www.conf
找到listen = /run/php-fpm/www.sock监听的文件
:q退出
>ls /run/php-fpm/www.sock
进入nginx配置
>cd /etc/nginx
进到主文件
>sudo vim nginx.conf
找到location
在下面新起一行配置(对以php结尾的文件 发起请求)
>location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html
$fastcgi_script_name;
}
当nginx接到.php请求时,会把请求扔到这个sock里面,也就是交给php-fpm处理
:wq保存退出
>sudo service nginx reload
报错
注意unix后不能有空格!
原因是地址写错了
注意fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html这一行的usr不是user
检查conf是否写对
>sudo nginx -t
没有报错则配置成功
检验配置到底对了吗
在html下(a.html所在文件夹)写一个php脚本
>sudo vim i.php
<?php
phpinfo();
?>
:wq
检验一下
>cat i.php
进入浏览器检验
访问127.0.0.1/i.php
能看见配置页面就行
### 安装mysql环境
在nginx的文件输入命令 进入home的目录
>cd ~/
(现在mysql的开源版本为mariadb)
>sudo dnf -y install mariadb
安装完成
>sudo service mariadb start
会报错
再装个东西
>sudo dnf -y install mariadb-server
>sudo service mariadb start
启动mysql 服务器 Redirecting to /bin/systemctl start mariadb.service
查看开放端口情况
>netstat -lntp
发现开了一个3306端口,说明mysql数据库启动
初始化配置,进入交互界面
>mysql_secure_installation
刚开始没有root密码,直接回车,再设置,但报错,怀疑已有密码
报错信息:ERROR 1698(28000):Access denied for user 'root'@'localhost
修改root密码,仍然报错
su切换到root用户
再次进入设置
> mysql_secure_installation
重设密码
[Y/n]若按回车就是选择大写的选项,即yes
配置完成
回到普通用户,这时候用刚设的密码也能登陆了
进入mysql界面
>mysql -u root -p
输入密码,成功进入
又不行了
sudo提权一下,成功进入
>sudo mysql -u root -p
>show databases
啥也没有,逗号也不能有
### 配置抓包环境
突然连不上网络
正常情况下
>nmcli dev status 用于显示NetworkManager管理的所有网络连接的列表
网络接口 ens33(以太网接口)和 lo(环回接口)都处于“未托管”状态。这意味着NetworkManager没有管理这些接口的配置和状态。
正常情况下
在Fedora系统中,NetworkManager通常是管理网络连接的默认工具。如果NetworkManager没有管理某个接口,那么您可能需要手动配置网络设置,或者检查NetworkManager的配置和状态。
>systemctl status NetworkManager 开着呢
>nmcli con add type ethernet ifname ens33
> sudo systemctl reload NetworkManager
没用
reboot多重启几次就好了,也不好,别的虚拟机没这个问题,决定重开
浏览器下载OWASP ZAP
>https://www.zaproxy.org/download/
下载Linux package
创建快捷方式:
>ln -s 下载 download
效果:ls 下载 = ls download/
创建新文件夹用来存放工具
>mkdir tools
复制过去
>cp [工具.tar.gz] tools
解压
>tar xf [工具.tar.gz]
进入解压出来的文件,发现.jar文件,是一个Java包
安装JAVA
>sudo dnf -y install java
JAVA中文展示问题,需要再装个工具(*用于匹配)
> sudo dnf install 'dnf-command(wqy-microhei*)'
没有匹配上
> sudo yum install wqy-microhei-fonts wqy-zenhei-fonts
启动OWASP ZAP
>./zap.sh(在其路径下)
选择按照时间戳保存每次抓的包文件,记住选择
调整显示:
工具->选项->显示->General Font & Work Panels Font->Font Name->文泉驿微米黑
调整字号
重启
工具->选项->检查更新关闭
工具->选项->Dynamic SSL Certificate
将SSL根证书保存到download文件夹,命名为owasp_zap_root_ca.cer
Firefox火狐浏览器配置代理
设置->隐私与安全->Firefox数据收集与使用,拦截欺诈内容,选项全部关闭
查询OCSP响应服务器,确认证书是否有效也关闭
会抓到正常的数据,影响对抓包结果的观测
查看证书->导入ZAP证书(在下载处)
信任标识网站
配置代理
网络设置->手动配置HTTP代理127.0.0.1,8080端口,也用于HTTPS和FTP
浏览器请求,由ZAP转发
“历史”选项卡
2.9.0默认打开HUD
HUD(绿色右上角),关闭禁用
抓包-左上角白色-新建session
抓不到的话有可能是因为访问的是127.0.0.1,默认不经过代理
改成127.0.0.2就可以抓到
安装浏览器插件
Proxy SwitchyOmega
抓http用proxy
下载SQL注入工具sqlmap.tar.gz
>sqlmap: automatic SQL injection and database takeover tool
cp 到tools文件夹
>cp '/home/karen/download/sqlmapproject-sqlmap-1.8.4-1-g853cb3f.tar.gz' ../tools/
解压
>tar xf 【文件名.tar.gz】
tar xf sqlmapproject-sqlmap-1.8.4-1-g853cb3f.tar.gz
改名字
>mv 【原名字】 【新名字】 无后缀!!!(因为是文件夹)
mv sqlmapproject-sqlmap-853cb3f sqlmap
>./sqlmap.py -h
居然不提示python不可用,因为有python
还是装一下python-pip
yum是dnf的前身
sudo dnf install python-pip
安装成功
配置完成