Table of Contents 1 Introduction 2 Visual Basic Scripting 2.1 Scripting Editor/Debugger 2.1.1 Feature list of the GFI LANguard debugger 2.2 Important standards to follow 2.3 Native VBScript Functions supported in GFI LANguard 2.4 Common mistakes and pitfalls 2.5 Tips & Tricks 2.6 Developing a script in the GFI LANguard debugger 2.6.1 Running a script 2.6.2 Debugging breakpoints / Step In functionality 2.6.3 Monitoring the values inside variables 2.6.4 Debugging under alternative user sessions 2.6.5 Sending Parameters to the script 2.7 Adding a new scripting based vulnerability check to the scanner tool 2.7.1 Step 1: Creating the script 2.7.2 Step 2: Creating the new vulnerability check 3 Python Scripting 3.1 What is the Python programming language? 3.2 Creating a new vulnerability check using Python Script Test 3.2.1 Step 1: Creating the script 3.2.2 Step 2: Creating the new vulnerability check 3.3 Application Programming Interfaces (APIs) available in Python Scripts 3.3.1 Documentation for Pywin32 3.4 Debugging Python scripts 3.5 Using Libraries and code reusability 3.5.1 Creating a library 3.5.2 Using libraries 4 Object Documentation 4.1 Socket Object: 4.1.1 OpenTcp 4.1.2 OpenUdp 4.1.3 Close 4.1.4 Recv 4.1.5 Send 4.1.6 SendTo 4.1.7 SetTimeout 4.1.8 DnsLookup 4.1.9 ReverseDnsLookup 4.2 SNMP Object: 4.2.1 Connect 4.2.2 Get 4.2.3 GetNext 4.2.4 Set 4.2.5 Close 4.3 File Object: 4.3.1 Connect 4.3.2 Open 4.3.3 Close 4.3.4 Read 4.3.5 Write 4.3.6 WriteLine 4.3.7 Seek 4.3.8 Delete 4.3.9 Size 4.3.10 FileVersion 4.3.11 ProductVersion 4.3.12 Attributes 4.4 Registry Object: 4.4.1 Connect 4.4.2 Read 4.4.3 Write 4.4.4 GetFirstValue 4.4.5 GetNextValue 4.4.6 GetFirstKey 4.4.7 GetNextKey 4.4.8 DeleteValue 4.4.9 DeleteKey 4.5 HTTP Object 4.5.1 Connect 4.5.2 GetURL 4.5.3 PostURL 4.5.4 SendRequest 4.5.5 AddHeader 4.5.6 Verb Property 4.5.7 HTTPVersion Property 4.5.8 IP Property 4.5.9 Port Property 4.5.10 RawResponseHeaders Property 4.5.11 Body Property 4.5.12 Authentication Property 4.5.13 ProxyUser Property 4.5.14 ProxyPassword Property 4.5.15 HttpUser Property 4.5.16 HttpPassword Property 4.5.17 ResponseHeaders Property 4.6 HTTP Headers Object 4.6.1 HeaderValue 4.6.2 HeaderName 4.6.3 Count Property 4.7 FTP Object 4.7.1 Connect 4.7.2 GetCurrentDirectory 4.7.3 SetCurrentDirectory 4.7.4 CreateDirectory 4.7.5 RemoveDirectory 4.7.6 DeleteFile 4.7.7 GetFile 4.7.8 PutFile 4.7.9 RenameFile 4.7.10 FindFirstFile 4.7.11 FindNextFile 4.7.12 FindFileClose 4.7.13 GetFindFileName 4.7.14 GetFindFileSize 4.7.15 GetFindFileAttributes 4.7.16 LastError Property 4.8 Encode Object: 4.8.1 Base64Encode 4.8.2 Base64Decode 5 General Functions 5.1 About this manual 5.1.1 Echo 5.1.2 WriteToLog 5.1.3 StatusBar 5.1.4 AddListItem 5.1.5 SetDescription 6 Using ActiveX, COM and OLE Automation components 6.1 Introduction to using automation objects 6.1.1 Sample automation object usage script 7 Using Libraries and code reusability 7.1 Creating libraries 7.2 Using libraries