科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道巧妙破解开别人ASP木马密码的方法

巧妙破解开别人ASP木马密码的方法

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

文章介绍了如何破解一经过加密的Asp木马登陆密码,推荐阅读。

作者:51CTO.COM 2007年10月13日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

  假如我们输入的是love,加密过程如下:

  

  love

  lovezxcvbnm,./ '连接

  lovezxcvbn '取前10位

  nbvcxzevol '次序颠倒

  n

  110(ascii)-4(位数)+int(1(位置)*1.1)=107

  107的ascii码为k,依次类推,最后密文:

  k`ucy|hzts

  

  我们可以通过密文和加密算法反推出密码,从算法的最后一步开始往上推。最后一步用B替换所有',有没必要将B替换回'呢,答案是否定的。只要我们能得到最后的密文,密码不一样也是有可能的。如果有10个B,那原密码的个数就2的10次方个,虽然原密码只有一个,但是1024个密码都是正确的。如果要完美破解的朋友,可以自己试着编写全部的组合。那么这步可以忽略了, 上面的算法很清晰。

  

  chr(asc(mid(temppass,j,1))-templen+int(j*1.1))

  

  我们只要简单的将+和-换一下就可以了。

  

  chr(asc(mid(temppass,j,1))+templen-int(j*1.1))

  

  但是还有一个问题,我们事先不知道密码的长度,没关系,幸好密码在1-10位之间,不太长。那么我们可以用一个1到10的循环求出所有可能的密码,再将其用StrReverse函数次序颠倒。那么最后得到的密码我们该怎么确定哪个就是呢。可以根据pass&"zxcvbnm,./",看除密码最后是否有zxvbnm,./的前几位。那么这就是真正的密码。那么如果密码是10位,将是永远正确的,因为后面不存在连接。所以我们可能得到两个答案。

  以下便是我编写的解密函数:

  

  function Ccode(code)

  for templen1=1 to 10

  mmcode=""

  for j=1 to 10

  mmcode=mmcode+chr(asc(mid(code,j,1))+templen1-int(j*1.1))

  next

  Ccode=strReverse(mmcode)

  response.write "密码"&templen1&":"&Ccode&"

  "

  if mid(Ccode,templen1+1,10-templen1)=left("zxcvbnm,./",10-templen1) and templen1<>10 then

  result=left(Ccode,templen1)

  next

  response.write "最后密码:"&result

  end function

  

  好了,算法可能在这么短的时间内无法完全掌握,这是正常的,那么我将在压缩包中附送说明文档和加解密的Asp源代码,大家拿回去好好研究吧。同样,密码10永恒正确的。那么我们将Asp里原有的密文拿过来看看,会有什么结果。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章