客户机上的代码非常容易遭篡改,重要的任务应当在服务器上运行。
攻击4:绕过对输入选项的限制
如何使用这种攻击?
在提供了任何输入方式的情况下,就可以使用绕过对输入选项的限制攻击。在多数应用程序中,输入控件构成了其中的大部分内容,通常有复选框、单选按钮、下拉菜单等,当然也包括标准的文本输入框,但是限制了可以输入的最大文本长度。
例如当当网用户注册页面,如下图所示:
通过用firefox插件view source chart查看HTML源代码,可以看到对email地址、登录密码、确认密码、验证码均做了长度限制,最大长度分别为40、20、20、4如下图所示:
登录页面,用户名和密码也有最大长度限制,如下图所示:
登录页面html源代码:
如何实施这种攻击?
绕过对输入选项的限制目的就是找出应用程序中在客户机上执行的输入验证机制,并且将其绕过。
有两种绕过输入验证的方法:
1、修改页面源代码
2、在用户提交表单时创建(或在中途修改)请求
可以使用web代理修改提交的请求,由于浏览器本身并不能防止攻击者提交修改过的请求,同时,由于此时web应用程序在客户机端的部分并没有被执行,所以其中的验证代码等根本无法发挥作用。
如何防范这种攻击?
客户机是不可信任的,任何在客户机上对用户输入进行的限制都需要在服务器端进行再一次验证,这样,恶意的攻击才不至于轻易地得逞。
【说明】以上来自《web入侵安全与对策》一书学习笔记及摘录整理汇总,特此说明!