用户登录,几乎是所有 Web 应用所必须的环节.Web 应用通常会加入一些验证手段,以防止攻击者使用机器人自动登录,如要求用户输入图形验证码.拖动滑动条等.但是,如果验证的逻辑仅仅在前端执行,是很容易被攻击者绕过的.iFlow 业务安全加固平台可以为只使用前端验证的应用打上动态虚拟补丁,使之成为需要前后端配合执行的验证逻辑,大幅度提高攻击者的攻击难度. 以某个开源购物网站为例,其管理员后台登录只使用了前端验证.我们尝试一下,如何在不修改网站源代码的前提下,使用iFlow实现前后端配合身份验证.…
在完成关键业务操作时,要求用户输入图形验证码是防范自动化攻击的一种措施.为安全起见,即使针对同一用户,在重新输入信息时也应该更新图形验证码.iFlow 业务安全加固平台可以加强这方面的处理. 某网站系统在登录时要求用户输入图形验证码.如果账号信息错误并得到系统提示后,用户重新输入账号信息时,仍可使用原来的图形验证码.我们看看如何利用 iFlow 使得图形验证码每次都得到更新. 一.原始网站 1.1 正常用户访问 用户在登录时输入了正确的图形验证码字符,如果提交的账号信息有误,系统提示登录错误.…
水平越权是指系统中的用户在未经授权的情况下,查看到另一个同级别用户所拥有的资源.水平越权会导致信息泄露,其产生原因是软件业务设计或编码上的缺陷.iFlow 业务安全加固平台可以缓解部分场景下的水平越权问题. 以某电商网站为例,其查看订单功能存在漏洞:仅依靠修改 URL 参数,任意登录用户不仅可以查看自己的订单信息,也可以查看到其他用户的订单信息.我们看看在网站自身存在缺陷的情况下,如何利用 iFlow 阻止水平越权的订单信息访问. 一.原始网站 1.1 正常用户访问 正常用户登录成功之后,进入个…
服务器端业务逻辑,特别是涉及数据库读写时,存在着关键步骤的时序问题,如果设计或代码编写不当就可能存在竞争条件漏洞.攻击者可以利用多线程并发技术,在数据库的余额字段更新之前,同时发起多次兑换积分或购买商品请求,从中获取利益.本文将讨论如何简单地使用 iFlow 应用安全加固平台的可编程特性,对竞争条件产生的支付漏洞进行防护. 一.原始网站 这是一个在支付环节存在竞争条件漏洞的站点:用户输入一个支付数值,系统将这个数值与余额比较,如果支付数值小于余额则允许支付,并从余额中减去支付数值. 攻击者编写并…
近年来,信息安全体系建设趋于完善,以注入攻击.跨站攻击等为代表的传统 Web 应用层攻击很大程度上得到了缓解.但是,Web 应用的业务功能日益丰富.在线交易活动愈加频繁,新的安全问题也随之呈现:基于 Web 应用所承载的交易特性,某些利用其业务逻辑设计缺陷来构造的针对具体业务的攻击逐渐成为主流,我们称之为业务层攻击. 业务层攻击在技术上具有以下几方面特点: 一.攻击数据缺乏明显特征 与传统的应用层攻击不同,业务层攻击的报文与正常业务的报文并无明显差别.因此,基于特征检测的各种扫描工具和防护设备往…
一般来说,业务流程中出现多个操作环节时,是需要顺序完成的.程序设计者往往按照正常用户的操作顺序实现功能,而忽略了攻击者能够绕过中途环节,直接在后续环节上进行非法操作.iFlow 业务安全加固平台能够在不修改网站程序的情况下,强制流程的顺序执行. 某网站系统在用户重置密码时,需进行算术题人机识别验证,再进入邮箱验证码验证环节,通过后才能真正地重置密码.由于程序设计不当,攻击者可以输入任意受害者账号,并正常完成算术题验证后,直接绕过邮箱验证码验证过程,进入到重置受害者密码的环节.我们接下来会看到如何…
在任何涉及交易的系统中,客户与商家之间的交易数据具有核心作用,如购买商品的价格.数量.型号和优惠券等.在客户挑选商品的过程中,这些交易数据逐渐形成:待客户提交订单时,交易数据被商家接收,形成双方认可的订单.交易数据在形成过程中必须要有可靠的临时存储,而不可靠的存储会允许攻击者提交伪造的交易数据,使商家利益受损. iFlow 业务安全加固平台 可以将交易过程中产生的数据动态保存在后端,这样攻击者仅仅依靠篡改前端数据,是无法通过后端的数据检查的. 以某个购物网站为例,在接收客户提交订单时,网站直接使…
大部分具有账号系统的应用都会提供重置用户登录密码的功能,常见方式之一是:用户输入自己的邮箱地址或手机号,应用向这个邮箱或手机号发送验证码,用户将收到的验证码输入应用中即可完成密码重置.这一过程容易因设计不周全而被攻击者加以利用.iFlow 业务安全加固平台可以为设计不当的应用打上动态虚拟补丁,使之防御可能的恶意利用. 以某网站为例,其邮箱密码重置功能就存在缺陷:获取验证码的邮箱和重置密码的邮箱可以不一致.攻击者能够给任意邮箱所代表的用户设置新的登录密码,从而冒充受害者登录.当然,我们也会介绍如何…
交易订单的重复提交虽然通常不会直接影响现金流和商品流,但依然会给网站运营方带来损害,如消耗系统资源.影响正常用户订单生成.制造恶意用户发起纠纷的机会等.倘若订单对象是虚拟商品,也有可能造成实际损失.订单重复提交的检查工作本应该由网站自身实现,而 iFlow 业务安全加固平台则可以为未实现这项功能的网站提供防护. 以某开源购物网站为例,攻击者能够轻松实现订单的重复提交.我们看看如何在不修改网站源代码的前提下,使用 iFlow 通过透明加入一次性令牌来阻止订单的重复提交攻击. 一.不检查订单重复提交…
自定义 checkbox 新玩法 ? 第一步:selector 编写 drawable/selector_checkbox_voice.xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="…