当前位置: 代码网 > 服务器>网络安全>加密解密 > 巧妙破解开别人ASP木马密码的方法

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

2008年10月08日 加密解密 我要评论
巧妙破解开别人ASP木马密码的方法 破解目标:破解一经过加密的Asp木马登陆密码。由于木马里没有版本说明,具体也不知道这木马叫什么名。 破解思路:两种,用加密后的密码替换密文和利用密文及加密算法反解出密码。 ... 08-10-08
破解目标:破解一经过加密的asp木马登陆密码。由于木马里没有版本说明,具体也不知道这木马叫什么名。 破解思路:两种,用加密后的密码替换密文和利用密文及加密算法反解出密码。 前者根本算不上真正的破解。如果得不到asp源代码,那么可以说对破解密码,我毫无胜算。有位华夏的朋友说他得到了一个web的权限,但是无法修改主页,发现其中已经有个asp木马,但密码是经过加密的。好了,废话太多了,那么,作好准备,这次的解说将会相当的漫长。 asp木马登陆密码验证关键代码如下:
if epass(trim(request.form("password")))="q_ux624q p" then
response.cookies("password")="8811748"
...
很明显,用的是epass函数把输入的密码进行加密,然后将得到的密文和原密文进行比对。如果稍有点编程基础的话,特别是vb,那么epass里的加密算法将一目了然。如果没有,那么,没关系,相信经过我的讲解,你很快就会明白。函数中,保存密码的变量是pass。pass&"zxcvbnm,./" 将pass里的内容与zxcvbnm,./相连接得到一个新的字符串。left(pass&"zxcvbnm,./",10)取前10位。strreverse函数将得到的10位字符串次序颠倒。len(pass)获得密码的长度。下面是一个循环。将得到的字符串中的每一位的ascii码-密码长度 取整(字符所在位*1.1),然后将得到的数值转换成字符重新连接。最后将得到的字符串中有'字符的全部替换成b,这样密文的产生了。如果我们提取加密算法用自己的密文替换原有密文,那么相映的密码也会变成你的密码。但我说过了,这并不是真正意义上的破解。 假如我们输入的是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里原有的密文拿过来看看,会有什么结果。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com