每日打卡学习笔记(二)

今天学习第十一章攻击应用程序逻辑和计算机专业常用语言。

逻辑缺陷的本质在于代码中的简单错误,且更加难以辨别(每种缺陷都是唯一的),没有共同的“签名”,具有多样性,错误假设也会导致大量安全漏洞。

一些逻辑缺陷实例可以了解一下,征求提示,欺骗密码修改功能,直接结算,修改保险单,入侵银行,规避交易限制,获得大幅度折扣,避免转义,避开输入确认,滥用搜索功能,利用调试信息,与登陆机制竞赛。

逻辑缺陷不能完全避免,但有一些方法可以降低风险,比如将应用程序每一个设计信息详细记录在文档中(包含相关联的假设)。所有源代码有明白的注释。在审核中,想到设计中每一种假设及被违背后的情况等等。

问题:

1、强制浏览包括避开浏览器导航对应用程序功能访问顺序实施的任何限制。应使用强制浏览测试多阶段过程或其他区域中的错误假设。通常,这些假设会导致可以通过使用强制浏览加以利用的访问控制漏洞。

2、如果在实施长度限制之前将引号配对,则通过在配对的两个引号之间截短输入,就可以在输入中引入奇数单引号(见第9章)。

如果在配对之前应用长度限制,仍然可以通过在有效载荷的开头插入大量单引号,使该有效载荷充分放大,并使用位于有效载荷末尾的专门设计的数据来溢出缓冲区,从而达到利用任何缓冲区溢出条件的目的。

3、应使用所控制帐户的证书,多次重复登录过程,并以特定方式修改请求:

(1)对于提交的每个参数,尝试提交一个空值,完全省略名称/值对,并使用不同的值多次提交同一数据项。

(2) 如果登录过程包括多个阶段,应尝试以不同的顺序执行这些阶段、完全跳过单个阶段、直接进入任意阶段,以及在不需要参数的阶段提交参数。

(3)如果多次提交了同一数据项,应进行探查,以确定如何处理每个值,以及在一个阶段确认的数据在后续阶段是否仍为可信数据。

4、应用程序很可能单独执行这两个检查,根据一个用户名确认密码,根据另一个用户名确认令牌值,然后为其中一个已确认的用户名创建通过验证的会话。

如果拥有自己的物理令牌的应用程序用户没法获得了其他用户的密码,他们就可以作为该用户登录。相反,取决于该机制的运行方式,能够读取其他用户的令牌值的用户或许可以作为该用户登录,而无需了解后者的密码。该解决方案的总体安全状态将因此被明显削弱。

5、这种行为表示错误消息功能不是线程安全的,将返回由任何用户生成的上一个错误的详细信息。应同时使用两个不同的会话进行深入探查,以确认是否确实出现了这种情况。如果确实如此,应使用一段脚本不断触发一条详细的错误消息,并记录其内容中的任何差异,以获取与其他应用程序用户有关的有用信息。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值