赛迪网 > IT技术 网络安全 > 系统&数据库安全
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

数据安全:海洋顶端2006+密码编码分析 (1)

发布时间:2006.05.09 07:31     来源:anqn    作者:unknown

海洋顶端是很出名的 ASP 木马,我从红粉佳人版本开始就一直用它,也算是它的fans了,今年海洋顶端出了最新版本也是最后一个版本 —— 2006Plus。
身为fans,自然要拿来用用才是,初次使用感觉有了几个变化:界面变了,文件浏览不再是图标形式;所有动作改为POST方式提交;功能增加;……唉呀,赶紧打住,再写就变成广告了^_^

  海洋顶端以往的各个版本密码都是明文存放的,这回 2006+ 专门有个 vbs 脚本用于加密密码。这几天闲得无聊,就来尝试分析一下它的加密方式。

  加密密码的脚本是在 down 回来的 vbs 目录里面名为Encode.vbs的文件。先看代码,注释是我加的:
 

        Dim theStr 
         theStr = InputBox("请输入要加密的字串")
         If theStr <> "" Then
                   Call InputBox("请复制已经加密好的字串",,Encode(theStr))
         End If
         Function Encode(strPass)
                   Dim i, theStr, strTmp
’ for循环得到密码各个字符的ascii值,每位值都在0~9
                   For i = 1 To Len(strPass)
                            strTmp = Asc(Mid(strPass, i, 1))
                            theStr = theStr & Abs(strTmp)
                   Next
                   strPass = theStr
                   theStr = ""
’ 如果前面得到的值位数大于16就进入JoinCutStr函数处理,使之小于16
                   Do While Len(strPass) > 16
                            strPass = JoinCutStr(strPass)
                   Loop
’ 这个for循环处理每个字符,把7、8、9转为C、D、E,其余不变
                   For i = 1 To Len(strPass)
                            strTmp = CInt(Mid(strPass, i, 1))
                            strTmp = IIf(strTmp > 6, Chr(strTmp + 60), strTmp)
                            theStr = theStr & strTmp
                   Next
                   Encode = theStr
         End Function
’ JoinCutStr函数把奇数位和偶数位的ascii相加整除2得到新字符,取值在0~9
         Function JoinCutStr(str)
                   Dim i, theStr
                   For i = 1 To Len(str)
                            If Len(str) - i = 0 Then Exit For
                            theStr = theStr & Chr(CInt((Asc(Mid(str, i, 1)) + Asc(Mid(str, i + 1, 1))) / 2))
                            i = i + 1
                   Next
                   JoinCutStr = theStr
         End Function
’ VB的(a>b)?a:b
         Function IIf(var, val1, val2)
                   If var = True Then
                            IIf = val1
                    Else
                            IIf = val2
                   End If
         End Function 


 

1 2 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 建立防火墙的主动性网络安全体系 (05-08) · 数据安全:反垃圾邮件技术发展分析 (05-08)
· 网络安全防范体系及设计上的原则 (05-08) · 网络安全管理:三分技术加七分管理 (05-08)
· 拒绝网络黑客 如何防御Sniffer攻击 (05-08) · 利用ASP.NET的内置功能抵御Web攻击 (05-08)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管