秦文生

摘要:搭建一套基于PHP的Linux Web靶机系统,对互联网上的典型安全场景进行仿真,可以使原本在实验室难以开展的实验得以进行。该系统的构建包含了“SQL注入-进入后台-获取webshell-系统提权”四个典型的安全场景,涵盖了目前主机安全测试的四个过程。

关键词:靶机;系统安全;SQL注入;安全测试

中图分类号:TP3         文献标识码:A

文章编号:1009-3044(2020)28-0235-02

Abstract: In order to simulate typical security scenarios on the Internet, we built a Linux Web target system based on PHP. In this way, experiments that were difficult to carry out in the laboratory can be carried out.The system includes four typical security scenarios: "SQL injection - access to the web background - access to webshell - system to mention" four typical security scenarios, covering the current host security test of the four processes.

Keywords:goat; system security;SQL injection;security test

1 引言

目前虽然有一些信息安全的靶场实验平台,但此类平台具有较多的操作限制,并不能满足所有的实验需求。因此,有必要自行设计、构建一些能进行Web安全和主机安全的实验系统。本系统基于虚拟化技术构建,根据实验室的实际情况,可以安装在普通的计算机里,也可以运行在云平台环境里。

2 基础架构

信息安全实验环境非常繁杂,其牵涉到许多具体的系统和应用,一些特定的安全漏洞对系统环境要求非常的严格,一方面这些安全场景需要在某个具体的网络服务中才能重现,些许细微的版本号差异就会使实验不成功,另一方面某些服务会依赖于的其他的服务和环境,各个服务或版本部署时又会出现一些兼容性的冲突。将Linux靶机系统部署在云平台上或虚拟化平台上,利用平台的特性,可以先建立所需要的若干个基础实验环境,在基础实验环境上建立典型安全漏洞场景,使用克隆技术和快照技术在这些场景上派生出某些具体的场景,在实验导致系统异常时,可以迅速恢复到某个正常的系统状态快照,非常有利的帮助了信息安全实验的开展。

3 基础运行环境搭建

早期的互联网中,Web安全在信息安全并非主流,后来随着防火墙等网络安全产品的兴起,暴露在互联网上的非Web服务(端口)越来越少,改变了互联网安全的走向,利用web站点的漏洞进行安全测试,获取webshell,才能为后续获取系统权限奠定基础,这已成为现今流行的一种方式。

靶机系统设计参照以下流程进行,“SQL注入”-“进入后台”-“webshell上传”。

教学中,对于进行初级阶段练习的靶机环境,不选择最新的系统和软件,不选择有安全加固措施的Web程序,这样符合了同学们学习的规律,不至于因难度过大而丧失信心。

操作系统选择了CentOS 5.0 Final版本,禁用selinux与iptable。使用系统ISO镜像自带的软件包建立Web环境。

yum -y install httpdphpmysqlmysql-server php-mysql

安装完毕后,进入Apache网站根目录,新建一个名为index.php的测试页面,并进行访问,测试php环境是否搭建成功。

4 部署QCMS 1.3网站

本系统选用了qcms1.3,程序本身不是很完善,安装过程和后台都有一些问题,需要对其代码进行小幅度的修改和调整。主要部署过程如下:

1)上传qcms源码到网站目录,修改文件属主为apache进程用户,并确认子目录有写入权限。

2)程序提供了安装入口,install/index.php,但有时不能成功导入数据库,因此需要通过phpmymyadmin手动新建一个数据库,字符为utf8_gena_ci,导入qcms.sql文件。

3)网站后台的js文件调用了google的在线库,会造成无法响应拖慢整个页面的加载速度,因此需要手动改为inc目录里的相关代码处为本地JS库文件。

4)修改配置文件inc/conn.php,设置数据库连接信息,设置表前缀( $bqz='';)和数据库里的表前缀一致。

5)进行网站测试。先访问网站前台,再访问后台/admin(认证admin,admin,登录验证码默认是qcms),添加信息,上传图片验证网站功能正常。

至此,安全场景仿真系统建立完毕。

5 Web安全仿真环境测试

首先使用web安全综合扫描工具对安全仿真系统中的web站点进行总体扫描。然后根据扫描报告,对http://192.168.241.170/qcms/view.php?id=10进行SQL注入,获得MD5加密后的口令。

对口令进行破解,进入后台,通过其他设置-模板管理-添加网站模板。在添加模板界面,写入shell.php,插入一句话webshell。

访问网站首页,查看源代码,可以看到有一个templist目录,Templist是Template list的缩写,分析上传的webshell应该就在这个目录里,使用客户端尝试连接成功。

至此,对QCMS的Web安全测试的几个重要过程都已完成,达到了实验目标。相对DVWA等测试平台,这种环境更接近真实场景,仿真效果更佳。

参考文献:

[1] 吴翰清.白帽子讲Web安全:纪念版[M].北京:电子工业出版社,2014.

[2] (美)David Kennedy,JimO'Gorman,DevonKearns,MatiAharoni.Metasploit渗透测试指南[M].诸葛建伟,王珩,孙松柏,译.北京:电子工业出版社,2012.

【通联编辑:代影】