ASP验证码的程序及原理 :: 『孤光剑隐』
来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=482345 存档链接: https://web.archive.org/web/20041120180717id_/http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=482345
用ASP实现远程批量文件改名 微型PHP木马的探讨 网络欺骗浅析 浅析进程“伪隐藏”技术与实现两则 基于Telnet协议的攻击 汇编代码之修改文件时间 win下的几个你所不知道的无敌命令 “隐藏虚拟目录”再分析 深入挖掘Windows脚本技术 IRC攻防手册 andy dreamtheater Angel showlife tx7do charcs chensun netsky xhacker jpxiong Flier lgx KKQQ Ziqi redsaga spy88B8 Luzhu NetKnave eVan SUNU Taynni wuhui CAT Neeao Iceberg kaspersky KusTa Hoky eviloctal lam Net・PoliCe Jace Hardy Gusu・Lanye lilo xiaolu knIfe mifor kaka Lo7e4L Super・Hei lichdr yysun testnet soul Archonwang lamp FlyWeb evilhsu f2s hackfree powers Sunlion EvilPhive xeric icyfoxlovelace GuoMing <<<自动生成插入,修改的SQL | 首页 | 拒绝DDOS.从我做起!>>> ASP验证码的程序及原理 时间: 2004-11-07 一共4个页面:form.asp; chk.asp; num.asp; count.asp 得到一个随即数字。加密! 解密后成成XBM图片 利用session 判断 form.asp <% '### To encrypt/decrypt include this code in your page '### strMyEncryptedString = EncryptString(strString) '### strMyDecryptedString = DeCryptString(strMyEncryptedString) '### You are free to use this code as long as credits remain in place '### also if you improve this code let me know. Private Function EncryptString(strString) '#################################################################### '### Crypt Function (C) 2001 by Slavic Kozyuk grindkore@yahoo.com
'### Arguments: strString <--- String you wish to encrypt ### '### Output: Encrypted HEX string ### '#################################################################### Dim CharHexSet, intStringLen, strTemp, strRAW, i, intKey, intOffSet Randomize Timer intKey = Round((RND * 1000000) + 1000000) '##### Key Bitsize intOffSet = Round((RND * 1000000) + 1000000) '##### KeyOffSet Bitsize If IsNull(strString) = False Then strRAW = strString intStringLen = Len(strRAW) For i = 0 to intStringLen - 1 strTemp = Left(strRAW, 1) strRAW = Right(strRAW, Len(strRAW) - 1) CharHexSet = CharHexSet & Hex(Asc(strTemp) * intKey)& Hex(intKey) Next EncryptString = CharHexSet & "|" & Hex(intOffSet + intKey) & "|" & Hex(intOffSet) Else EncryptString = "" End If End Function Private Function DeCryptString(strCryptString) '#################################################################### '### Crypt Function (C) 2001 by Slavic Kozyuk grindkore@yahoo.com
'### Arguments: Encrypted HEX stringt ### '### Output: Decrypted ASCII string ### '#################################################################### '### Note this function uses HexConv() and get_hxno() functions ### '### so make sure they are not removed ### '#################################################################### Dim strRAW, arHexCharSet, i, intKey, intOffSet, strRawKey, strHexCrypData strRawKey = Right(strCryptString, Len(strCryptString) - InStr(strCryptString, "|")) intOffSet = Right(strRawKey, Len(strRawKey) - InStr(strRawKey,"|")) intKey = HexConv(Left(strRawKey, InStr(strRawKey, "|") - 1)) - HexConv(intOffSet) strHexCrypData = Left(strCryptString, Len(strCryptString) - (Len(strRawKey) + 1)) arHexCharSet = Split(strHexCrypData, Hex(intKey)) For i=0 to UBound(arHexCharSet) strRAW = strRAW & Chr(HexConv(arHexCharSet(i))/intKey) Next DeCryptString = strRAW End Function Private Function HexConv(hexVar) Dim hxx, hxx_var, multiply IF hexVar <> "" THEN hexVar = UCASE(hexVar) hexVar = StrReverse(hexVar) DIM hx() REDIM hx(LEN(hexVar)) hxx = 0 hxx_var = 0 FOR hxx = 1 TO LEN(hexVar) IF multiply = "" THEN multiply = 1 hx(hxx) = mid(hexVar,hxx,1) hxx_var = (get_hxno(hx(hxx)) * multiply) + hxx_var multiply = (multiply * 16) NEXT hexVar = hxx_var HexConv = hexVar END IF End Function Private Function get_hxno(ghx) If ghx = "A" Then ghx = 10 ElseIf ghx = "B" Then ghx = 11 ElseIf ghx = "C" Then ghx = 12 ElseIf ghx = "D" Then ghx = 13 ElseIf ghx = "E" Then ghx = 14 ElseIf ghx = "F" Then ghx = 15 End If get_hxno = ghx End Function %> <% randomize num = int(7999*rnd+2000) '计数器的值 num2 = EncryptString(num) session("pwdt")=num %>