摘 要
信息的时代到来,人们对于网络的依赖度非常高。现在的信息化传播速度非
常快。在生活和工作的方方面面都需要有网络来给与支持。网络不断的提升人们
的认知、让人们接触到了更多的信息,为人们的吃穿住行提供了极大的便利条件。
越来越丰富的网络环境也带动了网络中的信息的价值体现。现如今人们在网络中
留存的各类信息都成为了非常有价值的信息,通过大数据的分析、汇总,会形成
大数据网络,从而能够产生很多的利于推动行业发展的数据信息,形成更好的推
动产业发展的作用。而在网络中的价值信息越来越多的当下,对网络中的信息盗
取的也日益猖獗,网络中也不断的出现新的漏洞,向 log4j 就是 java 语言日志里
的一个常见的漏洞形式,网站中有大量的漏洞必定会对整个网络安全环境造成极
其恶劣的影响,因此需要建立一个 web 应用来进行网络漏洞的扫描,通过网络
漏洞扫描应用维护来实现对漏洞的精准检测,风险高低的判断等功能实现。
本次技术通过利用 Python 技术来开发一款针对 web 漏洞挖掘扫描的技术,
通过 web 漏洞的挖掘扫描来实现对网站 URL 的漏洞检测,通过高中低风险的判
断来实现对一款网站中存在的漏洞进行可视化的分析,从而能够找到问题并且尽
快的实现问题的解决。
关键词:Web 漏洞挖掘;Python;爬虫
I
ABSTRACT
With the advent of the information age, people are highly dependent on the network.
Information technology is spreading very fast now. You need a network to support all
aspects of your life and work. The network continuously improves people's
awareness, enables people to access more information, and provides great
convenience for people to eat, wear and travel. The richer and richer network
environment also drives the value of information in the network. Nowadays, all kinds
of information that people keep in the network has become very valuable information.
Through the analysis and summary of large data, a large data network will be formed,
which can generate a lot of data information conducive to promoting the development
of the industry and form a better role to promote the development of the industry.
With more and more value information in the network, the stealing of information in
the network is becoming more and more rampant, and new vulnerabilities are
appearing in the network. Log4j is a common form of vulnerability in the Java
language log. A large number of vulnerabilities in the website will certainly have a
very bad impact on the entire network security environment, so it is necessary to build
a web application to scan for network vulnerabilities. Through the network
vulnerability scanning application maintenance to achieve accurate vulnerability
detection, risk level judgment and other functions.
This technology uses Python technology to develop a web vulnerability mining scan
technology, through the web vulnerability mining scan to detect vulnerabilities in the
website URL, through high-risk and low-risk judgment to achieve a visual analysis of
vulnerabilities in a website, so that problems can be found and resolved as soon as
possible.
Keywords: Web vulnerability mining; Python; Reptiles
II
目录
摘 要 ....................................................................................................................2
ABSTRACT............................................................................................................I
1 绪论 ..................................................................................................................1
1.1 研究背景 .................................................................................................1
1.2 研究意义 .................................................................................................1
1.3 研究现状 .................................................................................................2
2 Web 应用程序漏洞检测技术 ............................................................................3
2.1 网络爬虫 .................................................................................................3
2.1.1 网络爬虫原理 ..............................................................................3
2.1.2 爬取策略 ......................................................................................3
2.1.3 Scrapy 爬虫架构...........................................................................4
2.2 SQL 注入漏洞 .........................................................................................4
2.3 XSS 漏洞..................................................................................................4
3 系统设计与实现 ................................................................................................6
3.1 系统整体设计 .........................................................................................6
3.2 爬虫模块的设计与实现 .........................................................................6
3.2.1 爬虫模块的设计 ..........................................................................6
3.2.2 爬虫模块的实现 ..........................................................................7
3.3 XSS 扫描模块的设计与实现..................................................................8
3.4 应用中 SQL 注入 ...................................................................................9
3.5 相关报告生成 .......................................................................................10
4 系统的实现与漏洞挖掘 ..................................................................................11
4.1 系统的首页面 ........................................................................................11
4.2 web 漏洞挖掘网站首页 ........................................................................11
4.3 漏洞总览页面 .......................................................................................12
4.4 漏洞详情页面 ........................................................................................12
5 结论与展望 ......................................................................................................14
5.1 结论 ........................................................................................................14
5.2 展望 ........................................................................................................14
参考文献 ..............................................................................................................15
致 谢 ..................................................................................................................16
1
1 绪论
1.1 研究背景
通过多年的不断发展,当下的互联网技术已经发展日趋成熟,网络中的网站
数量每日都在有新的突破,具相关调查,截止到 2021 年末全世界的网站数量已
经突破 12 亿,庞大的网站群体为人们的生活带来了各式各样的不同的内容服务。
而在我国,网络的发展也在不断进步,我国虽然网络化起步相对较晚,但是我国
的网络的发展速度飞快,截止到 2021 年末我国的网民人数已经高达 11 亿人,网
络的普及率又上了一个新的台阶。现如今的网络技术发展日新月异,人们利用网
络来进行日常的办公、银行服务、购物服务、游戏以及娱乐等等,越来越丰富的
网络应用也使得网络的环境越来越复杂。具 web 应用安全年报显示,每年对于
web 的突发性攻击事件频发,全球每年大概有超过 5000 万次的网络攻击出现,
这些攻击中主要就是集中在对于漏洞的攻击,SQL 注入攻击等,这些都是因为
网站存在缺陷而造成的,通过漏洞来攻击网站对于网站的安全管理而言是一次巨
大的挑战。
伴随着网络的日趋强大,网络的安全问题也日显突出。现在网络的安全问题
已经成为了全球的安全性问题,是每一个国家、每一级政府都在高度关注的一项
重要的内容,所以现如今如何能够快速的找到网络漏洞,能够通过扫描技术来查
找到漏洞风险等级是检测网站是否安全的最为基础的一项服务工作。这种构建方
式是通过以探测某个网络漏洞的数据包,通过发送 HTTP 的访问请求,然后从服
务器的反应信息中进行特定的漏洞查找,从而对漏洞进行精准的定位。Web 的
漏洞扫描技术是一项模拟攻击的方法,通过对系统进行模拟攻击的方式来查找具
体的漏洞内容,实际上并不会对系统造成真正的伤害。
1.2 研究意义
随着当下的网络安全的问题日益的凸显,人们在网络安全方面有着更为强大
的需求要求,需要有一些可用的软件能够实时的对 web 应用进行严格的内容评
估,从而能够增强 web 的安全性,检测出 web 可能存在的相关问题,从而更快
的找到问题所在并且降低可能出现的安全性问题。网络漏洞扫描技术能够通过以
攻击者的视角出发,通过模拟对程序的攻击来认识到程序可能存在的风险,从而
更快速的找到问题的所在,实现有效的漏洞补丁完善等功能实现。漏洞挖掘扫描
技术是一种主动的防御过程,是未雨绸缪的一种防护手段。这种手段能够通过提
前对 web 进行渗透扫描来了解到网页的运行参数、时间参数等信息内容,从而
通过扫描形成的检测报告来查找到系统中可能存在的威胁情况。而本次就是通过
了 Python 技术来打造一款能够实现有效的网页漏洞扫描的主要功能实现,通过
对网页的提前扫描来主动的进行安全的检测,之后再通过可视化的图表方式来对
2
查找到的漏洞情况进行直观的展示,从而能够有效的为用户提供提醒或者警示的
作用,告诉用户该网站是否安全,做好提前的使用判断。
1.3 研究现状
我国对于安全漏洞的扫描研究在近些年取得了长足的进步,本次对部分的研
究文献进行了如下的归纳:
吴柳在其对跨站脚本攻击检测的研究中,通过在 HTML5 技术下的一些网页
的特点进行研究时,重点的对于漏洞扫描技术进行了分析,通过分析来查找出现
在 HTML5 技术所支持的网页中可能存在的新功能、矢量不完整等缺陷,通过
HTML5 的新的漏洞检测功能的运用来通过遗传算法检测网络应用程序的安全性。
季硕在利用分布式的爬虫技术对 web 应用的漏洞进行扫描的研究中发现,
在 JavaScript 技术开发的程序,通过漏洞的扫描能够对 JavaScript 代码进行有效
的检测,能够通过基于状态图的方式来进行漏洞的不同状态划分,从而更好的形
成一个整体的动态的扫描过程,实现逻辑清晰的扫描实现。
陆艳华在 web 应用漏洞检测的研究中,通过对 web 漏洞的多样性和现有的
漏洞扫描技术存在的缺陷进行深入的剖析,通过基于爬虫和特征的辨别的方式来
探索一种新的漏洞探索模式,通过多个不同的模型进行改进和优化,实现了高扩
展、高可用性的漏洞扫描系统的开发和运行。
孙晓飞在对文本应用漏洞的检测中,对于漏洞检测技术的优缺点进行了详细
的内容阐述,另外从襄樊的方向来阐述当下的网站也应当具备反爬虫的能力,做
到更好的防护实现。