欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    自营网站业务逻辑漏洞的检测与防范.docx

    • 资源ID:96762890       资源大小:341.23KB        全文页数:30页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    自营网站业务逻辑漏洞的检测与防范.docx

    摘 要本文主要介绍了对自营网站进行的检测技术,从当下常见的web安全漏洞开始讲述,直到本文主题漏洞,同时分析了国内外web环境的安全性,阐明了对于web安全漏洞的防范意义以及一些基本的防范技术。叙述完web漏洞大家族后,单独对业务逻辑漏洞进行了介绍。从介绍业务逻辑漏洞开始到业务逻辑漏洞的特点,再到说明数据篡改型、暴力破解型、越权型业务逻辑漏洞所产生的原理,最后叙述了业务逻辑漏洞可能带来的危害。在阐明危害之后,介绍了对业务逻辑漏洞检测的常用方法及技术,而后介绍了本文所使用的检测方法的思路及相关技术,最后对各种类型的业务逻辑漏洞的防范方法进行阐述。文章末尾对本次研究做了总结和展望。关键词:web安全漏洞;漏洞危害;业务逻辑漏洞AbstractThis paper introduces the detection technology of self-operated websites, from the current common web security vulnerabilities to the theme of this article. At the same time,the website security environment home and abroad is analysed, and the significance of preventing web security vulnerabilities and some basic prevention technologies are discussed. After describing the web vulnerability family, the business logic vulnerabilities are introduced separately. From the introduction of business logic vulnerability concept to the characteristics of business logic vulnerability and then to explain the principles of data tampering, password violence and overweightbusiness logic vulnerability, and then, the paper describes the possible harm of business logic vulnerability and introduces the general methods and technologies for detecting the vulnerabilities, then introduces the ideas and related technologies used in this paper, and finally the prevention methods for various types of business logic vulnerabilities are introduced. In the end, the research of the project and its further development are summaried.Key words: Web security vulnerability;Vulnerability hazard;business logic vulnerability目 录第一章 绪论11.1 课题背景和意义11.2 web安全漏洞11.2.1 web安全漏洞的定义11.2.2基本的web安全漏洞11.2.3 web漏洞的危害31.3 web安全现状与防范41.3.1 国内外现状41.3.2 防范的意义41.3.3 防范的技术41.4 章节安排5第二章 认识业务逻辑漏洞62.1 业务逻辑漏洞的定义62.2 业务逻辑漏洞的特点62.3 产生业务逻辑漏洞的原理62.4 业务逻辑漏洞的危害72.5 本章小结7第三章 检测业务逻辑漏洞83.1 检测流程83.1.1 一般的渗透测试流程83.1.2 业务逻辑测试流程93.2 检测方法与例子93.2.1 检测方法93.2.2 检测例子113.3 检测技术研究143.3.1 socket代理获取request请求143.3.2 模拟请求重发request请求153.4 本章小结15第四章 防范业务逻辑漏洞174.1 数据篡改型业务逻辑漏洞防范174.2 越权型业务逻辑漏洞防范174.3 暴力破解型业务逻辑漏洞防范184.4 本章小结18第五章 总结与展望195.1 工作总结195.2 展望19参 考 文 献21致 谢22附 录23广东东软学院本科生毕业设计(论文)第一章 绪论1.1 课题背景和意义 作为二十一世纪人类最重要的产物互联网。互联网在人们各种技术的诞生下正日复一日地变得复杂起来,但任何事都离不开安全俩字,所以网络安全问题也愈发明显,渐渐地根据各种类型的安全问题出现了多种多样的检测手段以及防御方法,但就目前而言针对业务逻辑漏洞的问题,主要依赖人工检测,所以开发出能实现简易对自营网站的业务逻辑漏洞检测是具有重要意义的。如今的社会正越来越数字化,而个人信息变成了可以谋利的资源,然而用户的个人隐私与信息泄露连年加剧甚至已变成一种常态,久而久之不从事网络安全事业的人们就会产生无可奈何、任其发展的错误态度和思想,但保护好个人隐私,事关我们每个人。目前,网络攻击无处不在。2019年1月,拼多多优惠券活动被黑灰产团队利用;原年2月抖音App上千万账户遭受库攻击,其中上百万账户密码被泄露;6月,美国佛罗里达州莱克城,由于勒索病毒攻击导致各项市政工作停摆两周时间等等。可见网络安全是一个我们无法回避的问题,虽然我们无法实现零危害,但我们还是要尽可能避免发生安全问题1。所以对自营网站的检测是十分有必要的。1.2 Web安全漏洞1.2.1 web安全漏洞的定义Web安全漏洞一般是指在网站程序上所出现的漏洞,该漏洞出现的原因是程序员在开发时考虑不周等因素所造成的。如果一个站点存在Web漏洞同时又被不法网络攻击者利用,攻击者可能会轻易地控制整个网站,并有可能深入一步获得网站服务器的shell,进而掌控整个服务器。有时候一些不起眼的漏洞却能在别的方面对你造成危害。1.2.2 基本的web安全漏洞首先介绍的是注入漏洞,注入漏洞也是网络安全新手入门必学的安全知识,而注入漏洞又分为SQL注入、Xpath注入、SQL盲注。SQL注入是程序员在开发阶段,没有对有SQL查询语句的地方做严格的过滤,导致不法分子使用特殊构造的SQL语句插入到用户提交的数据中,以这样的方式欺骗服务器,从而令服务器执行恶意的SQL命令,进而获取到敏感信息。而SQL注入分为数据数字型和字符型,而注入方式一般为GET或POST注入、伪静态注入以及Cookie注入。SQL注入还有一种特殊的方式,那就是SQL盲注。而盲注分为两种方式,第一种基于时间的盲注,在这种情况下,注入的SQL语句会对后台的数据库功能造成影响,可Web前端的显示一直为True,但返回的响应存在差别,从而可以通过这个时间的差异来判断真假,进而获得相关的信息。而第二种是基于布尔值的盲注,在基于布尔值的盲注下,应用程序只是返回True或者False页面,导致无法根据所返回的内容得到有用的信息,但可以通过发送构造比较大小、等于或否等逻辑条件给服务端,然后通过返回的信息来判断是否所需信息。还有一种注入是Xpath注入,它是利用了解析器过于宽松的输入和它本身就具有容错性,导致不法分子利用在表单、URL或者其它的信息上携带不法分子精心编写的具有恶意的代码,进而获取到一些敏感的信息内容,更甚者可能会获得管理权限进而控制服务器。弱口令漏洞虽然少见,但它确实是不可忽视的漏洞,对于该漏洞没有非常准确的定义,在通常情况下指的是容易被别人根据你的基本信息猜出来或者容易被破解工具攻破的口令。在平常,个人的名字拼音字母、个人生日或者是有顺序并只是简单排列的数字和字母,都是弱口令。跨站脚本漏洞,是开发人员在编写代码阶段没有对用户所输入的内容做严格的过滤、转换,从而导致被不法分子在输入框中输入精心构造的JS或者HTML代码,并成功上传,而被服务器执行语句,从而敏感的信息就有可能被泄露。值得一提的是,跨站脚本攻击分为反射性、存储型以及DOM,三者的相互比较下,反射型和DOM的危害没有存储型的危害大,一旦发生存储型的跨站脚本攻击漏洞,在条件充足的情况下,将会出现大范围的敏感信息泄露。在一个网站上,文件上传是一个在常见的功能,如果这个功能出现漏洞,可想而知它的危害有多大。文件上传漏洞通常是指不法分子上传了一个精心构造并且可以执行的文件,这个文件可以是木马、病毒、亦可以是脚本等。在条件充足下,不法分子上传恶意文件,然后利用恶意文件对服务器进行攻击从而操控服务器。在web服务器上上传的文件一般都是asp、php、jsp,这些类型的文件可以在web服务器上执行,从而达到控制服务器的目的。还有就是敏感信息泄露,这是比较具有影响力又容易被人忽视的漏洞。在网络安全领域常见的漏洞就是忽略对敏感信息进行加密。如果在对数据的加密过程中,使用弱加密算法、弱协议和弱密码,尤其是使用弱的哈希算法来对密码进行加密是十分危险的。这样会被不法分子从传输过程中将敏感信息截获并破解出来,从而导致高危漏洞。跨站请求伪造CSRF是使用web应用程序在条件充足下被攻击者判别出一种操作的流程。在用户正常登录一个网站后会得到Cookie,而非法分子就使用浏览器主动发送会话Cookie凭证的特点,就能新建一个存在恶意代码的web页面来生成伪造请求。而这些恶意的伪造请求一般是很难与用户的合法请求区别开的。这样不法分子能以受害用户的身份去实现受害者权限下的操作,如:篡改用户密码、注销用户账号、甚至是盗用用户账号进行违法操作等。缓冲区溢出是安全威胁性高的漏洞,该漏洞所产生的原理是:在计算机里输入的数据都会被寄存在临时空间里,而这个临时空间就是我们所说的缓冲区,这个缓冲区的长度一般情况下都是已经被规定了的。一旦缓冲区输入的数据的长度超过了缓冲区规定的长度,那就会导致数据溢出这个缓冲区,但要注意的是溢出来的数据会去覆盖掉前面的数据,这样就会导致出现合法数据丢失、服务器瘫痪等情况。业务逻辑漏洞是一种由于开发时存在缺陷所导致的漏洞。业务逻辑漏洞的逻辑弊端是开发人员在开发阶段所编写的代码存在明显或隐含的错误逻辑。非法分子就会非常注意地去测试目标操作流程所使用的方式,尽可能地去摸透开发者做出的流程操作,然后就利用这些存在逻辑问题的操作流程进行攻击。而业务逻辑漏洞常常会出现在账户的登录、注册、密码找回、交易支付以及个人的信息修改中2。还有许多漏洞,例如:错误的安全配置、使用含有漏洞的组件、日志记录和监控的缺失等等,所以说web安全十分的重要,它关乎我们的信息安全以及网络安全。1.2.3 web漏洞的危害在一个网站中,如果存在web漏洞并被不法分子利用是十分危险的,在条件充足的情况下,不法分子可能轻而易举地就控制了整个网站,并可能进一步提权,以得到网站服务器的权限,进而控制整个服务器,例如,sql注入漏洞如果被不法分子利用,爆出了管理员的账号密码,就等于说这个网站已经被不法分子控制了;又如文本上传漏洞,如果被上传了后门文件,导致敏感文件泄露,进而危害整个网站服务器。而有些低、中危的漏洞也是不可小觑的,例如,反射型的跨站脚本攻击漏洞或者是逻辑漏洞,这些都可能造成敏感信息泄露,从而危害用户甚至是网站。网络与我们息息相关,关于web安全的问题,我们不可小觑。1.3 Web安全现状与防范1.3.1 国内外现状Web漏洞具有的渗透性以及驱使人谋利的特点,已经成为在网络中增长最快、最危险的因素。而网络罪犯已经变得日益频繁并渐渐地在Web方面频频出现。眼下Web安全漏洞已经成为对企业来说是最为频繁常见的攻击手段,单单使用传统的防御方式会让人显得力不从心。目前Web安全不仅仅是技术上的博弈,同时也是心理上的博弈,在技术上不能落后,在心理上更要别人琢磨不透,这样才能保证相对的安全。1.3.2 防范的意义有很多非专业人员有时候对于这些安全问题毫不在乎甚至会参与进去,这些人的心理是不可取的,如果不齐心协力共同抵制,只会让不法分子更加猖狂。 在Web环境下,也许会发生很多情况不同亦可能是多种情况糅合在一起的安全威胁,例如:勒索病毒、蠕虫、间谍软件、网络钓鱼电子邮件、漏洞利用、恶意程序等,如果在遇到这些威胁时,我们不警惕并积极防御的话,大多数情况都是用户的敏感信息可能遭受泄露,同时也可能导致服务器被控制或者瘫痪,从而遭受巨大的经济损失。 Web在现在的社会当中扮演着十分重要的角色,每年都在不断发展和创新。Web不仅仅改变了人们解决个体、社交业务的方法,同时使更多的人更容易、更高效地找到针对某些问题的解决办法。因此,安全人员有必要了解Web的新走势,提高相应的知识,同时在日益复杂的网络世界当中保护个人、企业甚至是国家的安全。Web应用开发是不太可能退出网络社会的,所以Web安全也是无法绕开的话题。新技术的到来,意味着安全也要随之发展与进化,网络安全同样也是当今社会不可无视的话题。1.3.3 防范的技术 从根源来说,Web安全漏洞其实能够大致分为两种威胁分别是内、外部威胁。内部威胁是普遍都信任的网络的威胁,有很大的可能性的情况是用户在不知情的情况下就执行了某些并未授权的命令又可能是无意中运行了某些恶意的文件;外部威胁主要是因为网站自身就已存在漏洞,而被不法分子使用或是遭到恶意的针对的攻击。对于Web来说,URL是一个防御的着手点。通过URL过滤以及内容检查过滤,能有效地防范已知的风险。但这种普通的防范方法还是比较被动,必须由安全维护人员不停地去更新纪录特征的特征文件。但如果我们采用动态技术,让服务器主动更新特征文件,这样的话效率就大大提高了。从另外的方向来思考,网络安全的威胁越来越多是经过Web以及E-Mail的方式,所以很有必要对Web和E-Mail实施防御策略,可以在信息流设置安全闸道,经过有效的过滤把威胁隔绝在外。换而言之,技术纷繁,对症下药即可,例如:在针对SQL注入时,避免网站运用动态的拼接字符串的方法去连接数据库;同时有必要减少数据库所抛出的报错信息;可以对数据库的一系列操作做好严格的权限把控3。与此同时防御的技术跟上了,保护自我的意识也要跟上,要抑制住自己的好奇心,做到不访问不安全、不合法的网站,不要打开来路不明的邮件及其附件,还有就是不要随便在网上泄露有关自己的私密信息。提升安全防范认知,这也是能有效降低安全风险的。1.4 章节安排本文将分为五大章节,章节的主要内容如下:第一章:介绍本文的题目研究背景及意义,然后介绍web安全漏洞的定义以及详细介绍基本的web漏洞及web漏洞的危害,然后介绍有关国内外web安全的现状、防御的意义以及一些技术,最后阐明关于本文的结构。第二章:主要介绍本文的主要对象业务逻辑漏洞的定义、特点以及该漏洞发生的原理,然后阐明该漏洞的危害,最后章节小结。第三章:主要介绍漏洞检测的基本流程,以及对业务逻辑漏洞的检测流程和方法,同时举一个实例说明方法,而后介绍检测功能的相关代码,在最后章节小结。第四章:对业务逻辑漏洞防御提出防御措施,主要类型有:数据篡改型、越权型、暴力破解型,三种类型。第五章:对本文所研究的内容进行总结,并对将来的进一步研发工作和目标进行了展望。26第二章 认识业务逻辑漏洞2.1 业务逻辑漏洞的定义业务逻辑漏洞顾名思义业务逻辑上出了问题,开发人员在开发阶段如果对业务应用逻辑考虑不够严谨或太过于杂乱,会让业务应用逻辑无法正常地执行操作流程,而以这些问题为根源的web漏洞统称为业务逻辑漏洞。在这里要注意一点:业务逻辑漏洞可能只发生在某一个业务流程中,即网站的功能模块上,换句话说就是业务逻辑漏洞可能只发生在网站的某部分。2.2 业务逻辑漏洞的特点业务逻辑漏洞在业务多或者复杂的网站都有可能存在,该漏洞具有多样性、局部性、易操作性。多样性体现在业务逻辑漏洞可能出现多种多样的场景,例如:忘记密码、短信验证、支付交易、横向越权、信息篡改等;局部性体现在业务逻辑漏洞一般都是发生在局部的功能模块上,与其他模块并不冲突;易操作性体现在只要将数据包截下来并对相关部分数据进行修改,最后重新发送即可。2.3 产生业务逻辑漏洞的原理产生说其根本就是在开发阶段,开发人员在编写功能模块时,没有将逻辑关系考虑周全或者过于复杂导致的。让我们看几个例子:(1)身份认证,在用户登录时必须进行身份认证,如果在这个时候验证码并没有限制其使用次数和有效时间,非法分子就可以针对已知账号使用暴力破解,破解口令。(2)数据篡改,对用户的手机号、邮箱、用户名、交易订单号、商品编号、交易金额、交易数量等信息的修改。如果在数据传送过程中并未对相关信息进行加密、处理或者后端加以验证,这样就会导致别人可以抓包,修改数据参数,进而成功修改传入后端的数据。(3)密码找回,一般常见的密码找回方式有通过邮箱、通过保护问题、通过手机号等。一般来说找回密码分多个步骤,而如果没有做严格的限制只能按顺序执行,就会导致可以跳过验证步骤,直接修改密码。而在使用手机或者邮箱找回时,如果未对验证码或相对应的注册手机以及邮箱做唯一性、有效时间限制和非空过滤,就会导致会被不法分子使用暴力破解的方式成功修改密码、邮箱等信息。(4)越权访问,通常情况下用户必须在经过认证并获得授权的状态下才能够访问需要通过认证和访问的页面或内容。如果未对账号特殊标识进行特殊处理可能导致越权访问。水平越权,指在同一级别的用户之间通过修改标识参数来达到来回访问的目的。垂直越权,指不同级别的账户向上或向下越权访问,原理与水平越权相同,两者都会导致账号信息泄露、密码、手机号、邮箱等信息被修改。 2.4 业务逻辑漏洞的危害业务逻辑漏洞在绝大多数漏洞面前都显得“渺小”,但在现实中它却是无法忽视的,如果忽视了它,同样有可能会导致巨大的威胁。又可能给企业直接造成经济损失;招致用户敏感信息泄露,导致骚扰,用户账号被盗。假设发生这个漏洞,还有可能会让大量的用户数据被泄露,甚至会造成用户信息被恶意篡改亦有可能会导致普通的账户能够执行管理员账户权限的操作,比如发布消息的增、删、改等操作。所以说切莫忽视业务逻辑漏洞,它的威胁有可能是巨大的。2.5 本章小结本章主要介绍业务逻辑漏洞,介绍了对于业务逻辑漏洞的定义以及它的特点,并阐明了业务逻辑漏洞发生的原理并举例身份认证、数据篡改、密码找回等业务逻辑漏洞来说明,最后阐明了如果忽视业务逻辑漏洞的危害将会对企业、对用户造成巨大的威胁。第三章 检测业务逻辑漏洞3.1 检测流程3.1.1 一般的渗透测试流程一般的渗透测试都是利用测试对象所存在的安全威胁,以类似黑盒测试的方法对目标实施渗透测试,主要以人工渗透为中心,以渗透工具为支持,在保障整个测试流程都在测试人员的可控情况内的前提条件下,尽可能地去获取想要获得的信息4。大致流程如图3-1所示。图3-1 简易渗透流程图(1)收集目标信息,俗话说“知己知彼,方能百战不殆”,前期对目标的信息收集是为了对目标更加了解,以便更快地发现存在弱点的地方,为渗透测试成功走出第一步。(2)分析相关信息,将对目标所收集到的全部信息进行分析,筛选出重要的信息,而后依据重要信息进行下一步测试。分析也是十分重要的一步,它能让成功更近一步。(3)获取目标权限,在经过对目标信息的分析后,找出目标的弱点,然后进行渗透,在成功渗透进入目标内部时,获得目标的普通用户权限。(4)提权,运用已取得的一般用户权限,通过渗透测试相关技术或者利用可用漏洞,将已取得的普通权限提升到管理员权限。至此渗透测试已基本完成。3.1.2 业务逻辑测试流程对于业务逻辑漏洞检测的流程大致如下5:(1)在对业务逻辑漏洞检测时,要先将对应的业务整体流程有所理解,这样才能通过创建思维导图,快速地弄清楚每个业务应用程序的逻辑,由于有时候JS 中可能会存在信息透露,那么也能够通过检查 JS来 了解具体状况。(2)在进行测试时,必须重点关注的业务应用流程有:注册流程、密码修改即找回、支付流程、个体信息修改、需要手机以及与邮箱验证有关的业务。(3)测试时,要对测试的业务功能模块进行抓包处理,然后分析request请求包中的数据,在这一步必须要十分注意特殊的参数,因为这很有可能就是特殊参数决定了业务步骤或者是传给后台的关键数据。(4)将抓到的包进行修改后进行重放处理,而在重放的过程中需要进行反复测试,以便判别能否存在绕过,以及如何去绕过,如果存在纯数字可以分析是否为重要参数,可以加以反复测试。同时注意特殊字符串并加以测试。(5)将上述总结为,业务逻辑漏洞检测流程需要在分析HTTP request请求的条件下,着重点在于那些可能用来辨别不同用户的参数以及特殊的字符,才有可能实现绕过验证、跳过业务步骤或者修改数据。3.2 检测方法与例子3.2.1 检测方法在了解业务逻辑漏洞的原理,并对业务逻辑漏洞检测流程后,再经过总结,有两种方法可以检测业务逻辑漏洞。一种是先创建一份相关参数的集合文件,然后利用针对某种业务逻辑漏洞所编写的爬虫,探测相关参数,如果存在对应的参数则从集合文件中带入其中的文件,然后返回页面状态,如果不是200,则返回上面的带入参数的步骤直至参数用尽,如果返回200,则存在相对应的漏洞,流程如图3-2所示。图3-2 方法一检测流程而另一种方法即本文所使用的方法,通过编程对网卡进行监听并可以抓取到数据包,然后在数据包中修改所要测试漏洞的相关参数,最后重新发包,等待返回结果如果为正常页面则存在漏洞,如果返回非正常页面则不存在漏洞6,如图3-3所示。图3-3 方法二检测流程3.2.2 检测例子(1)http:/127.0.0.1/member.php?mod=logging&action=login在目标网站的登录页面,测试找回密码的功能模块,先点击找回密码进入相关功能的页面。如图3-4。图3-4(2)在这里我们需要先测试是否有别的报错提示,所以先输入用户名test,手机号这里可以随意输入,然后点击提交,结果是明确提示用户名与手机号不匹配,猜测存在test用户。如图3-5所示。图3-5(3)第二次输入,用户名不输入,手机号(请和上面的输入的一致),结果提示用户不存在。如图3-6所示。图3-6(4)第三次,输入用户名test,手机号不输入,点击后直接进入验证码验证的修改页面,如图3-7所示。图3-7(5)点击获取验证码按钮,但在这里并不输入验证码,新密码为123456TEst,确认密码123456TEst,然后先点击提交后抓包处理。我们发现相关参数mobcode、getmobile以及username,分别对应验证码、接受手机号、用户名,如图3-8所示。图3-8(6)然后修改参数,将红线部分删除,变成如图3-9所示,然后重新发包后,直接进入直接修改密码页面,如图3-10。图3-9(7)新密码为123456TEst,确认密码,点击提交,成功修改,如图3-10。图3-10本实例的业务逻辑漏洞在于没有对参数进行过滤或者限制,导致可以直接绕过验证,从而修改用户密码。3.3 检测技术研究3.3.1 socket代理获取request请求根据业务逻辑漏洞的检测办法,决定使用python实现socket代理来获得request请求数据7。如图3-11。图3-11 代理流程图搭建实验环境,windows7、phpstudy、传参test.html页面、VMware。搭建好后,作为站点的windows7的IP为192.168.48.128。(1)先访问目标URL:http:/192.168.48.128/test.html,如图3-12所示。图3-12(2)开启并设置浏览器的代理为127.0.0.1,端口为6666,然后启动python代理程序,最后点击提交,代理程序获得request请求数据,如图3-13所示,程序代码见附录1。图3-133.3.2 模拟请求重发request请求通过一番资料查询,对于检测方法的重发请求步骤,决定采用模拟请求技术,在这里用了python里的httplib模块,该模块是相对底层的http请求模块,这个功能模块有个类class httplib.HTTPConnection,这个可以创建一个http类型的请求8。具体使用格式如图3-14所示,使用举例见附录2。图3-14首先使用python的模块httplib,使用它来模拟提交http请求,先创建对象,然后定义参数,再利用python的模块urllib对参数编码,而后提交带参请求,最后获取返回状态。具体代码如附录3所示。3.4 本章小结本章主要介绍如何检测业务逻辑漏洞,阐述了对检测业务逻辑漏洞的思路以及方法,同时举实例对所阐述的方法加以证明。最后根据检测方法,研究利用socket代理来获得request请求数据,以及使用模拟请求来实现request请求重发,两者结合基本实现对业务逻辑漏洞的检测。第四章 防范业务逻辑漏洞4.1 数据篡改型业务逻辑漏洞的防范业务逻辑漏洞中数据篡改型漏洞有很多种,例如:手机号篡改、邮箱篡改、交易金额篡改、商品id篡改、商品数量篡改等等。这些数据在前端被篡改却依旧能成功地传入后端并且被执行下去,归其原因在于数据在封装时并没用特殊处理,在传入后端时也没有做其他验证,所以我们需要将数据进行特殊处理,伪代码及说明见附录4,并在传入后端时使用连带关系验证,例如:验证金额时,将产品编号、数量、单价、以及总价进行核对,若有一项对不上则返回错误信息回到原页面。整体流程如图4-1所示。图4-1 防范思维导图4.2 越权型业务逻辑漏洞的防范越权型的业务逻辑漏洞危害可大可小,它的危害难以确定,但还是有办法解决的,常用的解决办法有以下几条:(1)在后端加入在用户进行访问操作时的凭证,例如:用户ID、名字、邮箱号、手机号等。最好使用在服务端关联验证,多重的验证才能保证相对的安全。(2)在开发阶段尽可能地使用成熟且安全风险低的权限管理框架。(3)对后台管理的功能模块实行严格把控,一定要限制好权限。在条件允许的情况下最好不对外网开放,这样可以大大降低风险性。(4)必要的时候可以以其他参数的形式提交用户可进行操作的凭证,最好应尽可能使用让人无法琢磨的构造方式或者使用复杂的加密算法加密后提交。4.3 暴力破解型业务逻辑漏洞的防范暴力破解顾名思义就是使用大量不确定数据,用穷举法来尝试获取用户正确口令的一种突破方式。如果在开发阶段用户的身份验证模块没有做严格的设计,那不法分子就有可能会利用自动化的工具对用户账号进行暴力破解,进而会增加用户密码被攻破的威胁。对于暴力破解,要加强验证同时还要对验证次数加以限制,以下就是具体的防范措施:(1)人机辨别:现实生活中有很多网站都有人机辨别的步骤,例如:验证码、指定图片验证、短信验证码等。(2)锁定措施:如果用户在登录或者找回密码等敏感操作错误的次数过多时,对该用户实行锁定措施,或者对用户目前IP加以一段时间的锁定。(3)验证码限制机制:网站所生产验证码应该是一次性的、有时间限制的,即每个验证码在成功验证后就会失效,再无法使用。以及对每个账户每天所能发送验证信息的次数加以限制(五到十次)。 (4)使用复杂的图片验证码:在选用图片验证码时必须使用复杂、不易辨别的图片,还有就是要加入其他元素如大小写字母、符号等机器较难辨别的图片。 (5)上述的所有措施以及校验的方法都应该在服务器端进行,避免被人恶意利用。4.4 本章小结本章主要介绍了针对数据篡改型、越权型、暴力破解型业务逻辑漏洞的一些基本的防范措施,利用这些措施可以有效地降低业务逻辑漏洞所带来的威胁。第五章 总结与展望5.1 工作总结2019年11月,本人开始了毕业设计以及论文。从一开始选题的迷茫经过与导师的交流从而确定了方向,再到各种资料的收集,然后到实验环境的搭建,终于在经过这段时间的研究以及学习中较圆满地完成了毕业论文各环节的工作。而在这段时间的工作中,从一开始的对socket代理的略知,经过认真学习,查阅大量的资料,让我基本实现了socket代理以及模拟请求的熟练应用。如今,Web应用在人们工作和生活中扮演着重要的角色,Web安全威胁不可忽视,每次新的技术面世,总会让新的攻击手段浮出水面。而Web的业务逻辑漏洞的攻击更是风险性高,因为如果不注意这些细节就容易被不法分子从多方面威胁,例如:在找回密码的功能模块上如果存在越权操作的话,那么用户账户安全将受到威胁,更甚则是管理员账户,进而威胁站点安全。而本文是对业务逻辑漏洞介绍、讲解对业务逻辑漏洞的检测方法以及实现检测方法的技术研究。本次研究实验的工作主要有五个方面:(1)对目前的基本的web安全漏洞进行归纳并简单介绍它们及其带来的危害,通过查阅资料完成了这项工作。(2)对业务逻辑漏洞做详细的介绍,包括它的定义、特点、原理以及所带来的危害,依旧通过查阅资料完成了这项工作。(3)查阅资料了解基本的渗透流程,再根据业务逻辑漏洞原理,推测出业务逻辑漏洞的检测流程,并举实例加以了验证。(4)根据检测流程,将对业务逻辑检测的方法拆分成2个步骤,分别为抓包和重发。抓包使用socket代理来获得http请求包,重发使用模拟请求来实现将请求包发给目标,从而实现对目标的检测。(5)根据原理将业务逻辑漏洞分为数据篡改型、越权型、暴力破解型,同时介绍了基本的防范措施。经过查阅了大量的资料和在导师、朋友的帮助以及自我的努力下,已基本完成既定的几个工作。5.2 展望对于业务逻辑漏洞的检测方法其实究其根本就是实现数据包数据修改并能发送给目标,但实现这个过程的方法却有许多种,其中涉及到的知识也是很广的。本文所实现的方法还是存在一些问题,还需要在未来进一步优化,通过实践以及大量的测试去改进它。在这里,对仍需要更进一步的钻研、发展的几个方面进行归纳;(1)当浏览器连接socket代理后,访问目标URL,工具会显示HTTP的request请求包,但却无法指定性地想暂停在哪一环节,在未来可以通过资料查询以及大量的实验测试将这一功能实现;(2)将代码程序进行简单的可视化;(3)目前发包这一功能与显示请求包的功能并没有很好地衔接,在未来可以通过资料查询以及大量的实验测试将两者能够更好地衔接起来。今后web依然是组成互联网的重要成分,对于web安全绝不可忽视,检测工具在未来也是必不可少的,将本文的小工具加以完善,就可以在未来更好发挥它的检测作用。参 考 文 献1 骇极安全,2019年网络安全大事记EB/OL,2 XFY逆世,常见的web安全性测试点EB/OL,百度文库3 刘杰,葛晓玢,关于Web安全漏洞分析及防范策略J,河北工程技术高等专科学校学报,2017,(4):32-344 净山,基于渗透测试的Web应用漏洞检测技术研究D,北京邮电大学,20155 薛楠凤,基于渗透测试的逻辑漏洞检测技术研究D,电子科技大学,20186 冯丹,web应用业务逻辑漏洞检测技术研究D,浙江工商大学,2017,50-667 熊世桓,用Socket编程实现TCP/IP网络接口J,贵州教育学院学报,2003,14(4):86-908 独上高楼,Python模拟HttpRequest的方法总结Z,9 刘军,基于HTML5的web应用安全漏洞检测工具的设计与实现D,北京邮电大学,201710 陶亚平,web应用安全漏洞扫描工具的设计与实现D,电子科技大学,201011 王斌,Web二阶安全漏洞检测研究D,广州大学,2018致 谢仿佛一眨眼的时间,我从踏入美丽的东软学院开始到现在已经快度过四个冬夏了。在这四年里,我认为是我人生中的一处重要拐点,它不仅仅标志我的成长,同时也证明了我自己的能力。在这里我很荣幸能够接触到这些不仅传授我知识,还能指导我的人生方向以及思想价值的老师们。他们使我坚定了自己人生应该走的方向,让我获得了前进的动力,同时也让我拥有了一段完美的大学生活回忆。完成毕业设计整个过程,从一开始与指导老师交流过后确定论文题目到项目的实现,再到论文书写完成,总共花费了四个月左右的时间。在这段时间里,我经历了很多的困难,但经过与指导老师的交流,我最终都成功地克服了它们。在这里我要感谢我的毕业论文导师董建虎老师,在确定题目、书写开题报告、书写论文的过程中,老师都给了我详细的指导,并提出了许多有价值的建议。当我在书写论文的过程中遇到困难的时候,老师都能很细心地指导我论文写作的思路和规范。在这里,我也要感谢那些给我毕设提供了帮助和意见的同事们、同学们以及那些参考文献的作者们,他们的帮助让我在书写论文的时候有了很大的灵感和思路。除之此外,还要感谢东软学院各位老师的辛勤工作,感谢学校提供给我一个环境优美、学习氛围良好的学习以及生活的平台,在学校我不仅仅学习到了很多专业的知识,同时也认识了许许多多的良师益友,同时也让我明白了什么叫“学海无涯”,在未来的日子里,我希望即便我离开了校园也能在今后的道路上多为广东东软学院增光添彩。在最后,我要特别的感谢我的父母亲。他们不仅在心理和物质上支持着我完成自己的学业,同时他们也给了我更多的父爱与母爱,谨以此文回报父母。在此,我要向所有在百忙之中、在这特殊时期审阅论文并参加答辩的专家教授们表示衷心的感谢!附 录附录1:# 获取头部信息def get_headers(self): header='' while True: header+=self.source.recv(BUFLEN) print header index=header.find('n') if index >0: break print "header" print header firstLine=header:index self.request=headerindex+1: self.headers'm

    注意事项

    本文(自营网站业务逻辑漏洞的检测与防范.docx)为本站会员(封****n)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开