基于web漏洞扫描及分析系统设计_kaic

简介: 随着信息技术的发展和网络应用在我国的普及,针对我国境内信息系统的恶意网络攻击也越来越多,并且随着黑客攻击技术的不断地更新,网络犯罪行为变得越来越难以应对,用户日常访问的网站是否安全对于普通网民而言难以辨别,保护人民不受不法侵害也是难上加难。如何识别网站的潜在危险性,以及网站出现安全性问题该如何防御,尽可能减少网站被攻击后造成的实际损失,是目前迫切需要解决的难题。本文使用VMware虚拟机技术模拟真实的网络环境,使用渗透测试技术对模拟网络进行薄弱点测试信息收集、攻击测试等,再现了渗透测试的重要流程和技术方法。在对目标主机实施渗透测试时,会从系统层面和Web层面两个维度进行测试,扫描出存在的漏洞

基于web漏洞扫描及分析系统设计

摘 要

随着信息技术的发展和网络应用在我国的普及,针对我国境内信息系统的恶意网络攻击也越来越多,并且随着黑客攻击技术的不断地更新,网络犯罪行为变得越来越难以应对,用户日常访问的网站是否安全对于普通网民而言难以辨别,保护人民不受不法侵害也是难上加难。如何识别网站的潜在危险性,以及网站出现安全性问题该如何防御,尽可能减少网站被攻击后造成的实际损失,是目前迫切需要解决的难题。

本文使用VMware虚拟机技术模拟真实的网络环境,使用渗透测试技术对模拟网络进行薄弱点测试信息收集、攻击测试等,再现了渗透测试的重要流程和技术方法。在对目标主机实施渗透测试时,会从系统层面和Web层面两个维度进行测试,扫描出存在的漏洞,根据网站源码分析导致漏洞的原因,给出应对普遍性问题的解决办法。本课题参考现有的PTES渗透测试执行标准,对真实的案例进行渗透测试,使最终得到的研究结果在实际中能够得以应用。

除此之外,本课题使用python语言设计实现适用于普通网民的SQL漏洞扫描工具。该工具会帮助用户测试目标网站安全性,并会根据扫描结果给出适合用户的安全提示,重点是SQL注入漏洞的提示。SQL注入检测工具让普通人能够在上网时进行主动防御,这对国家网络安全建设有着非常重要的意义。

关键词: Web安全;SQL注入;网络安全;漏洞扫描。

 

Research and implementation of injection vulnerability scanning tool and protection method based on Web penetration technology

Abstract

With the development of information technology and the popularization of network applications in China, there are more and more malicious network attacks against China's information systems. With the continuous updating of hacker attack technology, cyber crimes become more and more difficult to deal with. Whether the Websites users visit daily are safe or not is difficult for ordinary Internet users to distinguish, and it is even more difficult to protect people from illegal infringement. How to identify the potential danger of the Website and reduce the actual loss caused by the attack is an urgent problem to be solved

This paper will use VMware virtual machine technology to build a simulated company's network environment, use penetration testing technology to collect weak point test information and attack testing on the simulated network, and reproduce the important processes and technical methods of penetration testing. When performing penetration testing on the target host, it is tested from the two dimensions of system level and Web level, scans for existing vulnerabilities, analyzes the causes of vulnerabilities according to the Website source code, and gives solutions to common problems. This project refers to the existing PTES penetration testing implementation standards, and conducts penetration testing on real cases, so that the final research results can be applied in practice.

In addition, this topic uses Python language to design and implement SQL vulnerability scanning tool suitable for ordinary Internet users. The tool will help users test the security of the target Website and give security tips suitable for users according to the scanning results, focusing on the tips of SQL injection vulnerabilities. SQL injection detection tool enables ordinary people to take the initiative to defend when surfing the Internet, which is of great significance to the construction of national network security.

Key words: Web security;SQL injection;network security;vulnerability scanning.

目录

基于web漏洞扫描及分析系统设计

摘 要

Abstract

1、绪论

1.1 研究背景

1.2 研究现状

1.3 研究目的与内容

1.4 设计目标及论文结构

2、渗透测试概要及流程

2.1 PTES渗透测试标准

2.2 定制化渗透测试流程

2.3本章小结

3、测试实验环境搭建

3.1测试目标网络拓扑结构

3.2 测试目标网络配置

