java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

程序员之罪:账号泄露

最近搞出来的网站账号泄露的事情,引起了不小的风波。天涯,CSDN,这些大门户出事情,是不是有人在嘲笑,更多的人,在惊慌。

引起账号泄露的原因,walter分析如下。

1.网站数据库采用明码记录密码。比如账户walter,明码123764.如果你的数据库被入侵。那么账号直接暴露

对策:采用加密后的密码,存入数据库。

2.传送过程采用明码。好了,你说我采用明码,那么我现在md5加密存入数据库。只能说这样稍微安全了。不过如果你在POST密码的时候,采用明码,一些截获网络传送参数的病毒很容易就拿到用户密码了。如果你用过FireFox的Firebug大概就明白什么意思了。

对策:当用户点击提交的一瞬间,加密密码。让传送过程密码也加密了。

3.用户使用简单密码。这个问题有不少人,不少专家分析过了。大家采用123456,111111,654321,a123456,aaaaaa,这些密码的使用频率非常高。不过其实还好,有的人喜欢把不重要的账户采用简单的密码,重要的账户采用不简单的密码。

对策:限制简单密码,或者提醒用户密码过于简单,建议修改。

4.代码漏洞。04年见过很多网站可以从登陆口直接破解进去。比如你的判断登陆的SQL语句是这么写的通过账号查询到密码select * from users where username="walter" and pwd='1234589' 好了,很好办了。

如果我在提交username的文本框里输入walter' OR 1=1 --

SELECT * FROM USERS WHERE USERNAME='walter' OR 1=1 -- ' AND PWD='1234589'
从--后面,全部被注释了。利用这个原理,可以获取任意用户权限。

对策:写代码的时候,限制输入的特殊字符。或者分开检测。先利用账户,得到数据库密码,再利用数据库中的密码和用户的输入的密码对比。

 

 


This entry was posted in 程序视点 and tagged . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/coder-pwd-reveal/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

Leave a Reply