本地限制 抓包绕过
1、背景介绍
出于各种原因,通常情况下我们需要对用户在网页中的各种操作及输入进行限制,以促使用户的输入符合预期。如限制用户输入邮箱地址,手机号码,限制用户上传的文件类型,要求用户输入正确的验证码等等。
为了实现这个目的,开发人员一般都会通过在网页中插入特殊的javascript脚本来达到限制用户的输入的作用。但是部分开发人员过分依赖和相信在前端插入javascript脚本的方法,忽视了在后端对用户输入的处理,导致漏洞。
2、漏洞成因
在服务器后端缺乏对于用户输入的处理和限制或者处理和限制不严格。
3、漏洞扫描及利用
漏洞扫描
无通用的扫描方法
漏洞利用
本地限制的绕过方法通常有以下几种:
- 使用burpsuite等工具代理修改浏览器传输的数据包,或者使用wireshark等工具抓取浏览器的数据包再改包重放(最常见的方法)
- 禁用浏览器的javascript使本地限制脚本失效
- 使用浏览器的控制台修改网页和代码使本地限制失效
- 使用浏览器插件对网页进行修改或者对数据包进行修改使限制失效
4、漏洞危害
本地限制不严多数情况下危害较小,但某些情况下影响重大:
- 文件上传限制不严可导致用户上传任意文件,如果带有恶意代码的可执行文件被上传到服务器上可以导致服务器被入侵。
- 验证码限制被绕过可以导致用户密码被爆破或者撞库,可以导致用户账户被盗取。
5、实际案例
绕过文件上传限制
联想某分站文件上传绕过可获得root权限(可导致内部员工信息泄漏)
大地数字影院本地验证上传任意文件,已shell大量vip信息泄露
河北、天津、山西电信商务领航绕过javascript本地验证上传漏洞
验证码绕过
6、修复方案
在服务器的后端对用户数输入进行严格限制并对用户权限进行验证。