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

黑客学习

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

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

原创作者:柔肠寸断 [3.A.S.T]  [url]http://www.3ast.com.cm[/url]kN+B0q Y;~ml
原始出处:[url]http://www.3ast.com.cm[/url].[Y4?s m3y^+A
M*Yr7b:l\
看不懂的直接绕过cPr xI
加密前为:hwy123456s1e{N??+K
加密后为0F9C1C7A2EE76EBB5C1F4D7526CC4F883F4E
|hI^Qbtw!dhr FSVj-M9n
============================================
(fr5o3N#UN 上面是当时自己校内的心情。现在已经解破出来了,分享给大家OE.E#SE"M0w&zm7fG
也就不隐瞒大家什么了,这个是国内某知名大学的后台加密算法
MY/g/A.i&A(Q 以下是RSA算法文件G7f8a%}#`,`;f*K
"WH*^;b a,q(?Y Z
文件名RSA.ASP _W[&ZV3T&e#l
===============================================Y+o S$Y{Wt`6k0F
<% lNpf$O*}L
Class clsRSA A"NQ^ Y(M
Public PrivateKey Z$M1\{v's)j
Public PublicKey U[4t)R8v4I C k/b
Public Modulus
3`,L#| HF;lX Public Function Crypt(pLngMessage, pLngKey)
P T2BD WF s On Error Resume Next
*Z2FG*i Jb Dim lLngMod U }`ku [b(?)Q3x2q
Dim lLngResult
3@ j[H!n_9D Dim lLngIndex 5t9_5~~`XQ
If pLngKey Mod 2 = 0 Then
(D"^_4D E.T2F} lLngResult = 1
h'@5`-r?q/H For lLngIndex = 1 To pLngKey / 2 6W R3vIX#`9XwaUz/j
lLngMod = (pLngMessage ^ 2) Mod Modulus @%]v*R$f
' Mod may error on key generation
(J;c&Zl6R"p-_6@{ lLngResult = (lLngMod * lLngResult) Mod Modulus *uWO"K;k
If Err Then Exit Function
:Zq)E5C9nixK Ml(r Next 5c f6`J,`ri ~tr&Vy
Else `b~Y T
lLngResult = pLngMessage
0C5x!VqW r For lLngIndex = 1 To pLngKey / 2 .Yl R$n}D_
lLngMod = (pLngMessage ^ 2) Mod Modulus
e:Q]^:^0? On Error Resume Next
f.Q/])[%S9gc ' Mod may error on key generation
V_}8vr B lLngResult = (lLngMod * lLngResult) Mod Modulus
M Uf2J3ynwXN If Err Then Exit Function
x6xpv:Fk Next 0cc(dQ/YM,rj3C2e'A$A/k
End If
_ q(wx&t8b2ZpiT Crypt = lLngResult
!N:} NKXVI End Function
;Z4O"LmU I&]r1X)P"J *]#q~^$Ct8w9S
Public Function Encode(ByVal pStrMessage)
^ w;` Q*] ]/W!v r+_ Dim lLngIndex
*~ UT}V r/k8i Dim lLngMaxIndex
1}-cw&N3X@ Dim lBytAscii
.|!XXxl-m Dim lLngEncrypted Q/K L/h&R;wj/X?4FX
lLngMaxIndex = Len(pStrMessage)
0gk)A.B%l z If lLngMaxIndex = 0 Then Exit Function
4?L Qd'Hn4~ For lLngIndex = 1 To lLngMaxIndex l PO/D9d2j']
lBytAscii = Asc(Mid(pStrMessage, lLngIndex, 1))
(nG']"q `/WUc(p| N lLngEncrypted = Crypt(lBytAscii, PublicKey)
*aj1]Gr2\u-F)oH Encode = Encode & NumberToHex(lLngEncrypted, 4)
:n+E;X0l:] Next
$s`KO$Q!e c End Function I@#I5[/H8s
Public Function Decode(ByVal pStrMessage)
6k2@;ZEI)L{o0bk Dim lBytAscii 2S%Rs8ha
Dim lLngIndex
dKY2|x'd Dim lLngMaxIndex \7J%n+X;@2q7J&i
Dim lLngEncryptedData 9y&qi1t0k d
Decode = "" y^3W5F Vs d
lLngMaxIndex = Len(pStrMessage) x7y7y8O`tU
For lLngIndex = 1 To lLngMaxIndex Step 4
R5|m^c%T;n X lLngEncryptedData = HexToNumber(Mid(pStrMessage, lLngIndex, 4))
Bmc8_LU3z6C+f lBytAscii = Crypt(lLngEncryptedData, PrivateKey) [/}Y0c_
Decode = Decode & Chr(lBytAscii) 2Rd9b n8y:|.HSt
Next ;`D"nK-B;B!]ED
End Function
j z-ASjJ2Y Private Function NumberToHex(ByRef pLngNumber, ByRef pLngLength)
atZ3tb"s~ J NumberToHex = Right(String(pLngLength, "0") & Hex(pLngNumber), pLngLength)
U@prq@up T End Function *c-p f#K*P8\4c
Private Function HexToNumber(ByRef pStrHex) *V;j"KL8F$_ wb@ E
HexToNumber = CLng("&h" & pStrHex) 2tyu?5C
End Function I!`"c b3_%D8oDmQ
End Class
x {*U$YXB:r function Encryptstr(Message) R@'MJ {*R}
Dim LngKeyE
2fsKj,t8AKb Dim LngKeyD `|2Kda pWi5q
Dim LngKeyN H!C^y I|,C
Dim StrMessage
jkqZ9`|3um5j$dO Dim ObjRSA
&A1vLVdl LngKeyE = "32823" (@|8Y/jw"_
LngKeyD = "20643" 7J3]6h&rU.Va G
LngKeyN = "29893"
c4R+Z*BX StrMessage = Message
R^$u#t @/\ZeB!tM Set ObjRSA = New clsRSA 7E V Mz[q A(J8_w } F
ObjRSA.PublicKey = LngKeyE
x6P0}F1N o"X+_?7g ObjRSA.Modulus = LngKeyN
!r1A,VN/} M,s/a-]4`&\ Encryptstr = ObjRSA.Encode(StrMessage)
ns WnK N Set ObjRSA = Nothing ^9mNa+S0mte5X5q
end function
w/D(fp,hS1c MM OE Function Decryptstr(Message)
K k/]%K.EBa1C Dim LngKeyE
a xW$R {1xy.m%o Dim LngKeyD
\%L4}#D)Qx hX1B Dim LngKeyN
j3b9D$}cx m}k Dim StrMessage "y"LE3y,z6v'x:@6V
Dim ObjRSA
!S h|(|U LngKeyE = "32823" v)Bo$H s(\]*G;f5nH
LngKeyD = "20643"
(Re#@VM J)Y LngKeyN = "29893" &NUYKvm"b+j
StrMessage = Message )Ay)iF_ n.zCL-iJ
Set ObjRSA = New clsRSA -~c1|vb4bjQ7v
ObjRSA.PrivateKey =LngKeyD
"~ z-I HUs p7C ObjRSA.Modulus=LngKeyN
;k5i%{x s7UC ?d#r7? decryptstr=ObjRSA.Decode(StrMessage)
O ]M4Y*to5k0j Set ObjRSA = Nothing Ho#E2Q5i%_
end function )P]PT;Y;{4MMg
%>P/Z(f0xf:?3Fdb
===============================================,a:J~2XEE ]$a(yg

wuq w~8JT Q 还有一个用于测试这段代码的test.asp
t4O xN)y5c 有兴趣的自己搭建个IIS测试下c*`NZ$_!B3Z+U@
<!--#INCLUDE FILE="RSA.asp"-->
V)ugs3bS ] <%
e,f&^ u.UI D function Encryptstr(Message)
YI6}*vA.m5w Dim LngKeyE (|^Z)vjjP
Dim LngKeyD
\Kw6\Q:Z t8Z$J$s Dim LngKeyN U#n'UVP0YG9l%D
Dim StrMessage
Q+sJzc d Dim ObjRSA
x,EG @va LngKeyE = "32823" {#EBG+C_
LngKeyD = "20643"
:K'lB{p@ LngKeyN = "29893" (Qx?.ur^tPk
StrMessage = Message PD? [\G
Set ObjRSA = New clsRSA +v ywU~|yc
ObjRSA.PublicKey = LngKeyE -w2o*l.a(~3{ {9@@Z
ObjRSA.Modulus = LngKeyN
tX;A ?p-\|B+H|i Encryptstr = ObjRSA.Encode(StrMessage)
h]o fa:ea Set ObjRSA = Nothing a/f;{*f b l+M#Lh&B
end function (\{7rv`{'qeX
function decryptstr(Message)
%bBN/Q].c$O Dim LngKeyE l.S.d;k]
Dim LngKeyD
(t2ekXhp0m#mW Dim LngKeyN
_ bg/L^/B9~[ F Dim StrMessage
swX3[ X5YQ0Cn Dim ObjRSA 'Apr Yt Ri7\y s
LngKeyE = "32823" )fjGbD PLb$U
LngKeyD = "20643" R\6d2Yy+N
LngKeyN = "29893"
.\&M:@F6t{;K C StrMessage = Message |G,G)KH xOc]
Set ObjRSA = New clsRSA
t NK~$[ L S ObjRSA.PrivateKey =LngKeyD
4z,kOW(t)n ObjRSA.Modulus=LngKeyN
z/?k'` @ARcC decryptstr=ObjRSA.Decode(StrMessage)
eA0aD7sa Set ObjRSA = Nothing
(`N _0{h DR_ZL end function (v qX*va?u+BIx
dim last,first
(u'qJLF first="!@#$%^&*()"
-O s8]P9q3bW-A3Z Response.Write "加密前为:"&first
!T,@"~$e/}+J\ last=Encryptstr(first)
'h/M'uGu Response.Write "加密后为"&last
3}qv evM'AI Response.Write "解密后为" &decryptstr(last)
k"r"f q B6YI %> ==============================================
ZbHX({ ]#i-x 剩下的就是字符的对照表了
m]9F%v$}%Y5s"k9vf\ ===================字符集================i,G,qay/U3]8y#A~
1_____6EBB*g/A3PnA l#F+u
2_____5C1F,B b#f:t Z*}gk
3_____4D75
(M Lfd^g${ 4_____26CCi0iXN%Zk
5_____4F88G#lkyx
6_____3F4E#yvm]xs&Rg h
7_____0A9D#P;l2zZ$C6J+I7{O
8_____1A1C
@)x/EHW/E,R$[^6K 9_____6D20MjDfQ`c8] qt
0_____1089
b~7Y8?,jHu a_____0F3E\{x S k&V
b_____3159
}} R2Z wL0^/k c_____3517S]h1LW,|*FO
d_____419C
}H;BEk!gh*A8cbt e_____615C
e4REais3p f_____556F+r6{;BXn3O._-\#~#S
g_____2B7Fo'Y\/P.hD A] _
h_____0F9C
\0c W2Z;k,U.f0~f)k'i0u i_____00FA
+P'};i2ba3\ j_____5A50
0d;lB$GXPc k_____2850
B"X4l LJ|b l_____3E7B
3vMWwz m_____71C5
1|9NsNk`"cy n_____1FC8
4Jj"yk N'z#LY o_____74C1 ~ J9hr{X|2b
p_____5FB8
qe#W]7A8J }4C q_____6085W_~k'^Fw&`
r_____3AC4| ? f;F_
s_____2F50
Ij%G+Zm:h t_____36F8
2BU5sKX|7L&Xh*P u_____7010
c*k4BK+j4HO v_____0B42
*}B4P5E-c U w_____1C7AN%c%X1i;_0X zI
x_____16F8B6Sb/g)]N%K
y_____2EE7
tZ9{7H-x z_____5CF3
f}E*{jH\'ta !_____6233,SS h$E!@a+x:n5b
@_____3A45@ @7N4Pa`X
#_____2291s'V g#ol`t!q
$_____5D5C
B*E ~*M7A |g N7l/B@ %_____09B9WkJ/RJ9J5S
^_____43EA0HQ:u+U}y^c
&_____62B9$O"~2V?z*?XY
*_____6301
.f0o mx ~YaT? (_____4659L!?,E6a'G
)_____5C82

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

收藏了。。。。。。。。

页: [1]

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