资源描述
逻辑漏洞,王朋涛,深信服北京安全团队,逻辑漏洞概述,逻辑漏洞攻击流程,逻辑漏洞攻击之应用程序解析,逻辑漏洞攻击之逻辑漏洞示例,逻辑漏洞攻击之挖掘教程,商业逻辑漏洞攻击,逻辑漏洞攻击防御,逻辑漏洞探测工具,总结,培训提纲,逻辑漏洞概述,逻辑漏洞概述,逻辑漏洞的出现,所有的应用程序都通过相关的逻辑实现各种功能。而编程实际上就是将这些功能分解成独立、简单的逻辑单元,并用代码实现。,大量的逻辑操作加上不同背景的开发人员,增加了逻辑缺陷出现的概率。,逻辑漏洞的本质,主要源于设计者或者开发者在思考过程中做出的,特殊假设存在明显或隐含的错误,。,逻辑漏洞概述,逻辑漏洞的特点,普遍存在性:由于功能的实现需要大量的逻辑操作,同时受制于程序员的背景,这类缺陷普遍存在于各类应用程序中。,不固定性:或者称作,“,十分有针对性,”,,因为每一种逻辑缺陷似乎都是唯一的,它是基于逻辑操作,不同的功能逻辑不同,因此无法用一般的工具发现他们。,隐蔽性:大多数的逻辑漏洞都十分隐蔽,它存在于操作关系当中,甚至是属于应用程序正常的功能。,逻辑漏洞攻击流程,逻辑漏洞攻击流程,逻辑漏洞攻击之应用程序解析,逻辑漏洞攻击之应用程序解析,攻击一个应用程序,首先要分析这个应用程序,了解清楚其本身的功能、行为以及使用的技术,有针对性的攻击,那么成功的机会就变大了。下面就是针对逻辑攻击来说应该考虑的3个方面:,了解应用程序功能。,寻找数据的输入点。,确定业务操作流程。,应用程序解析之了解应用程序功能,大多数情况下,应用程序的功能我们可以通过,web,浏览的方式获得,其基本方法就是从主页面开始,查看网站标题或者首页导航菜单,以及多级页面的浏览遍历,就能大致知道这个网站的基本功能,如下图所示,就可以看出这个网站是一个在线票务类的网站。,通过网站自带的,网站地图,就能快速的了解其一些基本的功能。,应用程序解析之寻找数据的输入点,寻找数据输入点,就是寻找各种输入框(可编辑的、不可编辑的、隐藏的、显示的、脚本生成的)或者可点击的按钮等。简单点的办法就是使用爬虫工具进行web站点扫描,所有url地址本身、url的各个参数信息以及HTTP头部信息都属于输入点。但是这种情况,效率较低,若只是简单的测试某个流程是否有逻辑漏洞,就不推荐使用这种方法,若是要完整的检测安全性,则这种扫描是很有必要的。,应用程序解析之确定业务操作流程,通常情况下,注册个测试账号(若需要),一般按照应用程序正常的流程完全的走一遍,在操作的同时,把所有操作步骤的数据包拦截下来,以便后续分析流程步骤涉及到的所有数据操作以及数据传输。,若应用提供了操作步骤提示信息,则也可大致了解到每个业务的操作流程,了解到操作流程后,也就可猜测出可能存在哪个方面的逻辑漏洞,达到快速渗透的目的,如下图:,逻辑漏洞攻击之逻辑漏洞示例,(演示示例均引用自乌云),应用程序解析之逻辑漏洞示例,1、不校验原始数据引发的逻辑漏洞。,比如乌云上的,114票务网,的示例(www.wooyun.org/bugs/wooyun-2014-051779)。114票务网对修改密码的时候不进行原密码验证就可直接修改任意用户密码,如下图:,应用程序解析之逻辑漏洞示例,2、由于对验证码验证次数的不限制,可导致穷举出验证码,亦可修改任意用户密码。,比如乌云上的,易宝支付,任意修改密码漏洞的示例(www.wooyun.org/bugs/wooyun-2010-060501),易宝支付对手机认证码的验证次数不限制的原因,4位数字验证码可以在10分钟穷举出用户密码,原文如下图:,应用程序解析之逻辑漏洞示例,3、操作数据在页面间跳转传输过程未进行有效性校验,导致可任意修改敏感数据。,比如乌云上的,中国联通某省套餐购买逻辑漏洞+订单泄露,的示例(www.wooyun.org/bugs/wooyun-2010-084515),套餐购买提交订单时,不对商品订单的金额进行校验,用户可随意修改订单的价格(甚至为负数),如下图(跨片):,应用程序解析之逻辑漏洞示例,应用程序解析之逻辑漏洞示例,逻辑漏洞攻击之挖掘方法,逻辑漏洞挖掘之确定应用所使用的技术,实际分析中可参考以下基本步骤:,确定客户端技术,如表单校验形式(客户端或服务端校验)、脚本类型、,cookie,规则、,Java applet,、,ActiveX,控件与,Flash,对象。,确定服务器端技术,如脚本语言(PHP、JSP、ASP等)、应用程序平台、数据库类型及电子邮件等交互系统。,检查应用程序响应中的,HTTP,消息头,如Server、Referer等。,运行扫描工具对服务器做,“,指纹识别,”,。,分析所有获得信息,包括文件扩展名、目录列表或,URL,规律。检查所有会话令牌和其他,cookie,名称等。,获取分析第三方代码组件的脚本、参数及行为等,发现应用程序隐藏的内容和功能。,逻辑漏洞挖掘之测试项,测试客户端输入验证,测试客户端数据传输,测试客户端组件逻辑,测试多阶段过程逻辑,测试不完整输入处理,测试信任边界,测试业务逻辑,逻辑漏洞挖掘之测试客户端输入验证,逻辑漏洞挖掘之测试客户端输入验证,在客户端输入上,常采用的手段是,HTML,表单、客户端脚本(Javascript、VBScript等)以及一些隐藏或禁用元素等。,开发人员使用这些方法的假设为:用户的输入经过了客户端的限制,从而可以保证数据的合法性。,逻辑漏洞挖掘之测试客户端输入验证,举例:,功能,:页面输入字段为防止各类攻击(,eg,:,SQL,注入),采用了单引号转义,将两个单引号构成一个原义单引号,同时限制了输入长度为,128,字符。,假设,:对于攻击的防御采用转义,则攻击者无法实现单引号的输入攻击。,攻击,:考虑以下情况,如果经过应用程序单引号转义后的字符串,提交给了截断模块,那么是否可以绕过限制。,逻辑漏洞挖掘之测试客户端输入验证,如果我们考虑用户名修改为:,adminnnnnnn 127,个字符,由于先做转义再截断,则输入数据依然是,adminnnnnnn 127,个字符,配合,password,字段输入,or 1=1-,-,则查询语句变成:,SELECT*FROM users WHERE name=,adminnnnnnn127,个字符,and password=,or 1=1-,-,由于在数据库中连续两个单引号作为转义,所以会被当做数据而非结构,则数据库实际查询的用户名为:,adminnnnnnn 127,个字符,and password=,因此我们可以构造,or 1=1-,部分,实现注入查询。,逻辑漏洞挖掘之测试客户端输入验证,总结,,在实际分析中可参考以下基本步骤:,在用户输入提交给服务器之前,确定使用长度限制和,JavaScript,脚本等进行的数据输入检查条件。,通过提交客户端限制的输入,轮流测试每一个受影响的字段,确定服务器是否使用相同的输入确认。,检查确认,HTML,表单禁用元素,修改其数据,与其他表单一起提交,以确定该元素是否会对应用程序的逻辑产生影响。,删除、修改或禁用客户端脚本,确定服务器是否只依赖客户端的检查。,利用客户端本身的功能,如转义、长度限制等进行避开输入以改变程序执行逻辑。,逻辑漏洞挖掘之测试客户端数据传输,逻辑漏洞挖掘之测试客户端数据传输,应用程序通常以终端用户无法查看或修改的方式向服务器传送数据。,通常开发者认为所采用的传输机制将保证传输过程中数据不被修改。,一般通过客户端传送数据的方式有隐藏表单字段、,HTTP cookie,、,URL,参数、,Referer,消息头、模糊数据、,ASP.NET ViewState,等。,逻辑漏洞挖掘之测试客户端数据传输,举例:,功能:,当前有一个用户登录系统,登录成功后会显示用户欢迎。用户名等信息以,POST,方式提交:,假设:,开发者假设用户数据传输过程中是安全的。,逻辑漏洞挖掘之测试客户端数据传输,攻击:,如果我们使用,Burp Suite Proxy,拦截传输过程中请求:,逻辑漏洞挖掘之测试客户端数据传输,修改用户名和密码后,forward,,查看结果:,逻辑漏洞挖掘之测试客户端数据传输,总结,,实际分析中可参考以下基本步骤:,在应用程序中,确认隐藏表单字段、,cookie,和,URL,参数明显用于客户端传送可控数据的所有情况。,根据以上数据出现的位置极其名称与值,尝试确定其在应用程序逻辑中发挥的作用。,修改在应用程序相关功能中的值,确定应用程序是否处理字段中提交的任意值,并确定这样做是否可以干扰其正常逻辑。,如果应用程序通过客户端传输模糊数据,我们依然可以使用各种方式攻击它。如:如果模糊处理,则可以尝试破解算法,提交任意数据。如果采用安全加密,则可使用其他加密块替换提交以攻击程序逻辑。,逻辑漏洞挖掘之测试客户端组件逻辑,逻辑漏洞挖掘之测试客户端组件逻辑,客户端组件及控件也是一种收集、确认并提交用户数据的主要方法。,由于速度和用户体验方面的原因,之前在服务器端处理的任务将在客户端执行,这将有意无意的增加客户端的风险。,开发者,假设操作的用户都是可信任的或者浏览器扩展会自行防御恶意企图,。,由于相对,HTML,表单和,JavaScript,确认机制,控件方式更加不透明,这也使得开发者认为控件的确认更加安全。,逻辑漏洞挖掘之测试客户端组件逻辑,举例:,功能:,购物网站一般都有购物车功能,这些功能大多是由控件实现,同时控件中会加载一些购物策略,,eg,:购物满多少可以打几折等,通过分析我们也许可以直接获得低折扣的商品价格。同时在结算页面确认时还可以选择商品数量及退订商品。,假设:,当购物车的商品满,1000,元的时候,可以享受,8,折优惠,当满,2000,元的时候可以享受,7,折优惠,同时在提交结算页面时计算最终折扣。,逻辑漏洞挖掘之测试客户端组件逻辑,攻击:,以上假设没有考虑到购物者放入商品后结算确认时再修改商品的情况,因此购物者可以将大量商品放入购物车以获得最优折扣,在结算确认页面再将部分商品退掉或修改商品数量,这样就可以获得最优的折扣。,以上的例子举的比较浅显,实际的控件功能逻辑更加复杂,同时数据可能会采取模糊或者加密处理,因此实际的分析中应当更加严谨。,逻辑漏洞挖掘之测试客户端组件逻辑,总结,,实际分析中可参考以下基本步骤:,使用代理工具对客户端和服务器端的流量进行监视。如果发现数据被序列化,则可以使用某种反序列化工具或插件。,浏览控件在客户端的所有功能,并使用代理修改关键请求或者服务器响应,以确认任何可以改变数据逻辑的功能。,反编译客户端控件,分析相关代码,确认其中的输入限制及其他逻辑方式。,逻辑漏洞挖掘之测试客户端组件逻辑,附加调试器,查找监视关于安全及业务逻辑的功能和值,并设置断点,修改参数或返回值,尝试逻辑攻击。,借助客户端组件或控件的调用代码,执行有目的的数据调用及输入或者进行模糊输入测试,并监控处理结果。,尝试发现各种隐藏的功能、参数或资源,通过开启功能或调用资源等获得服务器资源。,尝试通过组件功能获得其他相关信息(,eg,:对手信息、预发布信息等)。,逻辑漏洞挖掘之测试多阶段过程逻辑,逻辑漏洞挖掘之测试多阶段过程逻辑,应用程序的最终提交需要经过多个阶段的信息获取及确认(,eg,:找回密码、订单提交)。,针对这类功能,开发人员默认前一阶段提交过来的数据是可信的,这种假设也就造成了大量的多阶过程逻辑漏洞。,举例:,功能:,一般的网上购物流程如下:,浏览商品并添加到购物车,确认订单,输入支付信息,输入交货信息,逻辑漏洞挖掘之测试多阶段过程逻辑,假设:,开发者会认为用户总会按照预定的顺序执行每一个步骤,因为这是应用程序通过显示在浏览器中的导航链接和表单向用户提供的处理顺序。因此,开发者认为任何完成订购过程的用户一定已经提交了正确的支付信息。,攻击:,这里开发者的假设存在明显的缺陷,用户控制着他们向应用程提出的每一个请求,因此能够以任何顺序访问订购过程的每一个阶段。如果直接从步骤,2,进入步骤,4,,攻击者就可以生成一个最终确定交货但实际并未支付的订单。,以上的攻击方法叫做强制浏览,包括突破浏览器导航对应用程序功能访问顺序实施的任何限制。,逻辑漏洞挖掘之测试多阶段过程逻辑,总结,,实际分析中可参考以下基本步骤:,如果一个多阶过程需要按照预定的顺序提交一系列请求,尝试按其他顺序提交这些请求。尝试完全省略某个阶段,几次访问同一个阶段,或者推后访问前一个阶段。,确保应用程序访问不同阶段所使用的机制。这些阶段可能通过一系列指向特殊,URL,的,GET,或,POST,请求进行访问,或者向同一个,URL,提交不同的参数。被访问的阶段可以通过提交的参数中指定名称或索引来确定。,逻辑漏洞挖掘之测试多阶段过程逻辑,尝试提取某一阶段的参数,并在另一个阶段中提交这些参数。如果相关数据被应用程序更新,应当确定是否可以利用这种行为破坏应用程序的逻辑。,根据执行功能的情形,了解开发者做出的假设及主要攻击面的位置。设法找到违反这些假设以在应用程序造成反常行为的方法。,如果应用程序表现出一系列异常现象,,eg,:提示错误、变量未赋值或初始化等。寻找有用的错误消息及调试结果,可以通过他们进一步了解该功能的内部机制,从而调整攻击方向和方法。,逻辑漏洞挖掘之测试不完整输入处理,逻辑漏洞挖掘之测试不完整输入处理,客户端完成对用户输入的收集及确认,必要时会对数据进行计算或简单的功能处理,部分情况下应用程序的处理过程和某些数据是否输入有关,,eg,:不勾选发票项,则不走发票流程。,这些功能的处理是本着用户并不知情关键数据对功能具体影响的前提假设(客户端对用户屏蔽处理机制),这也会引入大量安全问题。,逻辑漏洞挖掘之测试不完整输入处理,举例:,功能:,应用程序为用户提供密码修改功能。它要求用户填写用户名、当前密码、新密码以及新密码确认。,同时应用程序还为管理员提供密码修改功能,它允许管理员修改任何用户的密码,而不需要提供用户当前密码。这两个功能在同一个服务器端脚本中执行。,逻辑漏洞挖掘之测试不完整输入处理,假设:,应用程序为用户和管理员提供的界面仅有一点不同:在管理员界面中没有用于填写现有密码的字段。而后端采用的是同一个脚本。它通过请求中是否包含当前密码来确认请求是来自用户还是管理员。,攻击:,一旦确定了假设,攻击就变得十分容易。普通用户可以通过提交不包含现有密码的请求修改任何用户的密码,从而完全控制用户账户。,逻辑漏洞挖掘之测试不完整输入处理,总结,,实际分析中可参考以下基本步骤:,轮流测试每一个参数,从请求中删除参数的名称或值,监控应用程序的响应,查找所有行为异常或错误消息,以获得和应用程序逻辑有关的信息。,一次仅修改一个参数,确保达到应用程序中所有与参数相关的代码路径。,如果所操纵的请求属于一个多阶过程,应测试整个过程。因为应用程序可能将前一个阶段的数据保存在会话中,然后在后一个阶段处理。,逻辑漏洞挖掘之测试信任边界,逻辑漏洞挖掘之测试信任边界,信任边界指在什么地方更改信任级别,大部分情况下表现为访问控制权限的更改。,应用程序对信任边界的状态转换处理往往存在着看似安全的假设,因此分析清楚应用程序的信任边界将有助于发现此类逻辑缺陷。,举例:,功能:,应用程序使用一种安全、多阶的登录机制,要求用户提供多个不同的证书才能获得访问权限。,逻辑漏洞挖掘之测试信任边界,假设:,应用程序在实现登录认证的过程中将通过验证用户的有关标示符临时保存在一个静态(非会话)变量中,然后执行其他,“,准备,”,工作,之后应用程序再读取这个变量的值。由于这个间隔时间十分短暂,因此开发者认为是安全的。,攻击:,如果出现这样一种情况:用户集中登录,这个时候就会出现,变量改写后,又被另一个登录用户改写,因此当前一个用户回来取变量值的时候,用户分配到的就是后一个登录者的会话,同时获得后者的访问权限。,逻辑漏洞挖掘之测试信任边界,总结,,实际分析中可参考以下基本步骤:,了解应用程序如何处理不同用户信任状态之间的转换。,通过在一个区域积累相关状态,在信任边界之间进行不恰当的转换,然后以正常不被允许的方式切换到另一个区域。,确定是否可以利用更高权限的功能直接或间接访问或者猜测某些信息。,逻辑漏洞挖掘之测试业务逻辑,逻辑漏洞挖掘之测试业务逻辑,业务逻辑攻击,其特点是利用正常的、合法的业务流程进行攻击,而非破坏逻辑。,举例,:用户登录为防止自动化登录攻击而设定了锁定次数,当正常登录错误达到一定次数后则封锁该用户一段时间。,假设:,此功能的假设是防止恶意登录攻击,从而保护用户账户安全。,逻辑漏洞挖掘之测试业务逻辑,攻击:,我们考虑另一种情况,假设某电商网站做活动,进行某件商品的竞拍,出价最高者获得此商品。如果在接近竞拍结束的时候,竞争对手的价格比自己高,而再次出价竞争对手也可能加价,这种情况下我们就可以利用业务逻辑攻击,故意使用错误的密码登陆对手账户另其锁定,无法再次出价,从而顺利的获得该商品。,逻辑漏洞挖掘之测试业务逻辑,总结,,实际分析中可参考以下基本步骤:,分析应用程序的正常逻辑、目的以及使用场景。,尽量将其应用场景进行扩展,并结合具体业务内容进行分析。,分析是否可以使用一连串的交易达到一种状态,从而完成预期目的(,eg,:多次低额转账代替单次大额转账)。,如果应用程序根据用户控制的数据或操作确定处理方式或其他敏感内容,应首先分析应用程序使用的算法及需要调整的逻辑。,努力想办法操纵应用程序的行为,使应用程序进行的调整与开发者最初设定的标准相矛盾。,商业逻辑漏洞攻击,商业逻辑漏洞攻击概述,当前应用逻辑攻击发展出来的一种新型攻击方式称之为,BLA,,即,Business Logic Attacks(,商业逻辑攻击,),的缩写,这是由世界著名数据安全公司,Imperva,在,2011,年,6,月至,11,月期间所发现的一种新型网络攻击方式,(,详情参阅黑客发现攻击新手段-关注业务逻辑攻击,),,而这种攻击很可能将成为未来互联网世界里商战的雏形。,商业逻辑漏洞攻击概要,攻击分类,攻击目的,攻击手段,实际案例,未来分析,商业逻辑漏洞攻击,攻击分类,现在有两类商业逻辑攻击比较流行:电子邮件提取和垃圾评论。,未来还会出现以操纵商业进程为目的的攻击手段,这类攻击一旦发展起来,将对互联网商业造成巨大的威胁。,攻击目的,电子邮件提取:建立垃圾邮件发送列表。,垃圾评论:一方面导入流量,使得其获益的网站在搜索引擎的排名靠前,一方面让搜索引擎更多搜到获益网站,从而诈骗潜在消费者。,商业逻辑漏洞攻击,攻击手段,电子邮件提取:通过电子邮件地址抽取实现的攻击,它模拟真实用户访问客户网站,(,论坛、博客、社交网络,),,对客户,Web,网站中的电子邮件地址进行简单抽取和分类,而这一系列动作与正常用户访问几乎完全一样,很难辨识出其真实目的。,垃圾评论:攻击者会在某些排名靠前的论坛注册,发表、回复某些言论,内嵌恶意链接地址来改变搜索引擎结果。为了让所发帖子处于显著位置被更多网友看到,恶意攻击者会发起投票,或想办法设置成置顶帖。,商业逻辑漏洞攻击,实际案例,在,2006,年,一家移动运营商(假设叫,FlawedP,)为其客户增加了一项,webmail+SMS,的服务,开通和使用流程如下:,新客户可以凭,SIM,卡开通一个以,FlawedP,为域名的免费、永久,email,账户。,这个,email,账户在用户,SIM,卡转到其他运营商时仍会保留。,由于,SIM,卡注册到了,FlawedPhone,,所以每次收到,email,邮件,,FlawedPhone,都会给客户发送一条,SMS,,内容包括发件人和邮件主题。,同时,SMS,程序会每,8,个小时检查一下当前合法用户列表。,商业逻辑漏洞攻击,攻击步骤,:,攻击者买一张新的,FlawedPhone SIM,卡。,攻击者马上将卡转到另一个运行商,这个运营商会在客户每收到一条,SMS,信息时支付给客户,0.05,欧元。,一旦转卡完成,攻击者就会向,FlawedPhone,的,email,账户发送数以千计的邮件。,在,email+SMS,应用程序检查并更新合法用户列表前,攻击者最多拥有,8,个小时的空档。,到发送截止时,攻击者的账户上大约已经有,50-100,欧元了,然后这个,SIM,卡就可以放到,eBay,上出售了。,商业逻辑漏洞攻击,未来分析:,据统计,这些商业逻辑攻击在恶意攻击流量中占到,14%,。,黑客可以利用应用程序截获私人信息,进行扭曲,并外泄给其他更多的用户,而这些行为通常不受安全控制。,一旦商业逻辑攻击,(BLA),与高级可持性,(APT),类攻击相结合,所爆发出来的网络商战威力将不容小视。,逻辑漏洞攻击防御,逻辑漏洞攻击防御概述,鉴于逻辑漏洞的本质,即使实施安全开发标准、使用代码审查工具或常规渗透测试,我们仍然无法避免这种缺陷。逻辑漏洞的多样性特点使得探查与防止他们往往需要从各个不同的角度思考问题,这预示着在很长一段时期内,逻辑缺陷仍将大量存在。,基于开发流程及设计的预防,基于网络行为识别的防御,基于开发流程及设计的预防,遵循以下最佳实践可以显著降低在应用程序中出现逻辑缺陷的风险:,确保将应用程序中各个方面的设计信息清楚、详细的记录在文档中,以方便其他人员了解设计者做出的每个假设。,要求所有源代码提供清楚的注释,包含但不限于以下内容:,每个代码组件的用户和预计用法。,每个组件对它无法直接控制内容做出的假设。,清楚记录所有调用组件的代码效果。,基于开发流程及设计的预防,在以安全为中心的应用程序设计审核中,考虑在设计中做出的每一个假设,并想象假设被违背的每种情况。,在以安全为中心的代码审查过程中,从各个角度考虑一下两个因素:,应用程序如何处理用户的反常行为和输入。,不同代码组件与应用程序功能之间相互依赖、相互操作可能造成的不利影响。,基于网络行为识别的防御,虽然这种防御存在一定的精确性,但可以弥补应用程序开发过程中遗漏或忽视的安全问题。,信誉机制的监测:获得并使用信任来源的主机,IP,白名单。,高点击率:流量整形是自动化攻击最基本的指示。一旦超过与其相关的临界值,(,例如,每分钟点击,3,次,),,应用程序就应该延迟或阻止与应用客户端信息交换。,访问流量的技术属性:软件工具产生的流量通常具有技术特征,(,例如特定的,HTTP,头,),,不同于一般浏览器所产生的流量。如果这不是预期的使用场景,阻止该流量。,基于网络行为识别的防御,攻击流量的地理信息对即时做出数据安全对策有所帮助。例如,经分析的业务逻辑攻击拥有独特的地理特征。,商业行为的重复:例如,多次登陆失败表明密码受到恶意攻击。当然,你的,Web,应用安全设备必须能够识别出这些,“,差异或者异常的表现,”,。,质疑应用程序的网络客户端:测试你的应用程序是否真的与浏览器进行交互。例如,“,虚假,”,浏览器没有对,Java,语言的执行能力。,检测确有真人在操作:通过,CAPTCHA(,全自动区分计算机和人类的图灵测试,),检测终端用户是否是真人。,逻辑漏洞探测工具,逻辑漏洞探测工具列表,Burp Suite,Fir,fox及其各类插件,如Web Developer、Tamper、Hack Tool等等,逆向及调试工具,逻辑漏洞探测工具之,Burp Suite,Burp Suite,具有,HTTP,协议分析的多个组合套件,在实际的分析过程中灵活应用,将会给分析工作带来极大的便利。,逻辑漏洞探测工具之,Fire,fox,逻辑漏洞探测工具之逆向及调试工具,对应用程序的分析中,组件及控件的分析有时候需要进行逆向或附加调试,以获得应用程序的调用过程和功能逻辑。,针对不同的编程语言及控件技术有不同的调试方法,,由于这里不是重点,暂不做工具推荐,。,总结,总结,介绍了逻辑缺陷出现的原因、本质以及特点,介绍了逻辑缺陷的测试流程以及测试项,介绍了逻辑缺陷的分类及具体分析方法,并举例加深理解,介绍了逻辑攻击的防御方法,介绍了逻辑探测的常用工具,
展开阅读全文