Чтобы помочь предотвратить, что произошло с тем администратором веб-сайта и принятием Вас, имеют доступ к оболочке Unix или Cygwin, можно использовать
$ echo -n *password* | md5sum -
d1b13e9abbe4edb1b07317241969376e -
и проверьте что значение по базе данных MD5, как http://gdataonline.com/. Удостоверьтесь, что это не появляется там.
Кроме того, вот пример больше, необработанный словарь MD5, который я продвинулся, просто гугля для того значения хэш-функции (предупреждение: большой файл): https://secure.sensepost.com/sp-hash/jebwy
Один я записал для помощи коллеге, который RDPd к серверу, открыл Event Viewer, просмотрел его для ошибок. Затем повторенный для других 3 серверов... каждый день.
'
' WMI script to read all eventlog errors generated since last time this script was run.
' This script reads a datetime value from a file (EventView_date.txt) and uses it to
' construct a WMI query for all windows EventLog entries since then that are of type
' Error or error (seems winxp writes with a lowercase e)
'
' These results are written to a file (EventView_<dts>.log) and the time the script was
' run is written to the date file. This allows this script to be run several times a day
' and will only retrieve the error entries since the last run.
'
' If the date file is not present a new one will be created with the current date/time.
'
'
' Usage: click the vbs file in Windows Explorer to run using wscript. Some information
' will be displayed in message boxes (start time, each computer, number of records found)
' Alternatively type "cscript EventLogErrorView.vbs" in a command prompt to show the
' same details written to the command prompt. This can be used in a batch file, or in
' a scheduled task - the command is cscript, the parameter is this vbs file.
'
'
'
On Error Resume Next
'
' update this to refelect the computers to monitor - comma separated for multiple
'
arrComputers = Array("server1", "server2")
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
Set objFSO = CreateObject("Scripting.FileSystemObject")
today = ""
Set objDateFile = objFSO.OpenTextFile ("EventView_date.txt")
today = objDateFile.Readline
Wscript.echo "today = " & today
if (isempty(today)) then
WScript.Echo "Date file not found, using today's date at midnight"
today = Date & " 00:00:00"
end if
today = DateToWMIDateString(today)
' write current datetime to file for next run.
set objDateFile = objFSO.CreateTextFile("EventView_date.txt")
objDateFile.WriteLine(Date & " " & Time)
Set objFile = objFSO.CreateTextFile("EventView_" & today & ".log")
' start processing
WScript.Echo "Processing All Error reports since: " & today & " (" & WMIDateStringToDate(today) & ")"
objFile.WriteLine "Processing All Error reports since: " & today & " (" & WMIDateStringToDate(today) & ")"
For Each strComputer In arrComputers
objFile.WriteLine
objFile.WriteLine
objFile.WriteLine
objFile.WriteLine "=========================================="
objFile.WriteLine "Computer: " & strComputer
objFile.WriteLine "=========================================="
WScript.Echo "Computer: " & strComputer
' notes:
' timestamp comparisons in WMI queries are in the form YYYYMMDDHHMMSS.milliseconds+exp
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NTLogEvent WHERE (Type = 'error' OR Type= 'Error') AND TimeGenerated > '" & today & ".000000+000'", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
dim records
records = 0
For Each objItem In colItems
objFile.WriteLine "CategoryString: " & objItem.CategoryString
objFile.WriteLine "ComputerName: " & objItem.ComputerName
strData = Join(objItem.Data, ",")
objFile.WriteLine "Data: " & strData
objFile.WriteLine "EventCode: " & objItem.EventCode
objFile.WriteLine "EventIdentifier: " & objItem.EventIdentifier
objFile.WriteLine "EventType: " & objItem.EventType
strInsertionStrings = Join(objItem.InsertionStrings, ",")
objFile.WriteLine "InsertionStrings: " & strInsertionStrings
objFile.WriteLine "Logfile: " & objItem.Logfile
objFile.WriteLine "Message: " & objItem.Message
objFile.WriteLine "SourceName: " & objItem.SourceName
objFile.WriteLine "TimeGenerated: " & WMIDateStringToDate(objItem.TimeGenerated)
objFile.WriteLine "Type: " & objItem.Type
objFile.WriteLine "User: " & objItem.User
objFile.WriteLine
objFile.WriteLine "------------------------------------------"
objFile.WriteLine
records = records + 1
Next
WScript.Echo " " & records & " records found"
objFile.WriteLine " " & records & " records found"
Next
Function WMIDateStringToDate(dtmDate)
WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
& " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
End Function
' takes a dd/mm/yyyy hh:mm:ss format and turns it into yyyymmddhhmmss
Function DateToWMIDateString(dtmDate)
DateToWMIDateString = Year(dtmDate) & PadZeros(Month(dtmDate)) & PadZeros(Day(dtmDate)) & PadZeros(Hour(dtmDate)) & PadZeros(Minute(dtmDate)) & PadZeros(Second(dtmDate))
End Function
Function PadZeros(dtmDate)
If Len(dtmDate) = 1 Then
PadZeros = "0" & dtmDate
Else
PadZeros = dtmDate
End If
End Function
Один из моих favs (потому что это было мое первое), который дал мне большую часть проблемы..., что я записал много раз и пока это не работало правильно...., был сценарием, который удаленно 'отключил' наш самодельный веб-фильтр.
Мы используем 'специализированное' (мной) версия Сквида с некоторыми черными списками в свободном доступе к фильтру контента и портам блока на наших общедоступных машинах (я работаю на систему публичной библиотеки с 3 ответвлениями, медицинского размера).
Сценарий WMI работает на машине штата. После того как сотрудник выполняет его, ему предлагают выбрать который машина отключить фильтр. Когда сценарий выполняется, по существу он удаляет галочку из прокси, устанавливающего opions в Internet Explorer на уровне реестра.
Фильтр включен пакетным файлом, который исчерпывает, когда сессия покровителей закончилась и компьютер автоматические журналы прочь и назад на.
Мы закончили тем, что использовали мой WMI только на нескольких тестовых машинах, но я действительно любил изучать, как почти что-либо может быть выполнено с WMI.
Сценарий полезен, и я могу выполнить это. Но файл только показывает информацию как
========================================== Данные: InsertionStrings:
1 records found
Больше по ("EventView _" и сегодня и ".log") этот файл просто создает файл с EventView_00.log не с фактической датой. Согласно синтаксису это должно дать данные вместо этого прочь), 00.
From WSH JScript:
// List errors from Windows EventLog (filter only errors from last month). function leadingzero(str) { if (str.length == 1) return "0"+str; else return str; } function good_date(d) { var dstr = d.getFullYear().toString(); dstr += leadingzero((d.getMonth()+1).toString()); dstr += leadingzero(d.getDate().toString()); dstr += leadingzero(d.getHours().toString()); dstr += leadingzero(d.getMinutes().toString()); dstr += leadingzero(d.getSeconds().toString()); dstr += ".000000-000"; return dstr; } // 24*3600*1000 - one day // 30*24*3600*1000 - one month time = good_date(new Date(new Date() - 30*24*3600*1000)); var wbemFlagReturnImmediately = 0x10; var wbemFlagForwardOnly = 0x20; var objWMIService = GetObject("winmgmts:\\\\.\\root\\CIMV2"); var items = objWMIService.ExecQuery("SELECT * FROM Win32_NTLogEvent WHERE (Type = 'Ошибка' OR Type = 'Error') AND TimeGenerated > '" + time + "'", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly); var enumItems = new Enumerator(items); for (enumItems.moveFirst(); !enumItems.atEnd(); enumItems.moveNext()) { var i = enumItems.item(); WScript.Echo("Type: " + i.Type + "\n" + "Message: " + i.Message + "\n" + "TimeGenerated: " + i.TimeGenerated); }