CentOS7搭建XSS平台

我的服务器是CentOS7.8
在这里插入图片描述

1、安装php 7

CentOS7的默认PHP版本是PHP5,但是如果我们要安装PHP7,不需要将现有的PHP5删除,只要将PHP升级到PHP7即可。
使用 yum provides php 命令可以获取CentOS7的PHP包安装情况。显示的是在现有的安装源中能够安装的最新版本为:php-5.4.16-46.el7.x86_64

1) 在安装PHP7之前,建议先升级更新一下CentOS7的安装包:
yum -y update :升级所有软件包的同时也升级软件和系统内核;
yum -y upgrade :只是升级所有软件包,但是不升级软件和系统内核。
我们这里使用第二条:yum -y upgrade 进行升级。
2) 完成后,重启httpd: systemctl restart httpd.service :重启httpd。
使用: index.php + phpinfo() : 测试,没有php信息页面展示,说明还需要进行php配置。

3) 使用: yum remove php-common -y :移除CentOS7 已安装的php-common,以便安装新的php-common。此步删除CentOS原有的php5。

4) 因为linux的yum源不存在php7.x,所以我们首先要更改yum源:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

执行上述命令后,使用: php -v :显示
-bash: php: command not found : 说明还需要继续配置php7。
5) 使用: sudo yum list php* : 查看目前能够安装的PHP版本(最新版)。
可以看到可安装的PHP最新版为:php72w。
在这里插入图片描述
6) 安装php72w:
sudo yum -y install php72w : 。
执行上述命令后,使用: php -v :显示
-bash: php: command not found :
虽然没有显示PHP7安装成功后的版本信息,但是此时已经成功安装了php72w,需要重启httpd服务器,以使得新安装的php72w生效运作。

PS:这里报错了
在这里插入图片描述
解决:
造成这个问题的原因主要是 Python 版本有了冲突,之前确实有在这台服务器上将默认 Python2.7 升级到了 Python3。这里我们需要修改两个文件:

/usr/bin/yum
/usr/libexec/urlgrabber-ext-down

将第一行的 /usr/bin/python 改成 /usr/bin/python2.7 即可。
7) 完成后,使用: systemctl restart httpd.service :重启httpd。

 php -v

在这里插入图片描述

2、安装mysql数据库

1) 下载源:

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

2) 执行安装

rpm -ivh mysql57-community-release-el7-9.noarch.rpm
yum install mysql-server

3) 启动MySQL

systemctl start mysqld

4) 获取第一次登录时的初始密码:


grep 'temporary password'/var/log/mysqld.log

在这里插入图片描述
我这里没找到密码 ~我去

另辟他法:

1、安装完成后启动mysql:service mysqld start

2、登录mysql:mysql -uroot -p,发现需要输入密码,可是我们安装没有设置过密码,直接回车也报错 

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO),莫方

3、开启mysql免密登录,vi /etc/my.cnf  [mysqld]下添加  skip-grant-tables ,保存后重启mysql服务:service mysqld restart

4、mysql -uroot -p重新登录,这时不需要密码了,然后执行修改密码SQL:

update mysql.user set authentication_string="new pwd" where user="root";

其中new pwd处改为自己的密码

5、退出重新修改/etc/my.cnf ,删除免密登录配置skip-grant-tables,重启mysql服务:service mysqld restart

6、使用新密码登录:mysql -uroot -p

MySQL默认root只能本地登录我这边暂时也不远程管理,我直接就空口令登录了。
如果要远程的话:

update user set Host='%' where User='root';
说明: % 代表任意的客户端,可替换成具体IP地址。
这样你就可以通过Navicat连接了

3、安装apche

1) 安装

yum install httpd –y

2) 启动apche服务

service httpd start

我这里提示:

Redirecting to /bin/systemctl start httpd.service

运行这个命令启动:

/bin/systemctl start httpd.service

安装成功
在这里插入图片描述

在/var/www/目录下创建xss目录

mkdir /var/www/xss

从github上获取源码

git clone https://github.com/78778443/xssplatform.git /var/www/xss/

赋予文件权限

chmod -R 777 /var/www/xss/

**
复制文件夹到/Var/www下(我这里位置错了需要移动)

cp -rf /var/www/html/xss   /var/www

4、配置Apache

修改配置文件,把根目录设置到/var/www/xss

 vi /etc/httpd/conf/httpd.conf

将html换成xss
在这里插入图片描述

设置Apache开机启动

chkconfig httpd on

重新载入Apache配置文件(我用的下边的)

service httpd reload
或者
/bin/systemctl start httpd.service

成功啦
在这里插入图片描述

如果提***文件不可用

chmod -R 777 /var/www/xss/

oK了,不过发现平台还有点问题,后续我再搞搞

在这里插入图片描述

这里我报错了
在这里插入图片描述
这个问题一般是端口被占用了

netstat -antlp | grep 80

果然80端口TIME_WAIT
在这里插入图片描述
解决:
统计在一台前端机上高峰时间TCP连接的情况,统计命令:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
最近个人博客总是出现无法打开的现象,具体表现为,打开页面需要等待n长时间,登陆系统后发现系统存在大量TIME_WAIT状态的连接,google了一下解决方法,分享如下:

系统存在大量TIME_WAIT状态的连接,通过调整内核参数解决,

vi /etc/sysctl.conf 编辑文件,加入以下内容:

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30 然后执行

/sbin/sysctl -p让参数生效。

net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;

net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;

net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

net.ipv4.tcp_fin_timeout 修改系統默认的 TIMEOUT 时间

修改之后,再用

netstat -n -p -t发现大量的TIME_WAIT 已不存在,网站访问正常!

后续完善一下会开放一部分兄弟们注册使用
最后热爱网络安全与Python的朋友大家可以关注一下我的公众号。

在这里插入图片描述

posted @ 2022-11-21 21:20  那酒不要留  阅读(176)  评论(0编辑  收藏  举报
/* 雪花特效 */