web渗透--53--防御应用程序滥用

1、问题描述

合法函数的滥用和非法使用可以试图枚举web应用程序,找出弱点,并利用漏洞进行攻击。应用程序应该进行测试以确认是否有保护应用程序的防御机制,如果缺乏主动防御,将允许攻击者发现漏洞而没有任何追踪线索。应用程序的所有者因而不会知道他们的应用程序遭受攻击。

2、测试示例

经过身份认证的用户进行以下序列操作:

1、尝试访问一个不允许他下载的文件的ID
2、使用单引号(’)代替文件的ID号
3、将一个GET请求改为POST请求
4、添加一个额外的参数
5、直接复制参数的名称/值

如果应用程序正在监控,在第5项事件后就可以确认这个用户是一个攻击者。例如:

1、禁用关键功能
2、进行其余功能的认证步骤
3、对每一个请求的时间、响应周期增加延迟
4、开始记录有关用户交互的其他数据(例如缺少滤处HTTP请求头、body和响应的body)

如果该应用程序不以任何方式响应,攻击者可能继续滥用功能并提交明显的恶意内容到应用程序。

3、防御应用程序滥用测试方法

web应用程序的其他测试执行是不能得出这个测试结果的,虽然所有其他测试的执行可能表明应用程序已经内置了防御的措施:

1、更改响应
2、阻挡请求
3、注销账户或锁定账户的行为

这些可以在本地执行,常见的本地(每个函数)防御有:

1、拒绝含有特定字符的输入
2、多次认证失败后临时锁定账户

仅有本地化的安全控制是不够的,通常在滥用的情况下无法实现防御,例如:

1、强制浏览
2、绕过前端进行输入验证
3、多重访问控制错误
4、额外、重复、或缺少参数名称
5、多次输入验证或业务逻辑验证失败
6、收到结构化数据格式无效(如JSON、XML)

你可能感兴趣的:(web渗透)