首页 > 其他分享 >Web安全入门与靶场实战(4)- 搭建LAMP网站平台

Web安全入门与靶场实战(4)- 搭建LAMP网站平台

时间:2023-01-13 12:00:13浏览次数:42  
标签:Web 网站 LAMP MySQL Apache 服务器 靶场 PHP

要学习Web安全,首先就必须要对网站有所了解。

搭建网站的方法有很多,很多初学者都是利用phpStudy之类的模拟软件来一键搭建网站,但我还是更加推荐在CentOS系统中搭建一个真实的网站。当然这会涉及大量的操作,整体比较繁琐,但只有这样,才能为我们奠定良好的基础,对网站以及整个服务器才能有更为深入的了解。因为我们所需要的并非仅仅只是一个可以运行的网站,而是需要从整个服务器的角度去了解网站的整体架构,以及如何对网站进行维护和配置。

另外,我也强烈推荐各位能够购买一台云服务器,这将非常有助于提高自己的实践能力。如果我们掌握了搭建网站的方法,那么对云服务器的配置自然也就驾轻就熟了。

因而除了Kali之外,我们还需要再创建一台CentOS虚拟机,并在其中安装LAMP(Linux+Apache+MySQL+PHP)。

什么是LAMP

Web服务器主要由以下四个部分组成:操作系统、Web容器、脚本语言程序、数据库。

操作系统主要是Linux和Windows Server,目前绝大多数的服务器都是采用的Linux系统,尤其是CentOS,因为它本身就是一个专门用于服务器的操作系统。这里推荐使用CentOS7.9。

Web容器是用于提供Web服务的服务程序,就像在客户端必须要借助于浏览器才能访问网站一样,在服务器端也同样要借助于Web容器才能提供Web服务。目前常用的Web容器主要有Apache、Nginx和IIS等,我们这里使用的是Apache。

除了Apache这类Web服务程序之外,我们还需要安装脚本语言程序与之配合。因为Apache或Nginx默认只支持对静态资源的访问,本身并不具备执行脚本程序的能力。而目前的网站则基本都是采用的动态资源,这就必须要借助于外部程序来运行脚本程序,如ASP.NET、PHP或JSP等。我们这里使用的脚本程序是PHP。

数据库也是网站的核心组成部分,因为网站中的绝大部分数据都是存储在数据库中。我们这里使用的是MySQL数据库。

安装LAMP

在部署LAMP时,软件安装的一般顺序是Apache→PHP→MySQL。

首先安装Apache。

Apache的软件名和所对应的服务名都是httpd,执行下面的命令安装启动httpd服务,并将其设为开机自动运行。

 yum install httpd -y              
systemctl start httpd
systemctl enable httpd

由于Apache中已经设置好了一个默认的Web站点,因而这时在客户端输入Web服务器的IP地址就可以访问默认网站了。

Web安全入门与靶场实战(4)- 搭建LAMP网站平台_PHP

如果在客户端无法正常访问,那多半是由于防火墙或SELinux的原因,需要将服务端的防火墙和SELinux关闭。

•     关闭防火墙
停止运行服务:systemctl stop firewalld
禁止开机自动运行:systemctl disable firewalld

• 关闭SElinux
临时关闭:setenforce 0
永久关闭:
vim /etc/selinux/config
SELINUX=disabled

Apache本身只支持静态网页,所以下面我们再接着安装PHP。

PHP安装包的名称就是php,CentOS7系统中所提供的PHP版本是5.4.16。需要注意的是,PHP并不是一个独立的服务,而是被视作Apache的一个功能模块,因而在安装完PHP之后,我们只需要重启httpd服务,即可生效。

yum install php
systemctl restart httpd

下面来测试Web服务器是否可以支持PHP动态页面。

首先在网站主目录“/var/www/html”中生成一个PHP的测试网页test.php,页面代码中只有一个phpinfo()函数。当客户端访问test.php页面时,会先在服务器端执行该函数,然后将函数执行结果返回给客户端。

vim /var/www/html/test.php
<?php
phpinfo( );
?>

然后在客户端浏览器中输入URL “http://服务器IP/test.php”访问测试页面,如果成功出现下图所示页面,则证明Apache已经可以支持PHP动态网页了。

Web安全入门与靶场实战(4)- 搭建LAMP网站平台_php_02

在下面继续安装MySQL之前,我们还需要再安装一个软件包php-mysql,只有安装了这个软件包之后,PHP才可以操作MySQL数据库。当然这个软件包也可以在安装PHP软件包时一同安装。安装完成后,同样需要重启httpd服务使之生效。

