网站页面上的登录操作,通常都是输入帐号密码,传输至网站后台验证。
在网站页面、数据传输中,通过技术手段,都可以得到用户输入的信息,并可以修改,从而发起网络攻击。典型的如:使用自动化工具或脚本进行的暴力破解、撞库。这是很常见的网络安全攻击方式。一旦成功,帐号密码被获得,后果很严重。
接下来,演示一种防数据在传输入中被篡改的安全防护技术。
如下图,在某网站登录页面,可以看到表单数据中有email、pwd等字段,即帐号密码。
攻击者,可能使用拦截、burp、自写脚本的方式,向后台传递表单数据,尝试登录。
(注:图中网站仅做测试使用,并不表示目标网站存在安全漏洞)
攻击原理,是对email、pwd等字段重新进行赋值,并重新提交给网站后台。
TIP:或许有人说:密码字段都会加密的,怎么重赋值呢?
当然可以,加密操作,是在页面进行的,只需找到加密函数,即可知道加密算法。甚至直接调用加密函数即可。
在本例中,确实pwd字段有被加密,但很容易找到加密函数,如下:
加密函数:
如何才能提高安全性呢?这正是本文想说的。
直入正题:可以通过技术手段,隐藏email、pwd等表单内容,使无法定位到表单数据,也就无法修改字段内容了。
效果如下:
且不影响正常登录功能使用,如下图,防护后的登录操作:
登录失败:
登录成功:
登录成功:
可见经保护后,不影响正常的登录操作。
本方法,可防burp等拦截并篡改数据的工具或脚本,可用于防暴力破解、撞库、嗅探等攻击。