对于一个GET或者post包md5加密怎么办
对于一个GET或者post包md5加密怎么办?
精选回答
共1条回复-
吴海飞我是《怡之云》签约作者:吴海飞!
谢邀。
说一下一般网页系统登陆开发逻辑:
1、用户通过POST请求发送明文密码
到服务器
2、服务器对收到的请求的明文密码,在服务器内部(后端)进行MD5等的加密(一般对用户密码的加密并不仅仅是简简单单的MD5,有时候更多会采用Hash + Salt的方式进行加密储存)
3、再用加密得到的数据及用户名与数据库匹配,校验成功后才判定为登陆成功。
至于其他的联网程序,逻辑也类似,有的甚至是本地进行一次加密,远程服务器再进行一次加密,再对加密后的密文在数据库内进行匹配。
因此,对于联网的,需要登陆验证的程序,普通操作者能搞小动作也只能够在第一步中搞(SQL注入等除外),就算你知道服务器数据库上该某一用户对应的密码密文,你也不可能通过“绕过加密直接发送md5”的方式来绕过验证。如果你本身就是该系统的开发者那就另当别论(这样的话估计连密文也不需要了……)
然后再来讨论非联网的单机程序(包括操作系统),单机程序的话如果存在着用户登陆这些功能的话,如果是知道最终的密文,“绕过加密实现鉴权”是不排除有这样的可能性的,但是绕过的难度也不低,通过修改内存或者反编译修改一下原来的程序是有可能实现题主所说的“绕过验证”的。当然还有一种方式是,在这种情况下如果你知道密文放在哪里,比如Linux的话用户的密码是储存在/etc/shadow文件下的,那么你也可以选择把密文替换成你所知道明文对应的密文,就可以实现修改该用户的登陆密码,绕过验证获得权限了。因此,Linux系统一定要注意保护好/etc/shadow文件,恶意修改或被泄漏都会有很大的风险。(MD5的密文破解,若用较高性能的计算机,枚举法也不需要很久)
md5破解2023年05月25日 04:02