Board logo

标题: [原创文章] 关于国内某知名大学网站加密算法的研究 [打印本页]

作者: 柔肠寸断    时间: 2009-4-19 21:52     标题: 关于国内某知名大学网站加密算法的研究

原创作者:柔肠寸断 [3.A.S.T]  http://www.3ast.com.cm5 r. \' O6 @. g9 k: I
原始出处:http://www.3ast.com.cm6 I8 n% Q) k  W  m( j
5 }. ~/ P1 N8 L" B' g$ Q. Y
看不懂的直接绕过
1 d) N$ y, H( \2 F, f2 x! }. k加密前为:hwy1234569 }7 C. B6 Z1 t# H
加密后为0F9C1C7A2EE76EBB5C1F4D7526CC4F883F4E2 z2 y! a' m& c: x
8 D. n3 O' w! p/ w
============================================
1 Q4 t+ E+ K9 y" T9 L5 t4 x1 _) p上面是当时自己校内的心情。现在已经解破出来了,分享给大家
( S* u& _9 D2 c$ A- E5 t也就不隐瞒大家什么了,这个是国内某知名大学的后台加密算法
& s% T% ?& f; n- Y4 ^以下是RSA算法文件
5 Z0 `  d. ?$ y1 |/ t
6 i; m- H7 f) t文件名RSA.ASP3 A# Q0 @9 L7 X7 Z* `0 z3 M
===============================================& S' o1 p1 ^$ N9 m$ y- K7 {
<%
$ o; i; ^! E0 K4 h* z8 ?Class clsRSA % z- y4 l0 e5 w
Public PrivateKey
1 }$ |1 ~5 Y" HPublic PublicKey
4 k7 J, O2 `7 H) nPublic Modulus 2 \6 w) b1 J' f$ v
Public Function Crypt(pLngMessage, pLngKey)
! r8 P* g8 y5 i  b( z& G/ C: OOn Error Resume Next
8 W4 @6 I  x3 S& ^/ sDim lLngMod
( K! {7 E) ]; {3 H) V( s- C& ADim lLngResult 8 h" p! K) U; E) b- E9 p
Dim lLngIndex 7 @1 n$ |1 S: _: V% x) F2 A. F
If pLngKey Mod 2 = 0 Then
* s8 u: i4 P8 clLngResult = 1
4 w& A; `  N. L1 q8 R3 gFor lLngIndex = 1 To pLngKey / 2
3 `0 v/ S& o/ V4 a. `# B9 BlLngMod = (pLngMessage ^ 2) Mod Modulus 8 h4 f! P2 j+ ?7 K
' Mod may error on key generation , p2 K/ p. f8 x' F( A  z
lLngResult = (lLngMod * lLngResult) Mod Modulus
4 H# G8 k. C! OIf Err Then Exit Function
( K4 w; C( l1 e/ `Next + R# {0 Y- a- r/ i
Else $ Q% H$ R( Q1 t; D
lLngResult = pLngMessage % n% d3 p) b& T; N& s9 z/ b
For lLngIndex = 1 To pLngKey / 2
* h3 h! C4 l% Z1 flLngMod = (pLngMessage ^ 2) Mod Modulus 6 }+ p% f* R: D# |" a) ]/ E+ Z7 s1 W0 E( d
On Error Resume Next , f8 y; e9 w* a% O
' Mod may error on key generation 8 l- J+ b+ U. d! X5 ~  Q( }
lLngResult = (lLngMod * lLngResult) Mod Modulus
! y$ B8 u' Q+ p( b6 lIf Err Then Exit Function - J& g: i3 B1 I! x& u
Next ! }  ?1 v0 F- n* ]9 k
End If # S. |7 l- q& }
Crypt = lLngResult 4 g1 z8 U5 i6 ^- d  a. u( v$ t
End Function
1 J4 i; f* E* T$ _, x: V# X$ }$ o$ F& ^" p, Y( T6 B% [
Public Function Encode(ByVal pStrMessage) ; l/ d: ~) Y6 U/ c2 M  D+ d
Dim lLngIndex
9 g" ~$ [; R% ~# [6 @! S$ ^( uDim lLngMaxIndex " z: k; I: f8 [4 @1 L$ A
Dim lBytAscii : i1 y/ N! {1 Y: v# Z9 a9 r+ e
Dim lLngEncrypted
. g/ v. |: d5 P- L4 Z1 `6 ClLngMaxIndex = Len(pStrMessage) - g8 W& @9 k3 L/ B5 I, A
If lLngMaxIndex = 0 Then Exit Function " K% I# p8 j9 J/ y- m
For lLngIndex = 1 To lLngMaxIndex , N9 L( D) P) q( ?4 ?
lBytAscii = Asc(Mid(pStrMessage, lLngIndex, 1)) 1 q5 R& ~+ M0 g, v- `
lLngEncrypted = Crypt(lBytAscii, PublicKey)
! F) F& V1 Y5 }) A# I+ h8 vEncode = Encode & NumberToHex(lLngEncrypted, 4)
- I; @4 J; q, i  WNext
* r" o1 G- a3 d% kEnd Function / Y9 X2 M: ]1 k; m4 n  X7 D
Public Function Decode(ByVal pStrMessage)
5 a: r7 ]& C6 a9 M4 yDim lBytAscii 2 c* `/ t- x% A
Dim lLngIndex 9 |; E( e, n) A8 x7 g4 R+ i4 ]
Dim lLngMaxIndex   g; B9 N5 R% d; A: Z
Dim lLngEncryptedData / N& a  K6 @/ N6 p5 P
Decode = ""
8 W5 r# z7 k) qlLngMaxIndex = Len(pStrMessage)
0 m; s4 i% Y/ [" W7 O1 oFor lLngIndex = 1 To lLngMaxIndex Step 4 9 {+ c+ J  o9 H. ^
lLngEncryptedData = HexToNumber(Mid(pStrMessage, lLngIndex, 4))
) \% k3 \. n% z- q6 W# t1 p* b  slBytAscii = Crypt(lLngEncryptedData, PrivateKey) 1 p" n$ D- h! |( c/ W3 s
Decode = Decode & Chr(lBytAscii) ; L5 W( f3 H3 R8 |1 Q1 }
Next
7 B% n6 s! _$ d) Z& M4 n+ TEnd Function ' K7 l+ i" Z4 t( y7 b
Private Function NumberToHex(ByRef pLngNumber, ByRef pLngLength) 2 b" a# _9 e. v- S5 T. `
NumberToHex = Right(String(pLngLength, "0") & Hex(pLngNumber), pLngLength)
  T+ v8 i) k7 iEnd Function / G. v+ R4 @2 ?: r) h& b; m
