目前网络安全形式严峻,很容易搞出用户名和密码,如果再扫到管理后台,数据信息很容易丢失,所以我们不能将所有的希望寄托在MD5加密。

我一点小想法如下:

登陆模型:  用户名 ,密码  ,验证码

验证模型:  先检查验证码,再将验证码进行一系列的组合运算,比如 左数第一位 和左数第二位相乘,再加上右数第一位【也就是搞一个复杂的运算模型】,

然后再并在密码处,进行登陆验证!

举例:

用户:  admin   密码: 123456  验证码:9852

验证码进行变形,8*9与9*2 【左数第二位 * 左数第一位 合并 左数第一位 * 右数第一位】 变形后得到:7218  【当然你可以做更多的更复杂的数学运算】,然后得出密码为: 1234567218 ,然后用 admin  1234567218   9852  登陆

就算你 爆破了管理密码:

输入 admin  123456 9852  是不会通过后台验证。

即便你ARP到 admin  1234567218   9852  ,当你再次用 admin  1234567218 登陆时,因为验证码已经更新了,所以也不会登陆进去。 即便你多次ARP验证码和密码,只要验证码生成密码尾数算法比较复杂强大,也会使人,望而生畏,不会轻易的被找到规律,从而保护了网站!

这样好处就是,每次密码随机, 即便你爆破出数据库里面的密码,也很难登陆后台,前题是要把验证码运算设置的强大些。

不知道大家明白没?

这个方法可以防 SQL 泄露密码后的后台登陆,也可以防止 arp 泄露登陆密码,因为验证码运算如果复杂的话,就算ARP到验证码,也会因为运算麻烦而放弃!

如果怕每次要进行验证码运算,比较麻烦,可以自己写一个验证码运算程序,这样是不是会更安全些呢?  

说到ARP,我想说下,现在很多网管,都停留在局域网才会被arp,殊不知在满足条件的外部IP网站也可ARP。

摘自:http://zone.wooyun.org/content/404


站长评论:

楼主的想法很天真,有些过于简单,关于这类密码传输方案,有个密码学专业术语叫做:挑战相应。

假定A服务器要认证B的身份:

 1)B向A说”我 是B,请认证我!“

 2)A随机产生一个字串,返回给B

 3)B用自己的密钥加密收到的字串,然后再传送给A

 4)A用本地保存的B的密钥加密刚刚产生的随机字串,并通B传送过来的比较,如果相同,则证明了B的身份

征询-应答(Challenge-response):要求对于不可预测的征询计算出正确的应答的认证过程。

由于此种认证方式不在网络中传送口令,所以可以防止口令截获和数据包重演等冒充攻击形式。

特性:不在网络中传递原始密匙,每次产生的密匙都是一次性的。

效果:反嗅探,反重放,无法获取原始密匙

在这里已讨论过:

关于登录防嗅探

http://zone.wooyun.org/content/471