Web安全—LAMP搭建PHP网站

提要:在Web安全的学习过程中,了解网站的搭建过程和各部分搭建模块的作用是非常重要的,其中各模块尤其是Web容器特别重要,web容器的搭建和配置有助于学习常见的Web安全漏洞,例如目录遍历,信息泄露,解析漏洞等。
前言:本文主要记录和总结Web容器Apache的搭建和配置,其他系类文章会对常见Web容器漏洞的形成机制进行输出。

Web容器的作用:

1,解析后端脚本语言,根据输入的参数构造SQL语句
2,将后端脚本语言和数据库处理后的结果构造HTML发送给浏览器解析和展示

Apache搭建PHP网站过程

前言:一个网站的搭建通常需要,操作系统(Linux)+Web容器(Apache)+脚本语言(PHP-Pikachu出的源码文件PHP)+数据库(mysql),因为本文主要记录Web容器Apache,所以其他模块的安装仅附相关学习文章。
系统安装就不详细说明了,L/WAMP(linux/win+apache+mysql+php),L/WNMP(linux/win+nginx+mysql+php)

一:mysql的安装:

学习搭建文章CentOS7安装MySQL(完整版)

二:Web容器Apache搭建:

1,下载安装Apache,命令:yum install httpd
在这里插入图片描述
查看是否安装Apache服务,命令:rpm -qa | grep httpd
在这里插入图片描述
查看已安装Apache版本,命令:httpd -v
在这里插入图片描述
也可直接访问本地地址,默认Apache监听网站端口是80,命令:http://127.0.0.1判断Apache服务是否安装成功,如下即安装成功
在这里插入图片描述
常见目录作用:
在这里插入图片描述

三:PHP环境安装

因为Apache默认是支持php脚本解析的,所以我们可在Linux中安装PHP环境
1,安装PHP:yum instll php
2,安装php-mysql链接模块、php的fastcgi解析器php-fpm:yum install php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
3,重启Apache服务:systemctl restart httpd
4,查看PHP版本和是否成功安装:php -v 和 rpm -qa | grep php
在这里插入图片描述

实例演示:

需求说明:使用pikachu靶场源码搭建一个php网站,要求如下:
1,修改HTTP监听端口为8443
2,网站发布根目录为/var/www/html/pikachu
3,默认索引文件包括index.php
4,白名单策略,只允许IP地址为192.168.0.105的用户访问
5,关闭目录索引功能,防止敏感信息泄露

操作步骤:

1,在/var/www/html(默认发布根目录)目录下创建一个名称为pikachu的目录作为网站发布根目录,同时修改网站的主配置文件让其生效
创建命令为pikachu的文件夹:
在这里插入图片描述
编辑主配置文件/etc/httpd/conf/httpd.conf,将pikachu作为网站发布根目录
在这里插入图片描述
2,修改监听端口为8443
编辑主配置文件/etc/httpd/conf/httpd.conf,将8443端口作为默认监听端口:
在这里插入图片描述
3,添加默认索引文件包含index.php(Web访问中,在我们不指定目录或文件,直接访问网站根目录时,会对根目录进行遍历,读取默认加载文件)
编辑主配置文件/etc/httpd/conf/httpd.conf,添加index.php为默认加载文件
在这里插入图片描述
4,关闭目录索引功能,防止敏感信息泄露
编辑主配置文件/etc/httpd/conf/httpd.conf,搜索“Options Indexes FollowSymLinks”,修改为“Options -Indexes ”即可关闭目录索引功能
在这里插入图片描述
关闭目录索引前效果,导致信息泄露,整个目录下的文件都被索引:
在这里插入图片描述
关闭目录索引后效果:
在这里插入图片描述
5,白名单策略,只允许IP地址为192.168.0.105的用户访问,可参考文章

总结:Web容器需要学的东西还很多,会慢慢进行完善和输出其他Web容器和安全有关系的文章!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