3.3 测试主机及测试工具

3.4 测试目标主机概述

3.5本章小结

4、系统漏洞研究

4.1系统漏洞现状及攻击态势

4.2扫描活跃主机

4.3 系统漏洞测试

4.4 本章小结

5、Web漏洞研究

5.1 Web安全现状

5.2 SQL注入漏洞概述

5.3 SQL注入漏洞复现过程

5.4 本章小结

6、SQL注入漏洞检测工具

6.1 现状分析

6.2 功能需求分析

6.3 总体设计

6.4 模块设计与实现

6.5 功能测试及其他测试

6.6 本章小结

7、总结

参考文献

附 录

致 谢

 

1、绪论

1.1 研究背景

随着互联网的快速普及,为了业务的方便快捷,各行各业都相继把重要的信息类业务搬到了网络上。因此信息网络安全与各行各业的关系越发紧密,所以保障网络运行稳定和安全也是在保护各大行业甚至国家的稳定运行。随着近些年来一些骇人听闻的网络安全事件的发生,各行各业都开始关注网络安全问题,尤其是规模较大的公司和企业以及政府的相关机构,网络安全成为了重中之重。

在一般情况下,开发人员会根据安全开发需求进行相应的应用开发,然而在开发时难免会出现考虑不在周全的现象,或者对于开发人员缺乏安全相关的培训,导致在开发时期察觉不到漏洞的存在,所以经常会在应用上线之后,漏洞被不法分子利用的情况发生。同时也会造成一系列难以弥补的损失。

科技在发展,渗透技术也在不断升级,更新的漏洞利用技术以及更新的恶意代码编制技术,都让计算机系统时时刻刻面临着被攻击的可能性。现如今,随着自动化测试工具的普及,在实施网络渗透时,攻击者只需要找出计算机系统的一个不起眼的漏洞,然后使用相应的自动化工具加以利用就可以上传恶意代码[5],然而这些不起眼的漏洞就会导致整个计算机系统陷入危险的境地。

网站数据泄露事件频发的今天,数据泄露事件最大的受害者最终还是普通网民。一些网站疏于管理[1],页面存在大量的不安全漏洞,作为普通人上网时难以辨别,所以本课题将设计并实现适用于普通网民的页面简洁、操作方便的SQL注入漏洞扫描工具,在上网时遇到需要采集重要信息的页面,用SQL注入扫描工具可以确定网站页面的安全性,判断是否存在容易被利用的SQL注入漏洞,能够在一定程度上保护人民信息财产的安全。这对国家信息安全的建设有着非常重要的意义。

1.2 研究现状

互联网时代,众多企业都会利用Web站点对外提供电子商务、电子政务、在线支付等服务。随着企业服务的多样化,庞大的计算机网络系统往往漏洞百出,不法分子进程会利用Web应用存在的漏洞进行非法获利。

目前,众多互联网安全厂商都推出了自己的网络安全设备,比如绿盟科技的漏洞扫描系统、天融信的防火墙设备、启明星辰的入侵防御系统。这些设备都能够对目前频发的不安全漏洞进行扫描或者修补。因为对应的漏洞必须在被发现并且研究过后,开发出对应的防御插件,还要及时更新到各设备上才能对受保护的网络系统进行对应的扫描或者防御。这个过程中包括对漏洞的发现、研究、设计开发插件、测试、发布更新[6]。这整个流程需要耗费大量的时间,经常是数周或者数月。然而,当一个漏洞被发现时,它已经是被不法分子利用过的,而且该漏洞的覆盖面也是相当广泛的,比如最近爆出的log4j中的第五个安全漏洞CVE-2021-44832,它影响日志库的所有版本,从 2.0-alpha7 到 2.17.0,2.3.2 和 2.12.4 除外。所以在计算机网络系统中部署过对应的安全设备后,也会被黑客绕过或者利用0day漏洞进行攻击。所以针对漏洞的被动防御往往存在滞后性。

目前网络安全问题主要集中在黑客攻击、应用软件漏洞和企业缺乏规范化管理。不法分子将木马程序或者病毒通过信息网络中存在的漏洞通过互联网的通讯数据传送到攻击目标服务器中达到犯罪目的。信息系统中应用软件作为企业对外提供服务的主体,随着业务的拓展升级,计算机系统上集成的应用软件越来越多元化,各应用软件的漏洞共同成为了整个信息系统的漏洞,无论哪个应用的都有可能导致整个系统的瘫痪。当计算机系统的运维管理人员缺乏规范性的管理也是信息系统的不安全因素之一。

