今天在别人的东东里捉了条虫子,哈第一次

来源:互联网 发布:新手学什么c语言 编辑:程序博客网 时间:2024/04/28 23:30

其实很简单,就是设法跟踪一个数据就完了。
CS模式的(我现在参与的项目,不过我捉虫子的部分不是我开发,不是我有责任配合做调试)客户端登陆请求却报校验码错误,这种情况只出现在部分用户的机器。
学计算机的同志们想必都知道校验码这个东东,我也知道,嘻嘻,还记得一点,叫什么奇偶校验的,用未一bit来判断数据传输前后是否正确。我们这里的也有类似的功能吧。就是客户端发出登陆请求同时根据约定的加密算法生成安全ID,在服务端也用同样的算法算出安全ID,一校验看是否OK。其实到现在我还不太明这有什么用,它好像把用户ID和密码加密来确保数据在传输过程不会丢失(或被篡改)而造成数据丢失,这个在服务器还经过数据库验证的啊,要篡改直接提交过来好了。安全还是搞不太懂。
哎,扯太远了,说回来,之所以报校验码错误,必然是请求前后的安全ID出问题了。一开始大家都想不通,既然使用同一个约定的算法不可能报这个错。可能一来事情太多了,二来只有少部用户出现这种情况,都没动手跟踪数据,哈这回“老总”的机子重装了,login……“校验码错误”。呵呵压下来了。其实我今天还在研究他们的数据交换原理,还没想到怎么去跟踪数据,不过跟踪这些数据不必彻底理解。一开始我还想让他们客户端开发那边给我做一个跟踪的版本,NND老是说是我们服务器这边的问题不理不采。只有部分客户端报错,问题还会出现服务器端??TMD跟踪就跟踪,不就是一些脚本嘛。还好,折腾一阵子还是找到原始。报错的客户端提交到服务器的请求时间含有中文,导致前后算法结果不对。无言了,自己的东东还要别人帮他找错,还咄咄逼人的,很明显的也很容易找的错嘛。NND真的那么忙吗?谢谢NND的,让我动手我就学到东东,哈!



'===================================
'name:trackXMLtoDisk
'Description:记录登陆日志
'INPUT:LogContent,UserId
'OUTPUT:
'author:Kemin
'Date:2005-4-28
'=======================================
sub trackXMLtoDisk(LogContent, UserId)
    dim FSO,LogFile,LogFolder
    dim LogFolderPath
    '登陆日志文件夹
    LogFolderRootPath = "D:/XXXX/ChatRoomLoginLog/"
    set FSO = server.CreateObject("scripting.filesystemobject")
    '初始化日志文件夹,一天一个
    LogFolderPath = LogFolderRootPath & CSTR(DATE) & "/"
    if not FSO.FolderExists(LogFolderPath) then
        set LogFolder = FSO.CreateFolder(LogFolderRootPath & CSTR(DATE))
        LogFolderPath = LogFolder.path & "/"
    end if
    '创建日志文件,并写入登陆xml数据
    set LogFile = FSO.CreateTextFile(LogFolderPath & UserId & CSTR(DATE)&".txt", True)
    LogFile.WriteLine(LogContent)
    LogFile.Close
end sub

之前也用过一次fso,一个简单图片上传的东东
'=========================
'==============First Step: Get All pic file name fill in a dictionary "dicFileName"
    Dim oFSO
    Dim oFolder
    Dim oFiles
    Dim dicFileName
    Dim i
    i = 1
    Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
    Set oFolder = oFSO.GetFolder(Server.MapPath("pic"))
    Set oFiles = oFolder.Files
    Set dicFileName = Server.CreateObject("Scripting.Dictionary")
    For Each oFile in oFiles
        dicFileName.Add i, oFile.Name
        i = i + 1
    Next
    'For i = 0 To dicFileName.Count
        'Response.Write dicFileName.Item(i) & "<br>"
    'Next

'=============Second : Get the custom pic Name from a txt file and fill into another
'=============dictionary for later use.
    Dim oTextStream
    Dim dicPicName
    Set oTextStream = oFSO.OpenTextFile(Server.MapPath(".") & "/picName.txt")
    Set dicPicName = Server.CreateObject("Scripting.Dictionary")
    i = 1
    While Not oTextStream.AtEndOfLine
        dicPicName.Add i, oTextStream.ReadLine
        i = i + 1
    Wend

原创粉丝点击