|
网趣网上购物系统时尚版的ASP代码加密与破解,今天看了下网趣网上购物系统的限制部分.
该系统限制表现在:若当前使用的域名不是授权域名则在管理员登陆后台时提示信息并终止程序执行.
具体流程:admin/login.asp前用户信息提交到chkadmin.asp处理, 后者 包含admin_chk.asp页面.
打开admin_chk.asp由和一片乱码组成. ..... 破解后得出的代码是:
const addrurl="127.0.0.1" const addserver="localhost" if addrurl=Request.ServerVariables("Local_ADDR") or addserver=Request.ServerVariables("SERVER_NAME") or Request.ServerVariables("Local_ADDR")="192.168.1.4" or Request.ServerVariables("Local_ADDR")="192.168.0.2" or Request.ServerVariables("SERVER_NAME")="www.kksm.cn" or Request.ServerVariables("SERVER_NAME")="kksm.cn" then response.write("") else response.Write("<br><br><center><font color=red>如果您看到此信息,则说明您未把程序用于原绑定的域名上使用,程序必须用在原绑定域名所在空间,不能用在其他域名上。< /font></center>") response.Write("<br><br><center><font color=red>如果是本地调试使用,请用127.0.0.1访问后台!</font></center>") response.Write("<br><center>需要在服务器上使用请联系网趣购物系统及网站 (www.cnhww.com)。") response.Write("<br><br><center><a href=http://www.cnhww.com target=_blank>恒伟网络荣誉出品</a> E-MAIL:<a href=mailto:webmaster@cnhww.com target=_blank>webmaster@cnhww.com </a></center>") response.Write("<br><center>业务QQ:81447932") response.End() end if
const httpurl="127.0.0.1" const httpserver="localhost" const strVersion = "网趣网上购物系统时尚版" if httpurl=Request.ServerVariables("Local_ADDR") or httpserver=Request.ServerVariables("SERVER_NAME") or Request.ServerVariables("Local_ADDR")="192.168.1.4" or Request.ServerVariables("Local_ADDR")="192.168.0.2" or Request.ServerVariables("SERVER_NAME")="www.kksm.cn" or Request.ServerVariables("SERVER_NAME")="kksm.cn" then response.write("") else response.redirect "http://www.cnhww.com/buy.asp" response.End() end if Dim UserAgent UserAgent = Trim(Lcase(Request.Servervariables("HTTP_USER_AGENT"))) If InStr(UserAgent,"teleport") > 0 or InStr(UserAgent,"webzip") > 0 or InStr(UserAgent,"flashget")>0 or InStr(UserAgent,"offline")>0 Then Response.Write "请不要采用teleport/Webzip/Flashget/Offline等工具来浏览商城!" Response.End End If Function FormatSQL(strChar) if strChar="" then FormatSQL="" else FormatSQL=replace(replace(replace(replace(replace(replace(replace(strChar, "'","’"),"*","×"),"?","?"),"(","("),")",")"),"<","〈"),";",";") end if End Function Function SafeRequest(ParaName,ParaType) Dim ParaValue ParaValue=Request(ParaName) If ParaType=1 then If not isNumeric(ParaValue) then Response.write "<center>参数" & ParaName & "必须为数字型!</center>" Response.end End if Else ParaValue=replace(ParaValue,"'","''") End if SafeRequest=ParaValue End function
当时的第一反应就是:重写这两个文件,并采用解密的逆运算进行加密回去.折腾了半天觉得麻烦,就想别的方法. 于是就有了第二种方法 -- 直接删除限制部分. 操作步骤: 1,将admin/conn.asp第二行()删除. 2,将admin/chkadmin.asp的第6,7行 ( admin=FormatSQL(replace(trim(request("admin")),"'","")) password=md5(FormatSQL(replace(trim(request("password")),"'",""))) ) 中的FormatSQL函数去掉,6,7行改为: ( admin=replace(trim(request("admin")),"'","") password=md5(replace(trim(request("password")),"'","")) )
OK,覆盖这两个文件,搞定... 如果对安全不放心的话可以将自己写个函数替换FormatSQL函数.
PS.对网趣的安全性我不了解(没用过)不过估计可能存在安全漏洞.(个人认为) 没有相关教程
|