Private Function HexToNumber(ByRef pStrHex)
% q6 y+ e" c. X/ v2 O( ?- u& t7 DHexToNumber = CLng("&h" & pStrHex)   {0 \' G0 Q0 j" J- r  ^. x
End Function " c$ o5 x; v5 T
End Class : t/ K) p0 n9 M$ p/ x9 D; }% H
function Encryptstr(Message) ) q) P$ I* o5 f5 P2 |" `: J
Dim LngKeyE
6 [, [1 i8 q- _Dim LngKeyD 1 \0 u  F% N( G: y7 V- u4 [' U; S
Dim LngKeyN
2 R0 C) T: D9 a! B9 Z& UDim StrMessage ) a: O$ J; \, I8 f" s; r: ?
Dim ObjRSA 5 V/ Q, z5 e6 B1 n3 _
LngKeyE = "32823"
# V  Y# K! M4 [% ~- K; J, jLngKeyD = "20643"
# V1 Z$ O- ~' r# ?: WLngKeyN = "29893" : p1 m& S% U# G" m& ?/ j$ h
StrMessage = Message + p4 L) }4 g: K. a& J  L; r' q% |
Set ObjRSA = New clsRSA
) V# h0 V/ l' XObjRSA.PublicKey = LngKeyE
- [( I! [( v" J4 {, B; yObjRSA.Modulus = LngKeyN
" }! m& x) V6 gEncryptstr = ObjRSA.Encode(StrMessage) + E4 Q4 ?( W( ]- l- o- D5 p  ]: |
Set ObjRSA = Nothing . p* R) k3 o2 t  v" E$ w2 w" u
end function% f$ U1 r" V8 k# {
Function Decryptstr(Message)
) G9 t) F. k/ @Dim LngKeyE
" q6 W2 ~$ A7 X4 z8 KDim LngKeyD
( f& v; `- }1 T6 u6 aDim LngKeyN
7 ?0 l* \4 W+ \" O1 D/ g4 \Dim StrMessage / _! U- z, a! g1 F$ l
Dim ObjRSA / L, A" F6 j  [  W8 N( |' l
LngKeyE = "32823"
/ w* ^0 X3 D0 U' _: {LngKeyD = "20643" / P" i7 ~- X/ v# h9 o
LngKeyN = "29893" 5 i7 k/ L8 s+ H  Q4 N! W- x( P
StrMessage = Message
' I9 n  Y7 \1 R* [& s- X& ?$ `Set ObjRSA = New clsRSA 1 P+ D5 \% G5 |# {
ObjRSA.PrivateKey =LngKeyD . L6 s  L+ q! r; @; u, [3 \* O0 L
ObjRSA.Modulus=LngKeyN 7 I: S5 ]3 U2 ?6 h& O& }
decryptstr=ObjRSA.Decode(StrMessage)
# C" f/ \) L+ s3 Y! g4 fSet ObjRSA = Nothing
9 |- ~8 @7 E- `( T5 Y' F8 d7 d3 n# [1 Lend function
7 ?5 x& T8 d6 L; U%>0 H1 n$ f  T0 ?9 ?8 H" j
===============================================
  ?/ S- j& ]8 J8 O" z/ k& x/ H
" K. X6 x1 {8 n" \' M还有一个用于测试这段代码的test.asp' t. c% O1 g) T% W* W' F( W
有兴趣的自己搭建个IIS测试下7 v  W& p0 U/ U; I1 c
<!--#INCLUDE FILE="RSA.asp"--> 2 ^4 N* l0 _5 k. Q
<%
6 G5 I$ R7 g" ^" q3 u5 ffunction Encryptstr(Message) 4 B0 p$ I) V/ f* Z3 u% u3 o  _' O4 T
Dim LngKeyE % s+ i  m; Y1 T, A
Dim LngKeyD ' F- f, i1 a1 i: |
Dim LngKeyN # P& V! h0 z1 Z: F
Dim StrMessage - f' E/ v. Y, H6 L2 V0 u# c
Dim ObjRSA
6 I7 A* M6 Z" qLngKeyE = "32823"
, d( B9 M7 T+ {) t+ ZLngKeyD = "20643" ) w, L$ D* I2 W  w+ {( m9 ?/ H* T6 z5 C; C4 f
LngKeyN = "29893"
% V" H& f4 k8 A- s( }# E. JStrMessage = Message " w) N4 Z) T1 P' ]: X5 k9 t8 G0 ~; U
Set ObjRSA = New clsRSA
* q& ~4 h8 _, u& k3 d/ EObjRSA.PublicKey = LngKeyE
$ F: p$ K5 r) ]% D& j  uObjRSA.Modulus = LngKeyN ! S( g& C9 `3 f) a5 G6 u7 f  h
Encryptstr = ObjRSA.Encode(StrMessage) / n% i& _- t) Q, {! O3 k: o) x
Set ObjRSA = Nothing - D+ d% {5 F+ ]5 d9 g6 k$ i, R
end function
1 _5 ^3 T5 ]3 U0 C) g2 ]function decryptstr(Message)
' `0 i7 y! D, X0 [2 X5 \Dim LngKeyE ) M4 i$ g. ^0 j6 }" R
Dim LngKeyD & V+ e8 |# K. A7 _% m9 g
Dim LngKeyN % n8 q. D! J3 {3 p2 ^# E/ M" O
Dim StrMessage
" S& C2 b; ^4 H0 o' XDim ObjRSA 6 G: [& u$ r0 [+ ~1 N! Q
LngKeyE = "32823"
. |7 B- F' M) \: TLngKeyD = "20643"
7 K" N6 D4 g4 L2 j9 QLngKeyN = "29893"
5 s% h3 Q  n" R3 _' d9 Z& d1 [1 hStrMessage = Message
8 v- R" D2 m& e/ l8 K/ ^Set ObjRSA = New clsRSA % \( D% A/ Q) D7 A: q; n
ObjRSA.PrivateKey =LngKeyD
1 U( @0 L/ n$ b, |: bObjRSA.Modulus=LngKeyN 8 H. x. o" [" n( r9 R
decryptstr=ObjRSA.Decode(StrMessage)
9 q7 X- i5 t4 jSet ObjRSA = Nothing 0 [+ K% v' z( _4 ~
end function ' T5 ~" H; I6 ~) V3 o& Z
dim last,first , W. A  W. W1 o
first="!@#$%^&*()" 9 \8 i9 c6 a# ?4 I5 ^
Response.Write "加密前为:"&first
) I' Q0 Y* u& S7 z$ _7 plast=Encryptstr(first) , J6 I1 ^! z! S" W) c. T
Response.Write "加密后为"&last 9 A  w6 Z! ~& l4 J2 O
Response.Write "解密后为" &decryptstr(last)   U' o! @; Q5 R% C
%> ==============================================
/ W: Y7 e( b  E/ y) {# R) y剩下的就是字符的对照表了& K( J  B9 q* E0 h0 D7 M/ K
===================字符集================
! j/ G! z5 H- v- ~6 C3 N4 S' b1_____6EBB
; \6 Y9 |7 Z- M& R2_____5C1F" [6 S% x* K* C) `% A; F
3_____4D75
4 d" w% s  R! }; @4_____26CC
' K% X* I# ?: W9 b% d, o5 [0 {5_____4F88
4 L4 o5 I7 ^# S6 E, v0 q6_____3F4E  |$ X& f5 N4 i) `$ H$ i
7_____0A9D2 @  j; c* y1 z7 h  v
8_____1A1C
. B2 p3 s! X% V  C9_____6D209 V5 D! p/ f( I8 W5 T& y7 a
0_____1089, j& Z. J1 s0 Z" H
a_____0F3E
  w5 ~$ J+ a5 Y3 |b_____3159; @- f" l- l' F- o0 u7 N
c_____35170 y2 @2 m+ c# Z' \
d_____419C
- r" Z7 f+ d/ i2 \/ Re_____615C
, j% d7 b% y& c* i3 f# w4 ?# Xf_____556F% v& u0 g+ d3 D, ^+ V0 f/ S3 J
g_____2B7F: w5 `- |9 z; a& q4 ~# M
h_____0F9C8 e2 K% s7 e7 Q" @( w
i_____00FA% U- S3 ?% Q2 I& F/ a
j_____5A50
5 J: y$ I! `, V6 H+ Jk_____28506 `' `- R7 h2 r, R3 D, n$ C
l_____3E7B
  V; P& a* m( y* Sm_____71C5- A2 p+ @6 v0 D' U
n_____1FC8: k' R2 t$ Y) ^4 y7 _5 [+ N: t# o
o_____74C16 r* [% K4 u, D5 A, Y7 Y3 j% C
p_____5FB87 I' t. |2 h- U! X" i
q_____6085
4 Y8 A* a, y0 gr_____3AC4
0 ^* B* N/ V1 j! g; T" |s_____2F50
5 h* ~3 m& n1 u0 N* Xt_____36F8
6 q: S* z9 s+ g3 M+ Y7 cu_____7010+ Y- {* o. f- g( E9 M$ }" T7 k
v_____0B424 W7 h5 D! P* a
w_____1C7A
- ~; u- r) J/ `$ e+ _! G& q6 F3 Gx_____16F8
/ P, k& k' ~( U) T- iy_____2EE79 V6 s; s: N6 b* `! F
z_____5CF3
. p+ U0 f. p4 V( C!_____6233
* O% o: L: u8 }: m8 ^% V0 `@_____3A45
; R5 }6 l7 q3 p#_____2291) C% L8 a% ]! g2 E9 a
$_____5D5C
& c9 L. x. v! [6 B5 F%_____09B9# _- Y. E+ A. m+ @/ C
^_____43EA
* P/ X5 c4 T  N5 _$ X0 }&_____62B9
; a% G: L4 z. @. L6 y+ x( s+ }0 n*_____6301
3 E( j/ u# R5 q4 O  r1 d  n& J(_____46596 m( ]' m4 u8 t4 t: l" T+ {! D% ]" q
)_____5C82
作者: 鱼儿无心    时间: 2011-12-4 17:17

收藏了。。。。。。。。




欢迎光临 【3.A.S.T】网络安全爱好者 (http://www.3ast.com/) Powered by Discuz! 7.2