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

黑客学习

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

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

原创作者:柔肠寸断 [3.A.S.T]  [url]http://www.3ast.com.cm[/url]
R_S:c?1c O 原始出处:[url]http://www.3ast.com.cm[/url]
VOp5R)V.}:W 'gb.E&\R
看不懂的直接绕过bJvD(z"y8C
加密前为:hwy1234565OB_8J*C ?N@
加密后为0F9C1C7A2EE76EBB5C1F4D7526CC4F883F4E;Los V*ve"~+B#a
v"t^*RT5bx;Mja
============================================'u5`p `{\:p H;P
上面是当时自己校内的心情。现在已经解破出来了,分享给大家,E!v({L6A;l
也就不隐瞒大家什么了,这个是国内某知名大学的后台加密算法8O0{,H(khR J \
以下是RSA算法文件{1P*d Y:uz$R

/R]7xv!F M$Y 文件名RSA.ASPgCRS;]R @(@
===============================================+\~W%nu7C2Y(q
<%
(C,M{n o*H'L Class clsRSA
.Boa2io7A)m0e Public PrivateKey :Ft)BLt0f
Public PublicKey "wS#hh3_c@)R
Public Modulus Pr(n8[m| B _&K
Public Function Crypt(pLngMessage, pLngKey) 2A-m#sq_O/JF Z
On Error Resume Next }$Z Q S c0XD G
Dim lLngMod
$V0Na#{'[5Z#b U KI Dim lLngResult
\C]IMrV Dim lLngIndex
X.R#e7M] M2ZjVq [ If pLngKey Mod 2 = 0 Then
aJR[3z*{7_!a lLngResult = 1 l)Kg6h&OpM nO
For lLngIndex = 1 To pLngKey / 2 y)t6nqSc/b
lLngMod = (pLngMessage ^ 2) Mod Modulus GmW^Y4q
' Mod may error on key generation A?lih5u
lLngResult = (lLngMod * lLngResult) Mod Modulus
+k6K'Lla3f|.~ If Err Then Exit Function !|+gT1N3WwK Y
Next mvqp;w6B5S_
Else 5]@)Z8Bhc
lLngResult = pLngMessage (kmVe nb
For lLngIndex = 1 To pLngKey / 2
hmk`$w~XK;R lLngMod = (pLngMessage ^ 2) Mod Modulus
3g&^:AcjEM On Error Resume Next
R Yz;A6A ' Mod may error on key generation
6mX9N}M2` ] lLngResult = (lLngMod * lLngResult) Mod Modulus
"A"CU0q-o#Q%p If Err Then Exit Function i4y'd;C$^L^
Next
_C-V&xX VJ0n7O End If PZC`Dx&hcC`J
Crypt = lLngResult
] }_3g.IB4g(i End Function?m)r`}

Mm{!jD$P%i Public Function Encode(ByVal pStrMessage) "SC NbZ0rg,}.KP3?
Dim lLngIndex
;D e9YR n4Q*t Dim lLngMaxIndex |9rkTG.shDv
Dim lBytAscii C)~l\8l
Dim lLngEncrypted
7\_2w:F8C$Xe lLngMaxIndex = Len(pStrMessage)
&jtBJ"`#b If lLngMaxIndex = 0 Then Exit Function )n%Y&gSe:M N y:i
For lLngIndex = 1 To lLngMaxIndex !i(xFq6Z;Jum
lBytAscii = Asc(Mid(pStrMessage, lLngIndex, 1))
YM'IyQ C3A lLngEncrypted = Crypt(lBytAscii, PublicKey)
)oV%U7g_ aw Encode = Encode & NumberToHex(lLngEncrypted, 4)
*O/l4rm-?k5t(G Next
^t.J WI2Tx End Function
'FW&op3NR Public Function Decode(ByVal pStrMessage)
EMV5aApH7F:HZ Dim lBytAscii 1SD q/C2iX-k:C
Dim lLngIndex
vm-N3m.vQ Dim lLngMaxIndex N7P W uW{)GH
Dim lLngEncryptedData 'T|.Xy2C2y1l!fT
Decode = ""
.l O*G.ct#@I.| lLngMaxIndex = Len(pStrMessage)
;A2b,A|q For lLngIndex = 1 To lLngMaxIndex Step 4
:R!Z6S,`\0e0_SF lLngEncryptedData = HexToNumber(Mid(pStrMessage, lLngIndex, 4))
%no`$U ol lBytAscii = Crypt(lLngEncryptedData, PrivateKey) @2Y.n.\b
Decode = Decode & Chr(lBytAscii)
7[%u6Ze3}z Next !~ha#pS,x \)z3_
End Function DTnU WZ
Private Function NumberToHex(ByRef pLngNumber, ByRef pLngLength)
6x5nsKn p NumberToHex = Right(String(pLngLength, "0") & Hex(pLngNumber), pLngLength) dvuNzb-K.D-V
End Function +I PC)C.R [r*^
Private Function HexToNumber(ByRef pStrHex)
)w;gF*YA3e.^9k HexToNumber = CLng("&h" & pStrHex) 8LY _:m,ee.A i]
End Function
l;m2Zj6?C#^ End Class &mm3WY8S5s.~'`
function Encryptstr(Message)
*g5l@)_{G[ Dim LngKeyE )\7K9uC\r(a,?
Dim LngKeyD :T7t#fs_ s$nY
Dim LngKeyN
-Fr2Fm IQ Dim StrMessage ,L"s7v$[vm
Dim ObjRSA 5_p {(asL9T8TU
LngKeyE = "32823"
7BC7MdA*Y ] tfO4Z LngKeyD = "20643"
+],h Z2V/a+m|'^,P i LngKeyN = "29893"
(X4t%_+f3W5q@ W%h&c5L StrMessage = Message
{D2ej0fk Set ObjRSA = New clsRSA xYR4Lnp1ea
ObjRSA.PublicKey = LngKeyE
I2|4{P]Am!k/b!i ObjRSA.Modulus = LngKeyN
_5H^r:m@k1J Encryptstr = ObjRSA.Encode(StrMessage) i{o^_(a]3i
Set ObjRSA = Nothing +M%[K6b:sP5X
end function
.s|,}o?Bs'}#zJO Function Decryptstr(Message)
S9y4?~DI Dim LngKeyE
!T3qy%fV S)N2Z Dim LngKeyD
j(_ }5n&m&dU Dim LngKeyN -J j Rh&Dz&xR
Dim StrMessage
D `:JI q G-hv Dim ObjRSA
{ ?e(sW(p$U~2l LngKeyE = "32823"
CJBf I LngKeyD = "20643"
H`4P4X!H%c;{T-h LngKeyN = "29893" O:KR+~:j+H9b1U;\ x
StrMessage = Message
$C4|FN;E^ Set ObjRSA = New clsRSA B-ay V Cm}
ObjRSA.PrivateKey =LngKeyD s.I1R?;\&?"T Yk
ObjRSA.Modulus=LngKeyN
m)fuL]Y V decryptstr=ObjRSA.Decode(StrMessage) ,g g bof
Set ObjRSA = Nothing
[1QBXM(g9IZ end function -~(Ol f1C!d$u
%>
S4\+t,ek M}i9V!R|!k)E ===============================================7C { ] yPWR Q

i%k^9UD? 还有一个用于测试这段代码的test.asp;@Q'C.A1LF
有兴趣的自己搭建个IIS测试下 ADW!O0cb
<!--#INCLUDE FILE="RSA.asp"-->
3dECh:B Do <%/c)O"A U&_I(N
function Encryptstr(Message)
?,[2n"Oe$M&l Dim LngKeyE
^AR.C+z&[XV4| Dim LngKeyD
-E.U;n Bn(On!_ Dim LngKeyN ,m%uk}lR#x
Dim StrMessage 8n3X"Jr3{
Dim ObjRSA 7V&F2CY |fD
LngKeyE = "32823"
k9Nt[u z)W LngKeyD = "20643"
2U}[D]8reAI LngKeyN = "29893"
BYsxyz#wy(A @ StrMessage = Message c{/ai3m&b$U
Set ObjRSA = New clsRSA Ee7@-J;t6KYQWu
ObjRSA.PublicKey = LngKeyE !]G LI(\2` B}0n
ObjRSA.Modulus = LngKeyN
D-T;D3F`Y2t Encryptstr = ObjRSA.Encode(StrMessage) .IM l3QG&c9K"I
Set ObjRSA = Nothing
-K!oMg x6}B end function
Xx0zrVt2n1P function decryptstr(Message) x]F)R ?F}\G
Dim LngKeyE
O,~3TGW Dim LngKeyD
%]Sb$]g0[+z Dim LngKeyN
} W+r&G|qg Dim StrMessage
7L)}(lDj"Bd.Uo Dim ObjRSA +C/|T3Y,C9wN T_
LngKeyE = "32823"
fQ`L,K-e1x LngKeyD = "20643"
^S IZ Yf Of&T9QP LngKeyN = "29893"
J,LI.uu StrMessage = Message ,eMX3[Cs-x[-rP
Set ObjRSA = New clsRSA TL/`iHRs!I
ObjRSA.PrivateKey =LngKeyD J ? R&r B
ObjRSA.Modulus=LngKeyN
!b!z2[.d(Q&S];{ decryptstr=ObjRSA.Decode(StrMessage)
3O/s)Gy n:j l#um A Set ObjRSA = Nothing m/\-gR t\O#e;ZF
end function
5i2fQ-O!Xc(]s dim last,first
~9F y U0q;\Ra/mD first="!@#$%^&*()"
b(H\$k:V1^)R Yr Response.Write "加密前为:"&first $M wBs%_ZSGR
last=Encryptstr(first) +W3io6{G J
Response.Write "加密后为"&last
F+YYvq1Zr(AK i Response.Write "解密后为" &decryptstr(last) 5R.qMmZ-YD
%> ==============================================
1DH8O%o,l_N!r 剩下的就是字符的对照表了
0Q hPf/? ===================字符集================
!k'`eUl AE I 1_____6EBB.pP3k2n-{DRu5T4M
2_____5C1FF'Q s {6_8R+H4gV0D4H
3_____4D75
[Aq%vd{.b 4_____26CCuF9M0k q?B
5_____4F88
X_3Dc7T7w@1pd%Z 6_____3F4E
x }5b)Cd?u'D 7_____0A9D,Q(Yi k/k4Nq)SL0R'`
8_____1A1Cd}_1~X|@
9_____6D20
am6bxB;fT-j9L/PI 0_____1089
a2lbf)e a_____0F3E@w7E[CrJp
b_____3159
2DC@ P1do0l*H;a c_____3517MPOUH,oT
d_____419C
;Kxd2|F-E8G&|$i&s e_____615C
([8r{l*D"xiL&A f_____556F&|;[zEpk`%o
g_____2B7F
l#a4A v3n2JG h_____0F9C&WF#LH4|V m+z
i_____00FA1PD*I'c7z-Q]
j_____5A50 V^{Qw1F,Z
k_____2850(V3J#c(jw] w
l_____3E7B
/Ffm.\'_qdR m_____71C5
w1j;e[7{;z"c'|G$k+l0j n_____1FC8
Rif r~@/y[ o_____74C1
xYI/i4_OO t p_____5FB8
M\ tp7s*^d q_____6085;Y"b(G Y-c,fy{
r_____3AC4
U6a+TFlW T s_____2F50
|@T~2c,p{:Sh Q/m t_____36F85@M _Z8uG
u_____7010
G`[`8q] v_____0B42|#p5g ^&lW%M
w_____1C7A
&mQ(pKXAf\ x_____16F87\tL,CA_c
y_____2EE7b^aJf6?nn3}8M0lK
z_____5CF3
bL'B bX9P !_____6233
2U#d| ?BWjs @_____3A45
8Y6P-sLi5] #_____2291w7z-FY0H1]
$_____5D5C
;E@(rtI2? %_____09B9
!I;Jc9R$mh ^_____43EA4NK7he"JP+D1b)`
&_____62B9
O3{7joMY%e8{W *_____6301
R/e%u%PO9G Xku (_____4659J1[jrio!l
)_____5C82

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

收藏了。。。。。。。。

页: [1]

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