1、”“万事如意”这些吉利话。年三十逛花市(图3.1-6),广州传统的迎春花市会举行三天,从年二十八开始到初一凌晨结束。广州人喜欢讲意头,逛花街买花,看花也是希望一年能够行好运,讨个好运气,像是花市里经常能看到卖风车(图3.1-7)的,风车代表转运,更有风生水起的意头。初一日抢头香,老广州本地人有初一拜神不拜年的习惯,每到初一早晨,香客们便等在寺庙口,希望能抢到今年的头香(图3.1-8),带来一年的好运。图3.1-5;名字:门对;图片来源:金羊网图3.1-6;名字:逛花市;图片来源:金羊网图3.1-7;名字:风车;图片来源:金羊网图3.1-8;名字:上香;图片来源:搜狐网年初二打牙祭,也被叫做一年
2、里的头牙,在这天要吃开年饭(图3.1-9),大家一般很早就要起来准备开年饭,也是为了“抢头牙“这个好意头。开年饭的传统菜色一般有发菜蚝豉,白切鸡,虾米粉丝,耗油生菜,鲤鱼等一些追求好意头的菜色。年初四拜大年,这天大家会准备好礼品去到亲戚朋友家拜年,拜年时要讲一些带好意头的话,比如恭喜发财,发过猪头等,吉利话讲的好,就可以拿到“利市”(图3.1-10)。利市也是粤语里红包的意思,关键是要讨个好意头,图个吉利。年初七寻春日,大家在这天会结伴外出游玩,像是游花地(图3.1-11),郊游,登山等活动都代表“寻春”。年初十打春去,打春也叫做打仔,是一种孩子的民间游戏,为期两天,玩法为两人各站一边,相互丢
3、石子,用互相的输赢来换得新的一年兴盛的意头。正月十五元宵节,也代表新年进入尾声。旧时的广州会举办元宵游行会,现在广州的元宵节逐渐淡化了一些民俗活动形式,除了吃汤圆以外,还会举办灯光节(图3.1-12),灯会等活动,大家会在公众场所,街道挂满彩灯,包括纸扎灯,花果灯,宫灯,霓虹灯等来庆祝元宵。图3.1-9;名字:开年饭;图片来源:广州日报图3.1-10;名字:利市;图片来源:搜狐网图3.1-11;名字:游花地;图片来源:搜狐网图3.1-12;名字:灯光节;图片来源:广州摄友会论坛3.2广州年俗插画设计内容3.2.1画面排版在完成第一阶段的年俗场景提取工作后,便进入插画创作阶段。在广州本地的每户家
4、庭中,几乎人手必备一本“运程通胜日历”(图3.2.1-1,3.2.1-2)用来查看每日的运程和忌宜,所以这次在设计上选择提炼出该日历的构图方式和图形元素(图3.2.1-3),以此为画面框架(图3.2.1-4)进行插画设计,制作出一系列的年俗历插画,希望最后的画面呈现更具有本土特色。图3.2.1-1;名字:运程通胜日历封面;图片来源:自制图3.2.1-2;名字:运程通胜日历内页;图片来源:自制图3.2.1-3;名字:图形元素提取;图片来源:自制图3.2.1-4;名字:画面框架提取;图片来源:自制在年俗历的封面排版(图3.2.1-5)上提取到了通胜日历的内页构图元素,设计上会保留“宜”“吉神方位”
5、“五行”“年月日”这些典型的符号,用线框结合文字的方式进行设计。考虑到一些繁忙的年俗活动无法用单一的场景表现完全,所以在画面设计中会采用到分格排版(图3.2.1-6,图3.2.1-7)的方式来表现某日所要进行的活动情节,分格会采用斜分的形式来突出画面的动态感;而比较正式的场景会用单幅画面(图3.2.1-8),对称构图的形式展现。图3.2.1-5;名字:封面排版;图片来源:自制图3.2.1-6;名字:分格排版1;图片来源:自制图3.2.1-7;名字:分格排版2;图片来源:自制图3.2.1-8;名字:单幅画面;图片来源:自制3.2.2色彩使用因为年俗历是我们中国特有的,所以为了表现画面的传统性和本
6、土感,本次插画配色使用到的色彩全部取自中国传统色彩。现在市面上有关于年俗文化的设计作品通常以红色为主,但本次的研究是围绕地方年俗与文化创新展开,所以主色彩基于地域因素进行突破,选择了飞燕草蓝用作插画的主色调和线条绘制,飞燕草蓝寓意安稳,平静,低调,也符合广州这座城市给人的感受。(图3.2.2-1)因为插画面对的时间点是新年,所以在配色上选择鲜艳,明快的色彩进行搭配,以香叶红,甘草黄,钴蓝,石绿这些颜色为主,香叶红寓意热情活力;甘草黄寓意阳光向上;钴蓝寓意纯净,明亮;石绿寓意和平,希望。整体颜色搭配给人以活力,喜乐的感觉。(图3.2.2-1)图3.2.2-1;名字:色彩使用;图片来源:中国色网站
7、3.3插画展示设计成果以年俗历的形式展现,总共为1副封面,11副插画。(图3.3-1)图3.3-1;名字:年俗历插画;图片来源:自制3.4应用展示应用展示包括贺卡,明信片,折页册子,手机壳,胶带,明信片这些物品。贺卡(图3.4-1)选择将插画至于贺卡正面,背面为年俗历的封面,使贺卡正面看便有普通台历的视觉效果。贺卡底部做出折角的样式,使贺卡像台历一样也可以站立起来,在介绍广州年俗的同时又实现了装饰功能。图3.4-1;名字:年俗历贺卡;图片来源:自制明信片(图3.4-2)同样选择将插画作为正面,形成正面为单页年俗历的效果,背面是和插画一样的蓝色外框,框内用作邮寄信息填写。图3.4-2;名字:年俗
8、历贺卡;图片来源:自制折页册子(图3.4-3)作为年俗历的宣传册子,选择竖向连页的形式,既可作为装饰品悬挂,又方便折叠起来收纳与携带。图3.4-3;名字:年俗历宣传册;图片来源:自制手机壳(图3.4-4)的设计有两种形式,一是采用竖向连页排版的方式将两幅插画至于壳身,以突出画面为主;二是将封面的文字部分截取至壳身,以突出老广年俗历的文字为主。图3.4-4;名字:年俗手机壳;图片来源:自制在胶带(图3.4-5)的设计将插画中的文字作为图案,分别为对联中的“吉星高照”和插画所对应的年历日期,如“廿三日,祭灶神”“廿四日,开炸”等,颜色上分为红色和蓝色两种。图3.4-5;名字:年俗胶带;图片来源:自
9、制在笔记本(图3.4-6)的设计中选择将年俗历插画作为正面,更具有视觉冲击力。图3.4-6;名字:年俗笔记本;图片来源:自制结论本次针对广州年俗为例的地方年俗与文化创新研究,探讨了地方年俗进行文化创新的必要性与可行性,通过挖掘传统地方年俗在当今时代背景下所具有的地方特色与文化价值,发现传统年俗文化的发展并非停滞不前,固步自封,而是能够紧跟时代的步伐,积极寻求“新”与“旧”的平衡点。文化全球化已经成为21世纪人类文化发展的总趋势,所带来的文化冲击无疑给中国传统文化的生存发展带来了一定困难,传统文化要在这种激烈的文化环境中寻求生存和发展的空间,我想既离不开从自身出发所进行的文化创新,更离不开每一个
10、具有文化认同感的传承者。参考文献23致谢本论文编写与设计在熊丹老师,黄迅院长的悉心指导和严格要求下已完成,从课题选取,设计主题的确定,再到具体的写作过程,设计过程,老师们给予我们许多专业性的指导与建议,在这里感谢老师们的幸苦教导。在临近毕业之际,也要感谢学校给予我们学习的平台,以及在四年大学生活中指导我们专业课程,给予我们教诲和帮助的各位老师,老师们在平日课堂中给我们讲解的专业知识以及对我们设计思路的引导,都能够在设计中得以体现。最后要感谢在这次论文写作过程中我所参考到的有关书籍,论文,网络资源的作者们,感谢他们提供的知识资源。仅以此致谢。24本科毕业设计(论文)学生成绩系统设计及攻击方法探讨
11、Discussion on the Design of Student Score System and Attack Method院(系)计算机学院专 业网络工程班 级五班学 号16210220504学生姓名陈涛指导教师陈小松提交日期2020年04月22日毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行的设计(研究)工作及取得的成果,论文中引用他人的文献、数据、图件、资料均已明确标注出,论文中的结论和结果为本人独立完成,不包人已含他经发表或撰写的作品及成果。对本文的研究做出贡献的个人和集体,均已在论文中作了明确的说明。本人完全意识到本声明的
12、法律结果由本人承担。毕业论文作者(签字): 签字日期: 年 月 日摘 要学生成绩系统是各级学校常用的OA办公系统,具有公布学生成绩、管理学生等功能,目前学生成绩系统大多数以WEB站点的形式存在,容易受到SQL注入、XSS、越权等攻击。本文以学生成绩系统作为OA办公系统的代表,通过对学生成绩系统的设计与实现,了解开发系统所使用的技术与系统构成,研究此类办公系统中易受攻击的威胁点。使用常见的WEB攻击方法,尝试在实现的学生成绩系统上复现攻击,寻找可行的攻击方案,并修复系统中存在的漏洞,达到提升学生成绩系统安全性能的效果。关键词:WEB攻击;办公系统;Java开发AbstractThe studen
13、t performance system is an OA office system commonly used at all levels of schools. It has the functions of publishing student results and managing students. Most of the current student performance systems exist in the form of WEB sites and are vulnerable to attacks such as SQL injection, XSS, and u
14、nauthorized access. This article takes the student performance system as the representative of the OA office system, through the design and implementation of the student performance system, understand the technology and system composition used in the development system, and study the vulnerable thre
15、at points in such office systems. Using common WEB attack methods, try to reproduce the attack on the realized student score system, find a feasible attack plan, and repair the loopholes in the system to achieve the effect of improving the safety performance of the student score system.Keywords: WEB
16、 attack; Office system; Java development目录第一章 绪论11.1 课题背景与意义11.2 网络安全与网站现状11.2.1 网络安全的发展与现状以及分类11.2.2 OA办公系统的发展与现状11.3 OA办公系统的安全现状21.4 章节安排2第二章 系统开发相关知识42.1 工具与结构42.1.1 Eclipse与Tomcat42.1.2 B/S结构42.2 技术知识42.2.1 Java42.2.2 JavaBean42.2.3 Servlet42.2.4 JSP+JDBC52.2.5 JavaScript与JQuery52.2.6 H-UI与EASYU
17、I52.2.7 关系型数据库与MYSQL52.2.8 DAO模式62.3 本章小结6第三章 WEB常见攻击方法73.1 SQL注入73.1.1 简介73.1.2 注入类型73.1.3 漏洞挖掘73.1.4 实例83.2 越权93.2.1 简介93.2.2 越权类型103.2.3 漏洞挖掘103.2.4 实例103.3 XSS113.3.1 简介113.3.2 XSS分类113.3.3 漏洞挖掘123.3.4 实例123.4 本章小结13第四章 系统分析与实现144.1 需求分析144.2 结构分析144.2.1 系统管理员144.2.2 教师144.2.3 学生144.3 系统设计144.3.
18、1 程序功能144.3.2 技术实现154.4 设计实现164.4.1 登录页面164.4.2 学生端174.4.3 教师端194.4.4 管理员端214.5 本章小结25第五章 学生成绩系统的攻击方法探讨265.1 学生端系统分析265.1.1 登录页分析265.1.2 系统内分析285.1.3 学生端系统分析小结335.2 教师端与管理端系统分析335.2.1 教师端分析335.2.2 管理端分析335.3 本章小结35总结与展望36参考文献38致谢39广东东软学院本科毕业设计(论文)第一章 绪论1.1 课题背景与意义在互联网飞速发展和对办公效率要求提升的前提之下,越来越多的行业采用了互联
19、网办公的方式,互联网办公大都选择使用了OA办公系统。OA办公系统包含了工作流程、信息、管理等涉及一个组织各方各面的信息,其重要性不言而喻,而正是因为OA办公系统的重要性,许多不法份子将目光盯紧OA办公系统,企图通过黑客技术攻击系统从而获得非法利益,使得网站经营者合法利益受到损害。在这样的背景下,本文选取教育行业普遍使用的OA办公系统1,也即是学生成绩系统为例,通过学生成绩系统的搭建2,对系统的安全性进行考察,探讨针对学生成绩系统这类OA办公系统的可用攻击手段,发现可用的攻击手段并进行反馈,达到提升学生成绩登记系统的安全性能的目的。1.2 网络安全与网站现状1.2.1 网络安全的发展与现状以及分
20、类网络,改变时代的发明。自20世纪50年代起发展至今,已深入人们的衣食住行,覆盖了国家安全,经济发展等方方面面。但网络是一把双刃剑,我们在网络上享受这便利的同时也给我们带来了许多看不见的威胁3,我们的各种信息4暴露在网络环境中。一些别有用心的人利用网络技术能轻而易举地获取到我们的隐私信息从而侵犯我们的合法权益,我们时刻都在面对着威胁。因此,我们需要网络安全技术保护我们自己,使我们享受网络带来的便利的同时避免不法份子的侵害!在网络安全愈加受到重视的前提下,有越来越多的人加入了这个行业,随着发现的网络威胁的增多,从事网络安全行业的前辈们对已经发现的网络安全漏洞进行区分,以漏洞对网络安全类型进行划分
21、,发展至今网络安全已经被大致分为了WEB安全、主机安全、数据库安全、网络安全等几类。本文研究的是其中的WEB安全类。WEB安全是基于WEB环境的互联网应用发展所带来的一个安全方向,随着社交网络等一系列互联网产品的出现,接踵而来的是WEB安全威胁的凸显,大量的不法份子利用自己的技术非法获取着网站的数据,使得网站经营者和网站访问者收到侵害。1.2.2 OA办公系统的发展与现状在没有网站的时代,人们想要获取公共信息只能通过人与人之间口口相传或者通过布告栏,但是在有了网站之后,这些都改变了,人们只需要在家里通过网站就可以发布自己想要共享给别人的信息,也可以通过网站获取别人公开出来的信息或享受由别人带来
22、的服务。这个在20世纪以前无法想象的神奇事物,于1991年的8月6号诞生,于1993年4月30号对所有人公开使用。随着现代社会的发展,网站的功能也越加丰富,比如由以前只能展现静态页面到了如今的具有丰富的动态效果,而网站的使用者也越来越多,从以前的少部分人到现在,几乎所有的政府,组织,公司,甚至是个人都有了自己的网站。OA办公系统是现代化的办公中的一种计算机应用,颠覆了传统的办公方式,是一种非常灵活且应用广泛的优秀办公方式。总的来说,OA办公系统使用计算机技术以及信息化技术实现办公自动化,优化了对组织的结构管理以及体制的管理,极大节省办公过程中的人力物力,达到对信息等资源的高效利用的效果,有效提
23、高工作效率以及达到辅助决策等的目的,是各行各业都广泛使用的计算机应用。随着WEB平台的发展,越来越多的计算机应用移植到网站上,OA办公系统也顺应时代发展逐渐迁移至WEB平台。因此,目前社会上的OA办公系统大都以网站的形式面向使用者。1.3 OA办公系统的安全现状OA办公系统的流行给各企业单位带来便利的同时,也吸引着黑客的注意。由于办公系统对通讯信息、文档管理等办公程序的自动化,在连接网络的同时也将这些信息暴露于黑客的视野之中。网络黑客5通过对OA办公系统的通讯节点进行侦听、投放木马6等手段窃取OA系统中的有效数据7,更可能导致系统的运行错误,文件损坏,系统硬件等出现问题等,一旦系统存在缺陷就会
24、遭受黑客攻击而损失惨重。随着OA办公系统向网站平台的迁移,更是使得风险大幅度提升,大量不法份子利用黑客技术对WEB服务器进行攻击,从而获取网站用户的隐私信息牟取不法利益,这也使得OA办公系统WEB业务平台更容易遭受攻击8。使用OA办公系统的目的是为了简化工作流程从而提高工作效率,如果因为网络不安全而遭受损失则得不偿失,因此对OA办公系统来说必须重视网络安全,成为受益者,而不是受害者。1.4 章节安排本文一共分为五个章节,每个章节的主要内容如下:第一章首先介绍了本课题的大概背景和相关意义,其中包含了网络安全和OA办公系统的发展及现状,并说明了网络安全对OA办公系统所产生的影响和网络安全对OA办公
25、系统的意义所在,在最后给出了本文的结构。第二章介绍了OA办公系统使用的相关工具以及所采用的技术。第三章详细介绍相关攻击技术以及对应的漏洞挖掘并给出相应实例。第四章是学生成绩系统设计的结构以及相关分析,在最后给出系统实例。第五章是实验过程与结果分析:通过OA办公系统的编写与搭建并对其进行攻击,探讨攻击的可行性,并由攻击方向反馈OA办公系统编写过程中需要注意的细节,达到提升OA办公系统安全性能的效果。第五章则是总结与展望,对本文研究和论述的内容进行总结,针对存在的问题,提出接下来的目标以及实现计划。第二章 系统开发相关知识2.1 工具与结构2.1.1 Eclipse与TomcatEclipse是开
26、发者常用的集成开发环境,主要是用于Java语言开发,其功能丰富,使用简单,具备较高的灵活性,通过Eclipse可以完成包括JSP、数据库等各项设计任务,适用于本次对于学生成绩系统的开发。Tomcat是著名的基于Java的轻量级应用服务器,是完全免费开源的Servlet容器,既提供了对Servlet以及Java Server Page等的支持,也支持html和JavaScript等静态资源的处理,是个人开发者常用的轻量级WEB服务器。在本次开发中使用Tomcat可以对WEB端的请求进行相应处理,达到用户与数据交互的效果。2.1.2 B/S结构B/S结构也即是浏览器/服务器结构,是互联网发展后兴起
27、的一种结构。这种结构将系统功能集中在服务器上,使得系统的开发、维护以及使用更加简单9。随着互联网的不断发展,越来越多的计算机有着接入网络的需求,B/S架构在接入网络方面对比C/S架构具有一定的优势,用户只需要一个浏览器就可以对多个系统进行访问,节约了开发成本,这也使得B/S架构被大量使用。由于本次学生成绩系统有着多用户接入网络的场景,使用B/S架构显然是较为合理的。2.2 技术知识2.2.1 JavaJava10当今互联网广泛应用的一种计算机编程语言,有着面向对象、跨平台等特性,在WEB应用开发方面被广泛应用着。由于Java有着功能强大并且容易使用的特点,本次学生成绩系统选择使用Java语言进
28、行开发。2.2.2 JavaBeanJavaBean是一种可重用的Java组件,有着属性、方法、事件等特性,通过set和get方法获取。在本次学生成绩系统开发中,以使用JavaBean定义可重用的各类组件为基础,通过对定义的属性执行增删改查等操作实现对学生成绩管理的功能。2.2.3 ServletJava Servlet是用于服务器端与客户端交互的小程序,在本次开发中使用Servlet处理来自客户端的请求并响应处理结果给客户端,是学生成绩系统的控制中枢。2.2.4 JSP+JDBCJSP是一种动态网页开发技术,使用JSP标签将Java与HTML页面融合,适用于可重用的组件的开发,有着清晰的网页
29、逻辑,方便web应用设计。将JSP标签与HTML结合,能将网站由静态变为动态,增强网站使用者的交互体验。用户使用浏览器访问服务器上的资源,服务器对相关业务进行处理后通过JSP动态解析成网页展现给用户浏览。JSP标签有着强大的功能,可以记录信息,访问各种组件,以及在不同的网页中传递控制信息和共享信息等。JDBC是在Java技术在WEB业务中的应用,主要是为数据库与应用程序提供链接,具有多种操作数据的方法,使得用户可以通过WEB服务与数据交互,是一种规范的程序接口。2.2.5 JavaScript与JQueryJavaScript是一种解释型语言,提供了有关文本操控、日期、数组以及正则表达式等语法
30、,用于对网页事件的响应,提升用户的交互体验等。JQuery是一个轻量级的JavaScript框架,它集成了常用的动态页面代码,极大简化了JavaScript编程,容易使用,具备简便的设计方式,能够为页面提供良好的事件处理等功能。2.2.6 H-UI与EASYUIH-UI前端框架系统是基于HTML、CSS、JAVASCRIPT开发的轻量级web前端框架、它集成了常用的JQuery插件、包含了丰富的web组件,使得网站开发更加简单。EASYUI提供了许多UI控件的使用,本文将使用EASYUI设计学生成绩系统的前端页面。2.2.7 关系型数据库与MYSQL关系型数据库是指采用关系模型组织数据的数据库
31、。关系型数据库由一系列的行和列组成表,多个表组成数据库,有着清晰的存储思维,方便应用于多次读取和查询的场景。MYSQL是轻量级的关系型数据库,有着低成本、体积小、速度快的特点,能满足大部分应用的需求,是个人开发者常用一种数据库。同时,由于关系型数据库可以使用结构化查询语言对数据库进行增删改查等操作,适用于本次学生成绩系统的开发。2.2.8 DAO模式DAO(Data Access object)是指对业务逻辑和持久化数据之间实现对持久化数据的访问,一般仅对外提供相应的接口,对内将操作封装起来。一个典型的DAO模式包含了DAO接口、接口的实现类、实体类、数据库连接和关闭工具类。使用DAO模式的优
32、势在于实现了隔离,将数据访问代码和业务逻辑代码分隔11,降低了耦合性。2.3 本章小结本章重点对学生成绩系统开发过程中使用的工具及技术进行阐述,其中开发工具包含Eclipse和Tomcat,开发技术包括Java、JavaBean、Servlet、B/S结构、JSP和JDBC、JQuery、H-UI、EASYUI以及MYSQL和DAO模式等。第三章 WEB常见攻击方法3.1 SQL注入3.1.1 简介SQL即是结构化查询语言,主要是用于关系数据库操作。总的来说,SQL是一门数据库查询语言,开发者通过SQL语句可以实现对数据库的增删改查,而攻击者也是通过构造恶意的SQL语句实现对后台数据的注入攻击
33、13实现数据库注入攻击需要两个前提:1.用户能确认自己的输入会被执行数据库操作、2.用户输入的内容可以被拼接到将被执行的SQL语句中。3.1.2 注入类型从数据类型来说,SQL注入有多种划分方式,从数据类型上划分,SQL注入可以分为字符型、数字型以及搜索型;按照返回结果进行区分,数据库注入又可以划分为显错注入、盲注入等。最常见的注入类型是数字型注入以及显错注入14。显错注入出现的原因大都是代码的报错信息显示在页面上,因此通过修改数据不断提交到服务器,用查看错误信息的形式就可以判断网站的大部分信息。3.1.3 漏洞挖掘实现SQL注入的前提是找到注入点,找到注入点后可以使用SQL注入工具例如SQL
34、MAP对注入点进行注入,或者手工进行注入,手工注入需要对常见数据库有所了解以便做出判断。图3-1-1 SQL注入漏洞挖掘流程3.1.4 实例根据本文使用的MYSQL,以MYSQL注入为例。(1) 判断注入点如图3-1-2所示,在疑似注入点的参数加上and 1=1,如果注入点存在,那么网页会正常返回,因为1=1在SQL语句中结果为永真,因此使用and 1=1不影响其他条件的结果,不影响正常使用。同理,加上and 1=2,如果注入点存在,那么SQL语句中条件为永假,那么网页不能正常返回。图3-1-2注入点判断(2) 判断字段数如图3-1-3所示,在注入点链接加上order by N判断字段数,如果
35、网页能正常返回,说明测试的字段数是存在的,如果网页不能正常放回,那么说明测试的数字超出了字段数,由此判断数据库的最大字段数。图3-1-3判断字段数(3) 判断回显如图3-1-4所示,使用上一步骤查询出来的最大字段数,在注入点参数拼上 and 1=2 union select 1,2,3,max。这里使用了MYSQL的联合查询union关键字,and 1=2是使得原本SQL语句查询的内容为空,而union select 1,max使得原本查询的字段被1,max替代,网页上出现哪个数字,就说明原本查询的字段的地址在哪个位置,方便下一步的判断。图3-1-4判断回显(4) 查看数据库信息如图3-1-5
36、所示,在SQL中database()是查询当前数据库名称,在上一步骤判断回显的位置使用这个关键词可以使这个站点当前使用的数据库名称回显在原本正常显示的位置上。接着可以查询MYSQL中所有数据库的信息。图3-1-5当前数据库信息如图3-1-6所示,这里查询的SCHEMA_NAME列是在数据库information_schema的表SCHEMATA中,这一列存放的是当前数据库系统中的数据库名字以及其它信息15。通过limit关键字限定查询范围,使得在有限的回显空间查询出我们需要的内容。图3-1-6 所有数据库信息(5) 查询数据库表名如图3-1-7所示,通过上一步骤查询到的数据库名称在这里查询库中
37、的表名称,使用information_schema默认存放表明的列关键字TABLE_NAME,通过回显的方式查询,同理,通过limit关键字可以查询所有的表名。图3-1-7 数据库表(6) 查询字段名如图3-1-8所示,通过已查询到的数据库名和表名,使用默认存放字段名的列关键字COLUMN_NAME进行查询,同上,limit关键字限定范围。图3-1-8 查询字段名在查询出字段名接下来就可以对数据库信息查询了。3.2 越权3.2.1 简介越权漏洞属于OWASP(Open Web Application Security Project)组织公布的失效的身份验证和会话管理漏洞16,在该组织近几年公
38、布的漏洞排行上一直是高居第二位,原因在于黑客只需要通过越权漏洞拿到一个管理员账户就可以对一个系统造成毁灭性的打击,其影响不言而喻。漏洞一般是通过破译账户密码或开发者留下的缺陷实施。3.2.2 越权类型(1) 水平越权水平越权指的是拥有同等权限的账号在访问数据时没有判断数据17所属人而导致的越权数据访问漏洞。(2) 垂直越权垂直越权指后台应用没有进行权限控制,导致恶意用户只需要猜测敏感的参数信息就可以访问其他角色拥有的数据和页面18。3.2.3 漏洞挖掘越权一般需要以一个账号为基础,然后寻找目标账号,获取目标账号的权限,可以利用弱口令或爆破的方式获取账号密码。除此之外还可以通过账号的未授权访问寻
39、找漏洞,如果开发者粗心没有对用户请求做二次验证,可以通过修改敏感访问信息获取其他用户的权限。3.2.4 实例以一个未验证短信的密码重置为例。(1) 假设重置密码存在没有对手机号以及验证码进行匹配,仅通过判断验证码的正确性,那么可能存在漏洞。如图3-2-1所示,使用自己的手机号接收一个验证码。图3-2-1 发送验证(2) 如图3-2-2所示,接收到验证码后更换要重置的手机号,完成重置另一手机号密码,达成漏洞利用。图3-2-2 更换手机号3.3 XSS3.3.1 简介跨站脚本攻击,即是XSS(Cross-site Scriping)是目前互联网最常见的网络安全漏洞之一,在各类论坛,贴吧,博客,基本
40、上有输入框等让用户自由输入的接口都有可能存在XSS漏洞,而导致这类漏洞泛滥的原因在于网站有着允许用户自由输入并且用户输入的内容会以某种形式呈现给其他用户的功能,当用户输入在呈现出来的时候没有经过有效安全的处理,那么就会使得黑客精心构造的内容被浏览器解析执行。3.3.2 XSS分类(1) 反射型反射型XSS是最常见的XSS漏洞,这类漏洞通过将用户输入直接地或者没有经过完善的过滤机制就在浏览器中输出实现,黑客一般通过构造恶意的URL链接并诱骗用户点击来实施攻击。(2) 存储型存储型XSS相比其他两种类型的XSS漏洞危险性更高,因为这类漏洞会将黑客构造的恶意信息保存到网站的数据库,在其他用户正常使用
41、网站的时候执行,是一种威胁到整个WEB站点的漏洞。(3) DOM型DOM型XSS主要是通过修改页面的DOM节点实现攻击,和其他两种XSS不同,通过DOM实现的攻击需要针对具体的JavaScript DOM代码具体分析,实施难度较大,所以比较少见。3.3.3 漏洞挖掘XSS漏洞实施的根本就在于用户可控输入,所以漏洞挖掘针对于网站中的所有可以自由输入的点,最简单的方式就是构造简单的JS语句,例如alert(1),在可控输入处尝试插入。3.3.4 实例以未经过任何过滤的输出语句为例。(1) 反射型XSS如图3-3-1所示,在有输入的地方尝试输入简单的JavaScript弹窗语句,如果有弹窗则说明漏洞存在。图3-3-1 JavaScript测试如图3-3-2所示,出现弹窗,说明漏洞存在。图3-3-2漏洞存在(2) 存储型XSS同反射型XSS,如图3-