基于DVWA平台实现Web应用安全教学的探索与实践

2021-08-30 08:48沈晓萍谷广兵张厚君
中国信息技术教育 2021年10期

沈晓萍 谷广兵 张厚君

摘要:Web应用安全是互联网安全的最大威胁来源之一,针对现今Web应用安全主要的攻击手段分布情况,设计Web应用安全课程的实验任务可有效避免Web安全实验对网络造成的攻击和威胁。本文主要介绍了DVWA实验平台的搭建与应用,以SQL注入漏洞为例,展示了DVWA平台的使用方法,该实验平台采用知识点与实验任务紧密结合的方式,可操作性强,项目设计由易到难、从浅入深,为高校开设Web应用安全类课程提供了参考方案。

关键词:DVWA;Web应用安全;SQL注入

中图分类号:G434  文献标识码:A  论文编号:1674-2117(2021)010-0087-05

引言

在互联网时代,各种应用开始架设到Web平台上,基于Web环境的互联网应用已无处不在,在Web应用高速发展的同时,Web安全同样面临着巨大的挑战。黑客利用网络系统漏洞和Web服务程序漏洞获得服务器的控制权限,从而篡改网页,植入后门,网站挂马,窃取数据等。阿里云发布的《2019上半年Web应用安全报告》指出,Web应用安全依然是互联网安全的最大威胁来源之一,其主要攻击手段分布情况如图1所示。

2016年11月7日,为了保障网络安全,维护网络空间主权和国家安全、社会公利益,保护公民、法人和其他组织的合法权益,促进社会信息化健康发展,第十二届全国人民代表大会常务委员会第二十四次会议通过了《中华人民共和国网络安全法》,全面规范了网络空间安全管理等问题,同时也指出了支持培养网络安全人才,支持企业和高等学校、职业学校等教育培训机构开展网络安全相关教育与培训,采取多种方式培养网络安全人才,促进网络安全人才交流。

Web应用安全课程设计

Web应用安全是计算机网络技术、信息安全等专业的学习方向之一。很多高职和本科院校都开设了Web应用安全的相关课程。Web应用安全是一门实践性较强的课程,在教学过程中需引入大量的实验任务,提高学生实操动手能力和实际问题解决能力,帮助学生更好地理解安全攻击原理和技术,并掌握基本的防御技能。

在Web应用安全课程的开设过程中,参考开放式Web应用程序安全项目组织(Open Web Application Security Project,OWASP)发布的2017版OWASP top10(OWASP十大应用安全风险),结合阿里云发布的《2019上半年Web应用安全报告》,将常见的SQL注入漏洞、XSS跨站脚本攻击、文件上传漏洞、命令执行漏洞等作为主要教学内容,设计操作性较强的实验案例和相对成熟的实验项目。在设计实验方案的过程中,一些实验项目具有一定的攻击性和破坏性,对系统的环境要求比较敏感,在真实复杂的网络环境下,一方面很难营造出教学场景,另一方面随意的攻击入侵网站也是不被允许的,因此,课程教学需要相对安全且稳定的实验操作平台。

DVWA平台简介

