标题:
[原创文章]
关于国内某知名大学网站加密算法的研究
[打印本页]
作者:
柔肠寸断
时间:
2009-4-19 21:52
标题:
关于国内某知名大学网站加密算法的研究
原创作者:柔肠寸断 [3.A.S.T]
http://www.3ast.com.cm
& Y4 c( \: C1 Z1 P/ H: Q' w
原始出处:
http://www.3ast.com.cm
3 m3 a" p+ Y, m4 E+ j+ f
+ W$ s) X. |5 N+ @* E$ r
看不懂的直接绕过
' G" l a6 j( e+ p8 ]% k9 `$ ]1 M
加密前为:hwy123456
# ^. Z( |) ^ E
加密后为0F9C1C7A2EE76EBB5C1F4D7526CC4F883F4E
. `: k. Q9 C' R
( h% V9 @0 E4 [; D9 a3 k
============================================
& a0 l1 P6 J- }$ h2 Z6 \
上面是当时自己校内的心情。现在已经解破出来了,分享给大家
! @2 j0 A5 g& J3 h
也就不隐瞒大家什么了,这个是国内某知名大学的后台加密算法
* r r0 b+ _% p
以下是RSA算法文件
% Q% Y) I, ?/ W
0 I% o$ Q5 g( o9 u
文件名RSA.ASP
! Z. G3 v6 m" S
===============================================
$ Y j0 Y# W6 t$ l" F5 x7 H4 i) E
<%
' l) K* D5 M* r8 q) l4 c' P7 Q5 k
Class clsRSA
7 O) J' y) h8 G$ r
Public PrivateKey
; s( G1 e1 _1 s' d
Public PublicKey
# q% L, K# h/ ^: s5 l' p1 s
Public Modulus
2 h* h- x: ~; V( k. \$ n
Public Function Crypt(pLngMessage, pLngKey)
3 i# A5 Z) v/ p/ C5 n, ?' }
On Error Resume Next
/ t- A; B+ G/ o* x
Dim lLngMod
/ \" x& J1 G6 P
Dim lLngResult
) o7 {, ^7 ]% R4 Z5 Y
Dim lLngIndex
! J2 J P* y7 `* v2 b1 L
If pLngKey Mod 2 = 0 Then
- W5 f( }; I, ?; W" g3 J
lLngResult = 1
8 M3 _; R l- F" F1 F2 }/ H' o0 t" Q
For lLngIndex = 1 To pLngKey / 2
7 J: |3 n, n. C+ _* N% ~+ m
lLngMod = (pLngMessage ^ 2) Mod Modulus
5 m, l+ @7 c/ I- G) d
' Mod may error on key generation
" w9 E- x% n/ W; N! Q9 Y
lLngResult = (lLngMod * lLngResult) Mod Modulus
( Y7 O( v: Z" {$ r5 q
If Err Then Exit Function
2 [' _" b7 Z1 T& N
Next
' G4 O" U: U- n. q" O& P
Else
z5 a% [, U6 T; e( Q3 l
lLngResult = pLngMessage
b; ^) S6 Y/ P {
For lLngIndex = 1 To pLngKey / 2
0 k" f+ D8 q# N1 B7 E% u$ |
lLngMod = (pLngMessage ^ 2) Mod Modulus
1 ]2 j; Z$ Q9 w- i
On Error Resume Next
+ C% K7 N! L1 o8 @
' Mod may error on key generation
e; `: Z9 t d; J/ N
lLngResult = (lLngMod * lLngResult) Mod Modulus
/ U+ F5 A6 P) C- e9 j% l( a0 J* z
If Err Then Exit Function
9 I: D$ B# w" Q K! W1 F3 u
Next
% o' H# ?" H1 L3 A% g' ^
End If
- a* ]% _+ s8 h, S
Crypt = lLngResult
. T5 N7 M. T: o
End Function
& X; ~" c z" ^- y1 b* h' S
* p4 R, E) U+ {0 R* F0 {
Public Function Encode(ByVal pStrMessage)
# {7 C9 }% G( }1 |+ S8 M1 _
Dim lLngIndex
u( ^1 k# X9 y; T2 j3 H. n+ }
Dim lLngMaxIndex
3 H% m) D( p& w. v
Dim lBytAscii
- T5 A8 r$ ]9 ~ P
Dim lLngEncrypted
4 O N N. q, u1 X3 ~8 [
lLngMaxIndex = Len(pStrMessage)
, z% J5 G4 f/ W0 g' L
If lLngMaxIndex = 0 Then Exit Function
* H6 j$ F7 c6 |
For lLngIndex = 1 To lLngMaxIndex
; x# c6 F' N3 y& G. [) {; A' s
lBytAscii = Asc(Mid(pStrMessage, lLngIndex, 1))
: S: @! O* h+ b, i
lLngEncrypted = Crypt(lBytAscii, PublicKey)
. m( l% Y z& p9 s- g: h
Encode = Encode & NumberToHex(lLngEncrypted, 4)
g1 G4 z$ H7 R2 [% k
Next
5 x* P0 X: R8 d- q3 p" ^1 V5 s- D
End Function
0 J' t& I6 \; F! ]
Public Function Decode(ByVal pStrMessage)
' v; |3 s. I! U' Z, n" V+ Z
Dim lBytAscii
4 h9 `! r- n9 M1 n+ _
Dim lLngIndex
' ?) d; H2 j! B9 K
Dim lLngMaxIndex
* G" M; V4 A" e. w& H
Dim lLngEncryptedData
8 D2 P% t% x1 | {4 O
Decode = ""
! o+ ^% u8 r' w1 a3 N! s
lLngMaxIndex = Len(pStrMessage)
) K% {9 x& u5 d* o4 z( l
For lLngIndex = 1 To lLngMaxIndex Step 4
l A; C5 D, G( `8 o
lLngEncryptedData = HexToNumber(Mid(pStrMessage, lLngIndex, 4))
: R7 J: v4 m2 {: Z1 P
lBytAscii = Crypt(lLngEncryptedData, PrivateKey)
7 d6 `$ ^5 ]8 x# U, M2 e& U
Decode = Decode & Chr(lBytAscii)
* g3 }4 C' g: d% S8 }; T
Next
$ @% e2 M+ B+ U6 C/ W
End Function
6 j# A7 y2 B1 S9 s8 V0 M5 _* u# C
Private Function NumberToHex(ByRef pLngNumber, ByRef pLngLength)
2 c. F9 B! V- T& G a( n$ I
NumberToHex = Right(String(pLngLength, "0") & Hex(pLngNumber), pLngLength)
. }' x; b! Y' W' J! ], F0 V
End Function
) Q+ |" ?) N h! Y; c$ Y. [) Z& `
Private Function HexToNumber(ByRef pStrHex)
& y; U0 F. I% N9 o: v* Q- N
HexToNumber = CLng("&h" & pStrHex)
1 u1 c! ^! o V. U1 s
End Function
5 R' H. V n' M$ x* a6 h& P
End Class
) t$ b' a( ]/ |5 C; q! j
function Encryptstr(Message)
1 y1 }' L" c v; V {8 \) Z
Dim LngKeyE
# O! r5 [& C! `/ G
Dim LngKeyD
+ u" I) J1 `- Q
Dim LngKeyN
* B1 I$ U" \$ N! \% \3 q
Dim StrMessage
6 _0 @" L3 t- H
Dim ObjRSA
; {) m; N/ l ?! a6 [! p
LngKeyE = "32823"
9 `9 y+ h. r. C) b+ o( l
LngKeyD = "20643"
7 i! E- K6 }$ I/ s3 }4 W
LngKeyN = "29893"
9 N7 ^( ]( |7 D- m
StrMessage = Message
) W+ \* G' x7 @# v4 f, ]5 D
Set ObjRSA = New clsRSA
6 ^( ^" L1 x/ |
ObjRSA.PublicKey = LngKeyE
- Z% {. i; b( n5 x
ObjRSA.Modulus = LngKeyN
' ^' b) N s5 Y6 p! p3 b9 |1 V
Encryptstr = ObjRSA.Encode(StrMessage)
2 B+ y( f) |" c5 B& N2 r; @ o
Set ObjRSA = Nothing
, T' H- C+ H. v! b% \( P1 v# e
end function
3 k# D5 e4 I; l8 B9 w1 w T; l
Function Decryptstr(Message)
" ^" w7 i- U* P! w+ c; ]4 S
Dim LngKeyE
( x6 U5 F# \+ Q9 k. m) q$ m3 Y
Dim LngKeyD
7 Z6 K) A5 j7 ]3 g; \& Y& X) ^6 g# c
Dim LngKeyN
7 K2 L& z- y2 w. M* ]" A
Dim StrMessage
9 a6 V! W8 D @4 U2 z T7 v
Dim ObjRSA
5 b% i/ e) y" _' r7 C
LngKeyE = "32823"
$ M" g) @2 c- c' c* O, `) U, U
LngKeyD = "20643"
% h% f6 ^* \2 I! `; {- B
LngKeyN = "29893"
$ V' q& M/ e& G
StrMessage = Message
% K5 S ?: _, m5 d6 L* R- ~/ }$ `) d
Set ObjRSA = New clsRSA
6 N& I' F# \, I7 o" a4 N
ObjRSA.PrivateKey =LngKeyD
% G+ E6 ~4 S& N* E% f1 \5 J
ObjRSA.Modulus=LngKeyN
: c0 D5 u& H! _/ w# ~+ T9 u
decryptstr=ObjRSA.Decode(StrMessage)
: J- q7 T: P4 f x' X: g3 _' n
Set ObjRSA = Nothing
$ j0 Y: y$ Z; m
end function
' i2 [* X# n0 s* y8 V1 {
%>
0 j/ f) X6 ]# D) p! v S* a
===============================================
0 h! e; I+ J) C, i
* g7 R! G! c9 p! F- O" l) f+ f1 O! o
还有一个用于测试这段代码的test.asp
7 A# ]% [! D d2 t
有兴趣的自己搭建个IIS测试下
; l6 u' _- U$ ]
<!--#INCLUDE FILE="RSA.asp"-->
* S+ \% X- s/ | d( b
<%
2 S" Q0 C4 t! j
function Encryptstr(Message)
6 z" K* h( z' q* _8 g ~
Dim LngKeyE
; i U2 q7 ^% s& M9 n# T: J' ?
Dim LngKeyD
. ?# H. g. d4 L) w6 Y# a
Dim LngKeyN
: S& q. p0 P9 ^, |
Dim StrMessage
' }, b, ~: _- m) Y& k1 c
Dim ObjRSA
2 h* X0 f) j5 S# M
LngKeyE = "32823"
/ I5 y( I L+ U% V
LngKeyD = "20643"
. C8 Q6 {, v' X6 m/ z
LngKeyN = "29893"
! k0 u% ]; T' v8 h1 l9 i% h) w. a
StrMessage = Message
' ^8 y0 o4 ?, t% h
Set ObjRSA = New clsRSA
. J6 A( F1 h' n+ q1 I
ObjRSA.PublicKey = LngKeyE
% P: t5 s- m+ Q) U, t& p
ObjRSA.Modulus = LngKeyN
. g0 J- F% C( [
Encryptstr = ObjRSA.Encode(StrMessage)
2 {9 s+ x" I( y' U
Set ObjRSA = Nothing
% m. U0 B* b1 e# ~* t
end function
4 P/ R! x4 D% L3 A+ ?9 \
function decryptstr(Message)
3 f0 V1 k- }+ n6 n8 i9 S) f2 n
Dim LngKeyE
: @0 D* ~$ j, f% a1 m+ N
Dim LngKeyD
( l h2 p K% I: m
Dim LngKeyN
0 h u9 D3 u* F+ H4 y* B$ T5 f
Dim StrMessage
2 r, k3 D: J' ]" [
Dim ObjRSA
) @$ G# d" D' m8 h* p* y& X. e
LngKeyE = "32823"
. z" N0 X1 F. v' P
LngKeyD = "20643"
1 w9 ]% J0 G* J! J$ ] V' n% f
LngKeyN = "29893"
% N6 y, I( r: Z+ l% _) x$ H/ o6 R
StrMessage = Message
5 m$ `& `) @6 l( f
Set ObjRSA = New clsRSA
, Z7 L( d# V8 O1 R
ObjRSA.PrivateKey =LngKeyD
8 l4 [& s' w) Y0 K2 r" Y$ R& ^
ObjRSA.Modulus=LngKeyN
; B' F6 g5 Y! J& U2 b. y+ U
decryptstr=ObjRSA.Decode(StrMessage)
f0 _2 v6 K' H* P+ P/ k- m* q
Set ObjRSA = Nothing
& p8 o. {6 ^4 {9 a
end function
5 t5 Q: e% `! w4 G, S2 v3 m4 f
dim last,first
, e2 p& U# z4 R2 |6 w$ ]
first="!@#$%^&*()"
5 U4 n; n& K- {
Response.Write "加密前为:"&first
. g1 o& @( Y! D+ `& o
last=Encryptstr(first)
* }9 b, w/ `. d y( Y/ S n; V
Response.Write "加密后为"&last
8 |9 u( z' q% [" S
Response.Write "解密后为" &decryptstr(last)
& o: {0 M P; p: _, @
%> ==============================================
3 x, H) a3 ?- x' K+ s
剩下的就是字符的对照表了
8 O6 j' F+ p3 `- ?0 c, A8 [, k
===================字符集================
% Y: v# A! U' j; q' B
1_____6EBB
; g1 ~! \/ b4 W4 g d$ \3 {/ C; q
2_____5C1F
0 T1 l* s, E- l$ Z
3_____4D75
. [& u# E* P0 a. N8 @
4_____26CC
& H. o0 i: c* J Y8 d
5_____4F88
% ^3 t' O" E7 U9 _
6_____3F4E
2 o8 Z" J) S7 K% C3 {
7_____0A9D
) ^4 e2 @9 _$ _) K, ^7 l0 b9 [
8_____1A1C
9 f$ O2 I/ v& B6 O6 S+ ^) N
9_____6D20
- T" r# @7 g d% K8 y
0_____1089
0 l% e& o+ a. K! r' V3 j; }
a_____0F3E
( t/ O9 ^* g$ B! \, ]: ~1 v
b_____3159
; u' `* V& X) y; J/ m: K7 y
c_____3517
+ s; Z5 d$ k+ A9 _! B' n. r3 H
d_____419C
8 f& i' L% H2 w: }0 s- E
e_____615C
5 F) D! B2 Y- J1 w
f_____556F
+ L/ y5 e( J9 I; ~; f
g_____2B7F
2 D/ h4 c }0 q+ h; t$ N2 A: t
h_____0F9C
! V: z: ~# H" b/ O8 m& B4 B; b
i_____00FA
" C9 n- G- \& k) X
j_____5A50
: K$ ^ p. w4 _8 b& [! u
k_____2850
; o `" [ A F4 k. ]- \
l_____3E7B
$ ?0 h0 n/ W5 z [8 n1 A
m_____71C5
, H. {. |8 U, }. s5 s3 B+ ?6 J
n_____1FC8
7 `) C4 C; u* ~5 U: u" s
o_____74C1
3 S; Q' D0 d/ U- Y1 q$ H2 ?
p_____5FB8
4 i) w) t" R. k
q_____6085
! ^$ S7 l6 h& j% F7 A9 `% z
r_____3AC4
8 @& M7 ?0 { o7 u+ p, a# R
s_____2F50
. r' R3 ^$ I) T5 e, l
t_____36F8
4 m4 V& [' D5 V5 g. a0 O
u_____7010
( x. U9 x( l" H( L" J7 p
v_____0B42
5 D" ~$ }) p8 @7 F
w_____1C7A
: o9 T( I* c$ X" n* I# ~' |7 H
x_____16F8
* u. G7 I y& H( ~' V
y_____2EE7
, W9 U3 `, c [; u2 \1 J: O
z_____5CF3
5 p5 e) q: x0 h& G
!_____6233
: @# P* i7 D G
@_____3A45
4 O0 s6 i, n) s( \/ [) E
#_____2291
' g8 w* Z5 b7 O* b
$_____5D5C
0 G1 H) Q. L+ ?2 U$ U
%_____09B9
8 W9 y N% T9 k, X8 P v4 l6 E
^_____43EA
' s# D' V6 @7 M
&_____62B9
' C( X$ {: q- S5 T% f! F1 j% A9 S/ @! T
*_____6301
8 A' Z1 R9 ^+ S; e
(_____4659
3 }4 s" s( y" J# N
)_____5C82
作者:
鱼儿无心
时间:
2011-12-4 17:17
收藏了。。。。。。。。
欢迎光临 【3.A.S.T】网络安全爱好者 (http://3ast.com./)
Powered by Discuz! 7.2