Board logo

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

作者: 柔肠寸断    时间: 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.cm3 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$ rPublic PrivateKey
; s( G1 e1 _1 s' dPublic PublicKey
# q% L, K# h/ ^: s5 l' p1 sPublic Modulus
2 h* h- x: ~; V( k. \$ nPublic Function Crypt(pLngMessage, pLngKey)
3 i# A5 Z) v/ p/ C5 n, ?' }On Error Resume Next
/ t- A; B+ G/ o* xDim 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" QFor lLngIndex = 1 To pLngKey / 2
7 J: |3 n, n. C+ _* N% ~+ mlLngMod = (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 YlLngResult = (lLngMod * lLngResult) Mod Modulus
( Y7 O( v: Z" {$ r5 qIf Err Then Exit Function 2 [' _" b7 Z1 T& N
Next
' G4 O" U: U- n. q" O& PElse   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- iOn 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, SCrypt = 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 ~  PDim lLngEncrypted 4 O  N  N. q, u1 X3 ~8 [
lLngMaxIndex = Len(pStrMessage)
, z% J5 G4 f/ W0 g' LIf lLngMaxIndex = 0 Then Exit Function
* H6 j$ F7 c6 |For lLngIndex = 1 To lLngMaxIndex
; x# c6 F' N3 y& G. [) {; A' slBytAscii = 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 KDim lLngMaxIndex
* G" M; V4 A" e. w& HDim lLngEncryptedData
8 D2 P% t% x1 |  {4 ODecode = ""
! o+ ^% u8 r' w1 a3 N! slLngMaxIndex = Len(pStrMessage) ) K% {9 x& u5 d* o4 z( l
For lLngIndex = 1 To lLngMaxIndex Step 4
  l  A; C5 D, G( `8 olLngEncryptedData = HexToNumber(Mid(pStrMessage, lLngIndex, 4)) : R7 J: v4 m2 {: Z1 P
lBytAscii = Crypt(lLngEncryptedData, PrivateKey)
7 d6 `$ ^5 ]8 x# U, M2 e& UDecode = 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# CPrivate Function NumberToHex(ByRef pLngNumber, ByRef pLngLength)
2 c. F9 B! V- T& G  a( n$ INumberToHex = Right(String(pLngLength, "0") & Hex(pLngNumber), pLngLength)
. }' x; b! Y' W' J! ], F0 VEnd 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 sEnd Function
5 R' H. V  n' M$ x* a6 h& PEnd Class ) t$ b' a( ]/ |5 C; q! j
function Encryptstr(Message)
1 y1 }' L" c  v; V  {8 \) ZDim LngKeyE # O! r5 [& C! `/ G
Dim LngKeyD
+ u" I) J1 `- QDim LngKeyN
* B1 I$ U" \$ N! \% \3 qDim StrMessage
6 _0 @" L3 t- HDim 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 VEncryptstr = ObjRSA.Encode(StrMessage) 2 B+ y( f) |" c5 B& N2 r; @  o
Set ObjRSA = Nothing
, T' H- C+ H. v! b% \( P1 v# eend function3 k# D5 e4 I; l8 B9 w1 w  T; l
Function Decryptstr(Message)
" ^" w7 i- U* P! w+ c; ]4 SDim LngKeyE ( x6 U5 F# \+ Q9 k. m) q$ m3 Y
Dim LngKeyD
7 Z6 K) A5 j7 ]3 g; \& Y& X) ^6 g# cDim LngKeyN
7 K2 L& z- y2 w. M* ]" ADim StrMessage
9 a6 V! W8 D  @4 U2 z  T7 vDim ObjRSA
5 b% i/ e) y" _' r7 CLngKeyE = "32823"
$ M" g) @2 c- c' c* O, `) U, ULngKeyD = "20643"
% h% f6 ^* \2 I! `; {- BLngKeyN = "29893"
$ V' q& M/ e& GStrMessage = Message % K5 S  ?: _, m5 d6 L* R- ~/ }$ `) d
Set ObjRSA = New clsRSA
6 N& I' F# \, I7 o" a4 NObjRSA.PrivateKey =LngKeyD % G+ E6 ~4 S& N* E% f1 \5 J
ObjRSA.Modulus=LngKeyN
: c0 D5 u& H! _/ w# ~+ T9 udecryptstr=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# aDim 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/ zLngKeyN = "29893" ! k0 u% ]; T' v8 h1 l9 i% h) w. a
StrMessage = Message
' ^8 y0 o4 ?, t% hSet 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 nDim 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. eLngKeyE = "32823"
. z" N0 X1 F. v' PLngKeyD = "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( fSet ObjRSA = New clsRSA
, Z7 L( d# V8 O1 RObjRSA.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* qSet ObjRSA = Nothing
& p8 o. {6 ^4 {9 aend 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+ `& olast=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' B1_____6EBB; g1 ~! \/ b4 W4 g  d$ \3 {/ C; q
2_____5C1F0 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+ ^) N9_____6D20
- T" r# @7 g  d% K8 y0_____10890 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 yc_____3517
+ s; Z5 d$ k+ A9 _! B' n. r3 Hd_____419C
8 f& i' L% H2 w: }0 s- Ee_____615C
5 F) D! B2 Y- J1 wf_____556F
+ L/ y5 e( J9 I; ~; fg_____2B7F
2 D/ h4 c  }0 q+ h; t$ N2 A: th_____0F9C! V: z: ~# H" b/ O8 m& B4 B; b
i_____00FA
" C9 n- G- \& k) Xj_____5A50
: K$ ^  p. w4 _8 b& [! uk_____2850
; o  `" [  A  F4 k. ]- \l_____3E7B
$ ?0 h0 n/ W5 z  [8 n1 Am_____71C5
, H. {. |8 U, }. s5 s3 B+ ?6 Jn_____1FC87 `) C4 C; u* ~5 U: u" s
o_____74C1
3 S; Q' D0 d/ U- Y1 q$ H2 ?p_____5FB84 i) w) t" R. k
q_____6085! ^$ S7 l6 h& j% F7 A9 `% z
r_____3AC48 @& M7 ?0 {  o7 u+ p, a# R
s_____2F50. r' R3 ^$ I) T5 e, l
t_____36F84 m4 V& [' D5 V5 g. a0 O
u_____7010( x. U9 x( l" H( L" J7 p
v_____0B42
5 D" ~$ }) p8 @7 Fw_____1C7A
: o9 T( I* c$ X" n* I# ~' |7 Hx_____16F8
* u. G7 I  y& H( ~' Vy_____2EE7
, W9 U3 `, c  [; u2 \1 J: Oz_____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
$_____5D5C0 G1 H) Q. L+ ?2 U$ U
%_____09B98 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
*_____63018 A' Z1 R9 ^+ S; e
(_____46593 }4 s" s( y" J# N
)_____5C82
作者: 鱼儿无心    时间: 2011-12-4 17:17

收藏了。。。。。。。。




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