为了保障计算机网络系统的相对安全和应对国家相关法律的规定,企业会对计算机网络实施模拟黑客攻击的渗透测试来评估计算机网络系统的安全性,测试人员通过标准的渗透测试流程对目标网络进行渗透。最终给被测单位提供记录系统中存在安全问题的渗透测试报告。

在互联网的网络安全形势日益严峻的今天,众多学者都在研究Web安全,比如蒲石对于SQL注入漏洞和XSS漏洞的形成原因和漏洞的验证方法的研究[30]、郑雷雷等人对Web应用常见的安全漏洞和测试方法的研究[31]、田伟提出了模型驱动的SQL注入渗透测试方法[32],能够提高对Web应用进行SQL注入的安全漏洞测试的准确性等等。通过这些学者的研究,发现以往的研究通常是集中于已经公布的高危漏洞的发现和防范[33]。以往对于渗透测试流程的研究往往是对渗透测试流程中的某一个步骤进行深入研究,对于整体的介绍相对较少,也没有对于渗透测试流程实施过后整体的效果进行分析研究。

对于自动化渗透测试工具的研究,研究人员的目标一般是开发出安全有效的渗透测试工具,以提高测试的效率和准确性,达到降低成本的目的。目前比较成熟的渗透测试工具有CoreImpact和Metasploit Framwork,这些工具为测试人员提供了极大的便利,但同时也会成为黑客的有力武器。

1.3 研究目的与内容

基于规范化的安全开发,不免在开发结束后或者产品交付后会遇到一些逻辑上的,或者变量处理不全面等漏洞,为了使计算机系统相对比较安全,所以厂商一般会对自家的产品或者自家的计算机信息系统进行渗透测试,即模拟黑客攻击,以攻击者的视角对计算机信息系统的安全性进行较为全面的评估,从攻击者的角度对计算机系统的任何弱点、技术缺陷或者针对漏洞的主动分析,这样可以发现并消除大多数的漏洞,使得计算机信息系统在今后的使用中出现安全问题的可能性大大降低。这也能提高所有相关人士的网络安全防护意识,也能对企业或组织的信息系统安全做出深入且具体的安全风险评估。

本课题将会在VMware虚拟机上搭建模拟公司的网络环境,参考现有的渗透测试流程,设计出适合本次研究的测试流程,使用渗透测试技术对目标靶机进行信息收集、漏洞扫描、漏洞测试及利用。在测试过程中,会用到现如今渗透测试人员在实施项目时经常使用的扫描工具进行测试,一方面是因为使用渗透测试工具会大大提高测试的效率和准确性,另一方面为达到尽可能贴合现实,使研究出的成果能够高效的应用于现实的目的。

1.4 设计目标及论文结构

本论文中,将使用VMware搭建漏洞测试需要用到的靶机以及kali Linux攻击计算机。课题整体是通过系统漏洞和Web漏洞两个方面针对靶机进行渗透测试,并且通过对靶机存在的漏洞进行研究,得出漏洞的形成原因、防御方法和手段以及渗透测试的实施流程进行研究,将通过研究个别已存在的实例,挖掘上面的漏洞,研究分析网站源码,总给出能够解决一类问题的通性防御方法,这对于网络安全的防护有着实际的意义。

第一章中,整体是为了理清并分析当前网络安全行业的现状以及国家乃至全世界面临的共同问题,从中剖析出本课题的研究价值。

第二章,根据实际的需求,区分实验与现实,根据不同的渗透测试目标,定制符合需求的渗透测试流程,根据实验的深究性和实际的严谨性分别设计符合要求的渗透测试流程,针对不同步骤适当进行增加或精简。

第三章,本章主要会根据本课题中的漏洞研究涉及到的内容在VMware上搭建符合需求的虚拟测试环境,并且还会对实验中用到的系统、工具和网络环境等基本情况加以说明,对靶机的Web服务部署情况和漏洞检测工具的使用情况以及其在现实中的应用广度都会加以说明,以求实验达到映射实际的标准。

