一个jsp站的用户密码解密

  • 在登录页面源码看到这样一句

    md5.decrypt(StrPwd)

    我意识到这代表数据库里存的加密用户密码是可以解密的,名称叫md5只是个幌子。

  • 文件开头import了com.b.s.l.u.MD5,可我在WEB-INF目录的class子目录没找到这样的class文件,后来意识到是jar中的,于是下载了lib目录下的一个jar文件。
  • jar xvf that.jar照理就能解压了,可是这个服务器的编译环境很是不一般,我的电脑安装的java无法工作,用解压工具也解不出,最后在服务器上运行jar xvf解压成功,找到解压出的MD5.class
  • 本以为接下来会一帆风顺,反编译class得到java源码然后根据算法自己用顺手的语言重写来批量解密,但现实很残酷,这坑的class文件让好几个反编译工具报错,最后没能反编译成功。
  • 退而求其次,直接写了个jsp文件传上服务器吧,粗糙是粗糙了点,总之能用了。
    <%@page import="MD5"%>
    <%@page contentType="text/html;charset=UTF-8"%>
    <%
    String pwd = request.getParameter("pwd");
    
    String strNewPwd = "";
    MD5 md5 = new MD5();
    if(!"".equals(pwd)){
        strNewPwd = md5.decrypt(pwd, "key12345");
        out.println( strNewPwd.trim() );
        }
    
    %>
    

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-17 10:23:11

一个jsp站的用户密码解密的相关文章

C#:使用MD5对用户密码加密与解密

C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1)16位的MD5加密 /// <summary> /// 16位MD5加密 /// </summary> /// <param name="password"></param> /// <returns></returns&

转 C#:使用MD5对用户密码加密与解密

C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1)16位的MD5加密 /// <summary> /// 16位MD5加密 /// </summary> /// <param name="password"></param> /// <returns></returns&

Openfire用户密码加密解密

需求要求审核过程中都用匿名进行用户注册登录,注册用户审核通过后才使用openfire内置表 如何做到用户密码统一 Openfire是通过org.jivesoftware.util.Blowfish.java实现的加密. 密钥:在openfire的数据库中有表ofproperty,其中就有passwordKey的值 Blowfish blow=new Blowfish(passwordKey); //加密 String encrypt=blow.encryptString("123");

给定一个用户,获取其密码警告期限;而后判断用户密码使用期限是否已经小于警告期限

if 给定一个用户,获取其密码警告期限:而后判断用户密码使用期限是否已经小于警告期限:    提示:计算方法,最长使用期限减去已经使用的天数即为剩余使用期限:    如果小于,则显示"Warning":否则,就显示"OK".   #!/bin/bash W=`grep"student" /etc/shadow | cut -d: -f6` S=`date+%s` T=`expr$S/86400` L=`grep"^student&quo

给定一个用户,获取其密码警告期限; 而后判断用户密码使用期限是否已经小于警告期限;

需求: 给定一个用户,获取其密码警告期限: 而后判断用户密码使用期限是否已经小于警告期限: #!/bin/bash USERNAME=user1 Warndays=`grep "\$USERNAME" /etc/shadow  | cut -d : -f 6` Nowsecs=`date +%s` let Nowdays=$Nowsecs/86400 echo "nowday is $Nowdays" Moddays=`grep "\$USERNAME&q

从12306帐号泄漏谈用户密码安全

新闻回顾 12月25日圣诞节,据漏洞反馈平台乌云网显示,大量12306用户数据在互联网疯传.本次泄露的用户数据包括用户帐号.明文密码.身份证.邮箱等. 随后,12306官方发表公告,称经过认真核查,此泄露信息全部含有用户的明文密码.12306网站数据库所有用户密码均为非明文转换码,网上泄露的用户信息系经其他网站或渠道流出. 12月26日,中国铁路官方微博发消息,铁路公安机关将涉嫌窃取并泄露12306网站电子信息的两名犯罪嫌疑人抓获,并指出此次用户信息泄漏事件是犯罪嫌疑人"撞库"来完成信

用户密码加密存储十问十答,一文说透密码安全存储

我们数据库的权限管理十分严格,敏感信息开发工程师都看不到,密码明文存储不行吗? 不行.存储在数据库的数据面临很多威胁,有应用程序层面.数据库层面的.操作系统层面的.机房层面的.员工层面的,想做到百分百不被黑客窃取,非常困难. 如果密码是加密之后再存储,那么即便被拖库,黑客也难以获取用户的明文密码.可以说,密码加密存储是用户账户系统的底裤,它的重要性,相当于你独自出远门时缝在内衣里钱,虽然你用到他们的概率不大,但关键时刻他们能救命. 那用加密算法比如AES,把密码加密下再存,需要明文的时候我再解密

tomcat安装与基本配置,动手来部署一个jsp站点。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML页面的访问请求.实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的. 另外,Tomcat和IIS等Web服务器一样,具有处理H

Python开发之用户密码存储

在各种线上应用中,用户名密码是用户身份认证的关键,它的重要性不言而喻.一方面,作为保护用户敏感数据的钥匙来说,一旦被破解,系统将敞开大门完全不设防.另一方面,密码这把钥匙本身就是非常敏感的数据:大多数用户会在不同应用中使用近似甚至完全相同的密码.一旦某一个应用的密码被破解,很可能坏人就此掌握了用户的“万能钥匙”,这个用户的其它应用也相当危险了. 这篇博文就重点讨论对于密码本身的存储的安全性考虑,而系统自身的安全性不在此文的范围之内. 对于如此重要的用户密码,究竟该怎样在系统中存储呢? “君子不立