yum install php-mysql
systemctl restart httpd

最后再安装MySQL。在CentOS7系统中默认提供的是MySQL的分支MariaDB,但MariaDB与MySQL完全兼容,所以我们完全可以使用它作为MySQL的替代品。

MariaDB服务的安装包名称为mariadb-server,安装完软件之后,仍是启动服务,并将之设为开机自动运行。

yum install mariadb-server -y
systemctl start mariadb
systemctl enable mariadb

下面还需要对mariaDB做一些初始化的操作,主要是设置mariaDB的管理员密码。mariaDB的管理员账号也叫root,但并非Linux中的根用户,他们只是名字相同而已。

可以利用CentOS中的mysqladmin命令为mariaDB的管理员账号设置密码:

mysqladmin -u root password "123"

然后就可以利用客户端工具mysql来登录mariaDB了,成功登录之后可以进入mariaDB的交互模式,使用quit或exit命令可以退出。

[root@Server ~]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 154
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

下面我们来测试是否可以利用PHP来连接mariaDB数据库。仍然在网站主目录“/var/www/html”中创建一个测试页面test2.php,页面代码如下。

<?php
$conn=mysql_connect("127.0.0.1","root","123");
if ($conn) {
echo "success";
}else{
echo "fail";
}
mysql_close($conn);
?>

这段代码表示以root用户的身份,使用密码“123”来连接位于本地服务器上的mariaDB数据库,如果连接成功,则输出“success”,否则输出“fail”。

在客户端通过URL“http://服务器IP/test2.php”访问该测试页面,如果出现“success”则表示之前的配置全部成功。

至此,一个功能完备的LAMP平台就搭建好了。

标签:Web,网站,LAMP,MySQL,Apache,服务器,靶场,PHP
From: https://blog.51cto.com/yttitan/6005888

相关文章

  • RPC接口测试技术-websocket 自动化测试实践
    WebSocket是一种在单个TCP连接上进行全双工通信(FullDuplex是通讯传输的一个术语。通信允许数据在两个方向上同时传输,它在能力上相当于两个单工通信方式的结合。全双工......
  • WebUI自动化测试框架搭建之需求整理、详细设计、框架设计
    (WebUI自动化测试框架搭建之需求整理、详细设计、框架设计)1总体需求1.1实现目的基于BS架构,模拟用户(鼠标、键盘)操作,达到快速、重复执行测试用例;便于回归测试,快速覆盖......
  • keetle web api
    由于实现程序实现kettle的自动化作业kettle=9.3java=1.8.0_202java代码总体思路可以使用ktr/kjb的文件使用springboot解析调用kettle代码核模块ket......
  • Selenium的webdriver下载地址汇总
    chromedriver驱动下载地址:(根据chrome版本下载)http://chromedriver.storage.googleapis.com/index.htmlmicrosoft-edge驱动下载地址:(根据Edge版本下载)https://developer.m......
  • webpack打包进行丑化压缩遇到(TypeError Cannot read property 'compilation' of unde
    今天再重新配置老项目node打包环境的时候遇到了一个问题。在打包的时候报:TypeError:Cannotreadproperty'compilation'ofundefined错误。(这里需要强调一下,安装环......
  • webpack插件之html-webpack-plugin
    html-webpack-plugin的作用html-webpack-plugin的主要作用就是在webpack构建后生成html文件,同时把构建好入口js文件引入到生成的html文件中。安装html-webpack-pluginW......
  • DVWA靶场搭建
    DVWA靶场简介:该靶场使用php写的web漏洞靶场,所以需要php环境,这里借助phpstudy来进行搭建,所以还需要自行下载phpstudydvwa官网:​​​https://dvwa.co.uk/​​​,......
  • Web安全入门与靶场实战(3)- 安装配置Kali
    在正式开始课程内容之前,首先需要搭建好实验环境,本课程的实验环境主要是:VMwareWorkstation+Kali+CentOS。VMwareWorkstation推荐从Vmware官网下载试用版,然后在网上找序......
  • web前端三大主流框架对比分析
    web前端开发框架是在前端工程师中经常会用到的内容,可以大大减少项目中的bug,节约开发成本,加快项目周期。在使用web前端开发框架之前,需要先了解web前端三三大主流框架有哪......
  • Web前端开发工程师未来职业方向定位有哪些?
    Web前端开发在IT届算是比较受欢迎的一个职业了,而且目前web前端工程师的薪资也是比较高的,除此之外,现在web前端开发的市场总体来讲是供不应求的局面,现在web前端工程师对于各大......