第四章,根据第二章制定的渗透测试流程从信息搜集阶段对目标主机系统进行黑盒测试,也会分析实验与现实的异同点,力求实验做得严谨,结果符合实际。

第五章,本章会通过对现实网络环境以及网络安全事件的具体内容进行分析、推理,找出威胁性最高、发生最频繁的Web漏洞进行研究,并在虚拟靶机上进行渗透测试,秉承着从无到有的合理发展原则,通过一步一步的推理、测试,找出漏洞、利用漏洞、研究漏洞最后给出解决这类问题的通用化方案。

第六章,经过调查,在过去几年内,网络诈骗的事件时常发生,罪犯们能够对受害者的信息掌握的及其详细,其中大部分的数据来源竟然是网络攻击。众所周知,作为一个Web应用网站,其内部的用户数据通常都保存在后台的数据库中。然而,许多公共网站运营者的不负责任,对于已知的漏洞不及时修复,总是想着能用就行,这就导致了犯罪分子利用漏洞盗取公民信息的恶性事件发生。从而引发了一系列悲剧的产生。所以,在本课题中设计并开发了针对SQL注入漏洞进行检测的轻量化扫描工具。能够让非专业的普通人拥有判断网站是否安全,是否可信的能力。开发SQL漏洞扫描工具的原则为:简单易用、扫描精准、提供安全上网建议。

第七章,本章会对整个课题研究的全过程进行总结,阐述自己的观点以及课题的研究成果。针对课题研究过程中遇到的问题进行总结和分析,为后续的学习计划指明方向。

相关实践学习
数据湖构建DLF快速入门
本教程通过使⽤数据湖构建DLF产品对于淘宝用户行为样例数据的分析,介绍数据湖构建DLF产品的数据发现和数据探索功能。
快速掌握阿里云 E-MapReduce
E-MapReduce 是构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、HBase,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。 本课程主要介绍阿里云 E-MapReduce 的使用方法。
相关文章
|
4月前
|
安全 网络安全 数据库
Web安全防护的必要性与漏洞扫描技术
随着互联网的发展,Web应用程序的使用越来越广泛,但也带来了越来越多的安全威胁。因此,Web安全防护变得越来越重要。本文将介绍Web安全防护的必要性,并详细介绍各种漏洞扫描技术,以帮助您保护Web应用程序的安全。
56 2
|
2月前
|
数据采集 数据可视化 数据挖掘
使用Python编写Web爬虫实现数据采集与分析
在当今信息化时代,数据是企业发展和决策的重要依据。本文将介绍如何使用Python编写Web爬虫来实现对特定网站数据的自动采集,并结合数据分析技术,为读者展示如何利用爬虫技术获取有价值的信息并进行有效的数据处理和分析。
|
2月前
|
SQL 存储 数据库
基于Web技术的在线考试系统的设计与实现(论文+源码)_kaic
基于Web技术的在线考试系统的设计与实现(论文+源码)_kaic
|
2月前
|
Java 关系型数据库 MySQL
基于Web的影院信息管理系统设计与实现(论文+源码)_kaic
基于Web的影院信息管理系统设计与实现(论文+源码)_kaic
|
2月前
|
网络协议 安全 网络性能优化
基于web技术的企业网设计与实现_kaic
基于web技术的企业网设计与实现_kaic
|
16天前
|
Python 数据可视化 索引
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
25 0
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
|
16天前
|
机器学习/深度学习 算法 数据可视化
用SPSS Modeler的Web复杂网络对所有腧穴进行关联规则分析3
用SPSS Modeler的Web复杂网络对所有腧穴进行关联规则分析3
18 0
用SPSS Modeler的Web复杂网络对所有腧穴进行关联规则分析3
|
17天前
采用SPSS Modeler的Web复杂网络对所有腧穴进行分析
采用SPSS Modeler的Web复杂网络对所有腧穴进行分析
11 0
|
23天前
|
SQL Python
[CISCN2019 华北赛区 Day2 Web1]Hack World 1 题目分析与详解
[CISCN2019 华北赛区 Day2 Web1]Hack World 1 题目分析与详解
[CISCN2019 华北赛区 Day2 Web1]Hack World 1 题目分析与详解
|
23天前
|
SQL 关系型数据库 MySQL
[第一章 web入门]SQL注入-2 题目分析与详解
[第一章 web入门]SQL注入-2 题目分析与详解