扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:51CTO.COM 2007年10月13日
关键字: ASP源代码 密文 版本说明 压缩包 mmpassword
在本页阅读全文(共2页)
破解目标:破解一经过加密的Asp木马登陆密码。由于木马里没有版本说明,具体也不知道这木马叫什么名。
破解思路:两种,用加密后的密码替换密文和利用密文及加密算法反解出密码。
前者根本算不上真正的破解。如果得不到Asp源代码,那么可以说对破解密码,我毫无胜算。有位华夏的朋友说他得到了一个Web的权限,但是无法修改主页,发现其中已经有个Asp木马,但密码是经过加密的。好了,废话太多了,那么,作好准备,这次的解说将会相当的漫长。
Asp木马登陆密码验证关键代码如下:
if Epass(trim(request.form("password")))="q_ux624q|p" then
response.cookies("password")="8811748"
...
<%
end select
function Epass(pass)
temppass=StrReverse(left(pass&"zxcvbnm,./",10))
templen=len(pass)
mmpassword=""
for j=1 to 10
mmpassword=mmpassword+chr(asc(mid(temppass,j,1))-templen+int(j*1.1))
next
Epass=replace(mmpassword,"'","B")
end function
%> end select
function Epass(pass)
temppass=StrReverse(left(pass&"zxcvbnm,./",10))
templen=len(pass)
mmpassword=""
for j=1 to 10
mmpassword=mmpassword+chr(asc(mid(temppass,j,1))-templen+int(j*1.1))
next
Epass=replace(mmpassword,"'","B")
end function
%>
很明显,用的是Epass函数把输入的密码进行加密,然后将得到的密文和原密文进行比对。如果稍有点编程基础的话,特别是VB,那么Epass里的加密算法将一目了然。如果没有,那么,没关系,相信经过我的讲解,你很快就会明白。函数中,保存密码的变量是pass。pass&"zxcvbnm,./" 将pass里的内容与zxcvbnm,./相连接得到一个新的字符串。left(pass&"zxcvbnm,./",10)取前10位。StrReverse函数将得到的10位字符串次序颠倒。len(pass)获得密码的长度。下面是一个循环。将得到的字符串中的每一位的Ascii码-密码长度+取整(字符所在位*1.1),然后将得到的数值转换成字符重新连接。最后将得到的字符串中有'字符的全部替换成B,这样密文的产生了。如果我们提取加密算法用自己的密文替换原有密文,那么相映的密码也会变成你的密码。但我说过了,这并不是真正意义上的破解。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者