【3.A.S.T】网络安全爱好者's Archiver

黑客学习

柔肠寸断 发表于 2009-4-19 21:52

关于国内某知名大学网站加密算法的研究

原创作者:柔肠寸断 [3.A.S.T]  [url]http://www.3ast.com.cm[/url]3F ^D8YLr`
原始出处:[url]http://www.3ast.com.cm[/url]
Lp^^ iKj(t 0?*tm1RYp p
看不懂的直接绕过 r3X$B*`&]M&f"uG
加密前为:hwy1234561Y1I&rN'a t)V/Kh
加密后为0F9C1C7A2EE76EBB5C1F4D7526CC4F883F4E+n6vlbq bU(j
LA'h-Ar}{ {
============================================ V(A'jd$[:g+P*J
上面是当时自己校内的心情。现在已经解破出来了,分享给大家
%\ K&G;F$^Y 也就不隐瞒大家什么了,这个是国内某知名大学的后台加密算法/I_Od| E!a;d
以下是RSA算法文件b;k Ij@ u

V O%s X8F5_ 文件名RSA.ASP-|0m9v)s3aM8Y;b Q
===============================================
f;|oHAy <%
h8A6pZ7oA(V Class clsRSA
$~A:{/o p Public PrivateKey @1F0RySY%Mi2aD
Public PublicKey #Z Y2J c{7vx
Public Modulus (u)Yy.W W6I JI)J6z
Public Function Crypt(pLngMessage, pLngKey) ,K0Cv3l,g;y
On Error Resume Next
(h.@8b }"Ci Dim lLngMod "u \I1\N7D#lL
Dim lLngResult 4? O9?fq(L
Dim lLngIndex /`JL:l)Ns ]ONsF
If pLngKey Mod 2 = 0 Then 4q a0k \ D%VzPL J|
lLngResult = 1
eR/v)}2M(UHb ~ For lLngIndex = 1 To pLngKey / 2
&Z{6^bX AL lLngMod = (pLngMessage ^ 2) Mod Modulus 9U*o.{C!S-`be
' Mod may error on key generation
$]DEz/cWQ lLngResult = (lLngMod * lLngResult) Mod Modulus
C"iA/v i^ If Err Then Exit Function /f-M#`*GN*G
Next ;Q QYb0G#f#KE
Else
&v[ f G |sr^ lLngResult = pLngMessage
y fq]R`sB For lLngIndex = 1 To pLngKey / 2
X%j5Y d6ty lLngMod = (pLngMessage ^ 2) Mod Modulus 8`D6Bj*xe C;|
On Error Resume Next
v|$L:{C ?l ' Mod may error on key generation 7E-i$Y)XPw|
lLngResult = (lLngMod * lLngResult) Mod Modulus
G.Q H#k3[-b5S If Err Then Exit Function Gb\"]#n
Next &LiyZ3R(kO1_
End If z0lj2[,O`
Crypt = lLngResult
L+H)]!a2F&l!ZH:WJ End Function
$\OGX&e} nRi-S(u
Public Function Encode(ByVal pStrMessage) k~ o't3j,?Z
Dim lLngIndex X!MrfD4L.v
Dim lLngMaxIndex
+w [$C1@U!u*_0[ h} Dim lBytAscii A&{/??-K h?:J
Dim lLngEncrypted
7SN)\c]G}Y#Y*{ lLngMaxIndex = Len(pStrMessage)
iw/@:hT~;\ ~#zH If lLngMaxIndex = 0 Then Exit Function
q[ Uf1ETAaO-| For lLngIndex = 1 To lLngMaxIndex q'J(e9~3fc
lBytAscii = Asc(Mid(pStrMessage, lLngIndex, 1))
9Xf/c3yT/V:F1m2a| lLngEncrypted = Crypt(lBytAscii, PublicKey) 4b ED4|(A N(Q
Encode = Encode & NumberToHex(lLngEncrypted, 4)
CAW'^},R Next
[YgH/~ End Function
l*Nt.b3\Bg `w] Public Function Decode(ByVal pStrMessage) @1p)nY r0v
Dim lBytAscii "y'S~Ah,G:t|3b \;yN
Dim lLngIndex
R:``'y:n?Y,n Dim lLngMaxIndex 7S] Ln@C
Dim lLngEncryptedData
+_%dM"t+B8cCxzV Decode = ""
,k5m5@ k ~CTe lLngMaxIndex = Len(pStrMessage) [jd'Bc^
For lLngIndex = 1 To lLngMaxIndex Step 4
piLo4e lLngEncryptedData = HexToNumber(Mid(pStrMessage, lLngIndex, 4)) .J.}C [5X"V'd
lBytAscii = Crypt(lLngEncryptedData, PrivateKey) 7SJb ig)MG
Decode = Decode & Chr(lBytAscii) :G6FJS#KA].N
Next |%rK B!c9|
End Function Gael _:_at
Private Function NumberToHex(ByRef pLngNumber, ByRef pLngLength)
Vr5L,CmI f NumberToHex = Right(String(pLngLength, "0") & Hex(pLngNumber), pLngLength) Np7RA M9x1{
End Function F[wP3u"b
Private Function HexToNumber(ByRef pStrHex)
T!JmG8FB N5Mb HexToNumber = CLng("&h" & pStrHex)
"x u%yi LD End Function
S B$WK:}(e4rmpW End Class
iW,yYOD2]%C function Encryptstr(Message) -{H L~`-|3dp
Dim LngKeyE
"WI ZTC'Y0C oWaM Dim LngKeyD *x,F0n)a!|SN
Dim LngKeyN ;|ZV\/`(ri:Y7[
Dim StrMessage },u _RSZ7E9j
Dim ObjRSA
FBk7yf$m K6SMR4] LngKeyE = "32823" 0p!Go.d7vh
LngKeyD = "20643" Fe5OdG}F
LngKeyN = "29893"
W(P {i$o StrMessage = Message k:P9S d.jA
Set ObjRSA = New clsRSA
.A]:j!\Y2]Qb ObjRSA.PublicKey = LngKeyE
,W-{:W(k&i ObjRSA.Modulus = LngKeyN
-aP(p#Spd Encryptstr = ObjRSA.Encode(StrMessage) aD,T0Mo `-mP
Set ObjRSA = Nothing
V[wy.R:| c end function.L$p{6ghcep
Function Decryptstr(Message)
v,ms7c8v2E Dim LngKeyE
mVYix)x"e'O Dim LngKeyD
^s'| B8E8y3l-U/wO Dim LngKeyN
-q;F7l5ub+I$Sr Dim StrMessage *t&G_MA/fR9k
Dim ObjRSA :l}:gE*J OtQ%Z
LngKeyE = "32823"
)ZwD0l2L6}z0a LngKeyD = "20643"
N:}1JT!le%fF @W LngKeyN = "29893"
W m m+\#_(Jd]/P StrMessage = Message
Qb4iE%^0eGA!Q Set ObjRSA = New clsRSA
g#? Np*WX"l ObjRSA.PrivateKey =LngKeyD
iBh Y0Z ObjRSA.Modulus=LngKeyN 5HP$Ad$kQj$K
decryptstr=ObjRSA.Decode(StrMessage) RCtmq
Set ObjRSA = Nothing /i O.L Xs e
end function td? ?#{:]\
%>
#U3I0~1|c5Y ===============================================
ulN9DEh$He
H?D?7dl!~_R 还有一个用于测试这段代码的test.asp
M!s.A$l,gs+[ 有兴趣的自己搭建个IIS测试下
4h)J;^GIRs] <!--#INCLUDE FILE="RSA.asp"-->
x;] T0rwx*o"md0u <%d.@8Lj}.W,g
function Encryptstr(Message) |H*]IWC t x
Dim LngKeyE
#I&F9@)~XP2I1s Dim LngKeyD s/jg9sU
Dim LngKeyN cCe G HVPp0gfP,oC
Dim StrMessage K(Q)s6iXsn@"O$c
Dim ObjRSA
;MY v&LI1X2^^ k LngKeyE = "32823"
|%M(qjf LngKeyD = "20643" ~x3C*~L+Ks
LngKeyN = "29893"
6g%PD} R/r StrMessage = Message `wLSG
Set ObjRSA = New clsRSA
[^ WON~%d ObjRSA.PublicKey = LngKeyE ;S#D;tG3Fc'i.`
ObjRSA.Modulus = LngKeyN
n~7K(hONzq Encryptstr = ObjRSA.Encode(StrMessage)
!Fr.T&Cq B_l3n"B&M Set ObjRSA = Nothing 'Uq;B1vx6F
end function
H&U+^Aroo/Y:CJ function decryptstr(Message) 0^$Q9m#G@4|9u
Dim LngKeyE 6tl9v1T U`
Dim LngKeyD
\*p,}\7KUkA Dim LngKeyN
'WmfJ._nvjR&l Dim StrMessage +BS(u mI5K
Dim ObjRSA S,xaGTfk'u
LngKeyE = "32823" pbU%s6e"GR k
LngKeyD = "20643"
xqoL rZ LngKeyN = "29893" .rk-gcE/A`m
StrMessage = Message
Ml_|4F.z Set ObjRSA = New clsRSA D OoPI2h!r
ObjRSA.PrivateKey =LngKeyD ;[dR,gS8sQ5Y
ObjRSA.Modulus=LngKeyN
*ttI(J {-]2ecP |h%_d decryptstr=ObjRSA.Decode(StrMessage)
"n f7[N#~ Set ObjRSA = Nothing
zlt9q;Ohx end function )xgsH RN)qIZNf
dim last,first ^ N(\%l9uN
first="!@#$%^&*()" c1D*@u7T2}8p2h
Response.Write "加密前为:"&first "k,|V[u X4~-E
last=Encryptstr(first) S&u+b"Q4W
Response.Write "加密后为"&last ~p9['}3pX_4P*[\
Response.Write "解密后为" &decryptstr(last)
i/G@KN9tDz %> ==============================================Z*c P]1c
剩下的就是字符的对照表了
8f R$x8h3rm W2Ao ===================字符集================9^)D u A*^.U-u
1_____6EBB{4aqe;D|UBx
2_____5C1F
O`/d%us2?"fH7L"c 3_____4D75ca&[q.n^
4_____26CC
/C5?@2{#u&L2g 5_____4F88
T K4I'OZ 6_____3F4E0u*yWh9b$J c
7_____0A9D
Arp5^L 8_____1A1Cc p H;Wyj$BT4?7k
9_____6D20g.C1H,Q+d)HsJ
0_____1089*Je6thkz^
a_____0F3EIN8^`5c5SZb.qH0S
b_____3159 z'PC/b a
c_____3517
$_ lm.]9tMECc5o d_____419C
d.LA+G)tYY e_____615C
k5nRb&OqE2V,J&f f_____556FE(Ow6H g ]@L
g_____2B7FK$bM&[{G2F:dW
h_____0F9C,oEi(^vK3q-{T
i_____00FAmie;WJ
j_____5A50V9U7Qd$X H
k_____2850
@bTYM*M U6|4VG l_____3E7B
.S4@ @N}/_C m_____71C5|![U8fv9ir
n_____1FC8{VtF@
o_____74C1 \,bG9N"KJv'O.Uk
p_____5FB8
TNEM5]7i9Jk q_____60857do5H~#i/`+l\]
r_____3AC4 ^ G+hak"K0F4q
s_____2F50(`A+k#KggHo x
t_____36F8
&s,B$^IB/a;w u_____7010
1p+TSQ|RrhO v_____0B42
G2oR JQS-M w_____1C7A&?V7llnx0_
x_____16F8
U#R _,L-V&x}0tm\ y_____2EE7
"jl!iN3qx7h z_____5CF3)OB,k j#`_
!_____62335OALw$}3^R
@_____3A45^ Q'@g8L:D7M_:AX4m
#_____2291
V5NQ6NRA#k9{m $_____5D5Cht!tr7wU2wG
%_____09B9
T.F B T0m ^_____43EAi%on3AF'd`J
&_____62B9pN.]V}p B8t*C
*_____6301
w#N~1Gm (_____4659^K"\8?Bys
)_____5C82

鱼儿无心 发表于 2011-12-4 17:17

收藏了。。。。。。。。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.