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的朋友大家可以关注一下我的公众号。
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!知识源于分享!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!