DVWA(Dema Vulnerable Web Application是基于PHP/MySQL环境编写的,用来进行安全脆弱性鉴定的Web应用,帮助网络安全专业人员在合法的环境中测试其专业技能。同样,DVWA为我们提供了一个合法的实验平台,帮助教师和学生在稳定的实验环境中完成常见Web安全漏洞的教学演练。DVWA共包含了十个模块,如表1所示。DVWA提供了四种安全级别——Low,Medium,High,Impossible,难度依次从易到难,提供了不同等级的漏洞挖掘难易度。

DVWA环境搭建

DVWA平台既可搭建在Windows系统下,也可搭建于Linux系统中,可根据学生的基础情况选择不同的操作系统。下面介绍在Windows环境下搭建DVWA环境。

(1)首先要下载和安装phpStudy,并启动Apache和MySQL两项服务,如图2所示。单击【其他选项菜单】→【网站根目录】,打开phpStudy默认的网站根目录,通常为D:\phpStudy\PHPTutorial\WWW,该默认目录可在常规设置中进行更改。

(2)布置DVWA平台。从github上下载源码,将下载的DVWA-master.zip进行解压,为后续实验过程中访问便捷,將解压后的文件夹名称修改为dvwa。将dvwa文件移动到步骤1中的网站根目录,如下页图3所示。将dvwa/config/config.inc.php.dist的文件名修改为config.inc.php,然后用记事本打开,修改数据库密码,保存退出,如图4所示。

(3)配置完成后,在浏览器输入http://127.0.0.1/dvwa/,创建或重置数据库,就会出现登录界面,输入默认用户名admin,输入密码password,即可登录,登录界面如图5所示。

SQL注入漏洞实例

搭建完DVWA后,以常见的SQL注入漏洞为例,结合Kali Linux中的Sqlmap工具进行SQL注入。主要步骤为:

(1)手工判断是否存在注入点。在Kali Linux中启动浏览器,打开DVWA实验平台,假设DVWA平台所在服务器的地址为:192.168.1.3,此时地址栏中的访问地址为http://192.168.1.3/dvwa,输入用户名和密码,设置安全级别(DVWA Security)为“low”,选择“SQL Injection”模块,如图6所示。此时,可通过输入各种符号(如单引号、双引号等)进行测试,判断是否存在注入点,并尝试判断是字符型注入还是数值型注入,尝试输入单引号,得到报错信息,查询框中输入1 or 1=1 #,显示了表中所有的查询结果(如下页图7),说明存在字符型SQL注入漏洞。

(2)使用Sqlmap工具进行注入测试。观察该查询语句提交的地址为:“http://192.168.1.3/dvwa/vulnerabilities/sqli/?id=&Submit=Submit#”。同时,使用WebScarab工具进行抓包拦截,在请求头中,查找到当前浏览器的Cookie值为“security=low;PHPSESSID=tjrjt4peiqlhhp05jsp6e79o94”,如下页图8所示。

使用Sqlmap工具进行测试,打开终端,输入如下页图9所示的命令,经测试后结果如91页图10所示。

(3)获取数据库相关信息。

獲取数据库名称:通过添加参数—dbs,得到数据库名称为dvwa。

获取数据库的表名:使用参数—D dvwa指定数据库为dvwa,通过添加参数—tables查看该数据库的所有表,观察到数据库dvwa包含表users和guestbook。

获取表中的字段名:使用参数-D dvwa-T users指定查看dvwa中的表users,通过添加参数—columns查看表中的所有字段信息。

获取字段信息:使用参数-D dvwa-T users-C user,password指定查看的字段,用—dump存储数据表项。结果如下页图11所示。

此时,已经得到了user和password两个字段的信息,这里的password采用MD5进行了加密,括号里的信息是已经解密后得到的值。

DVWA平台中提供了源代码查看功能,通过页面中的【View Source】按钮,可以查看该页面的PHP代码,并提供了四种不同安全级别的代码对比。

结语

Web应用安全课程注重实践操作,使用DVWA作为实验平台,可围绕知识点设计实验任务,项目设计可根据不同安全级别,由易到难,由浅入深,循序渐进,从信息搜集到漏洞扫描、漏洞挖掘、分析源码、漏洞防护,再到进一步漏洞挖掘,循环往复,不断修复漏洞,增强Web的安全性。从开设实验的完成情况来看,绝大多数学生都能够顺利地完成实验任务,通过设计任务拓展,以满足不同层次学生的需求,部分学生在完成基础任务的前提下,能完成任务的拓展提升。使用DVWA平台,采用知识点与实验任务紧密结合的方式,可操作性强,充分调动了学生的学习积极性,同时,提供了合法、安全的实验环境,避免了Web安全实验对网络造成的攻击和威胁,该实验平台为高校开设Web应用安全类课程提供了较完整的课程实验解决方案。

参考文献:

[1]阿里云安全团队.2019年上半年Web应用安全报告[EB/OL].(2019-07-12)[2019-12-20].https://www.secpulse.com/archives/109268.html.

[2]网络安全法.全国人民代表大会常务委员会[EB/OL].中国人大网,2016-11-7.

[3]邓若伊,余梦珑,丁艺,董天策,等.以法制保障网络空间安全构筑网络强国——《网络安全法》和《国家网络空间安全战略》解读[J].电子政务,2017(02):2-35.

[4]陈云志,宣乐飞,郝阜平.Web渗透与防御[M].北京:电子工业出版社,2019:108-116.

[5]杜晔,陈贺男,黎妹红,等.Web应用安全实验教学探讨与案例评析[J].计算机教育,2015(19):17-19.

[6]容湘萍.基于Kali_Linux的Web渗透测试课程教学设计——以SQL注入为例[J].电子技术与软件工程,2019(14):193-195.

[7]Lei Wang.One sentence Trojan horse virus attack and defense[C].Proceedings of 2020 International Conference on Artificial Intelligence and Communication Technology(AICT 2020).Computer Science and Electronic Technology International Society:Clausius Scientific Press,2020-03.

[8]刘金源.常见的Web安全漏洞及防御技术[J].网络安全和信息化,2020(08):123-124.

作者简介:沈晓萍(1982—),女,汉族,浙江平湖人,讲师,硕士。研究方向为计算机网络、信息安全技术、物联网工程。