vscan
开源、轻量、快速、跨平台 的网站漏洞扫描工具,帮助您快速检测网站安全隐患。功能 端口扫描(port scan) 指纹识别(fingerprint) 漏洞检测(nday check) 智能爆破 (admin brute) 敏感文件扫描(file fuzz)
Top Related Projects
Fast and customizable vulnerability scanner based on simple YAML based DSL.
Nmap - the Network Mapper. Github mirror of official SVN repository.
Nikto web server scanner
WPScan WordPress security scanner. Written for security professionals and blog maintainers to test the security of their WordPress websites. Contact us via contact@wpscan.com
Directory/File, DNS and VHost busting tool written in Go
A Tool for Domain Flyovers
Quick Overview
VScan is an open-source vulnerability scanning tool designed for network security assessment. It combines the functionality of multiple security tools to provide a comprehensive vulnerability analysis, including port scanning, service detection, and vulnerability identification.
Pros
- Integrates multiple security tools into a single platform
- Supports both IPv4 and IPv6 scanning
- Offers customizable scanning options and output formats
- Regularly updated with new vulnerability signatures
Cons
- May generate false positives in some scenarios
- Requires root/administrator privileges for full functionality
- Can be resource-intensive for large-scale scans
- Learning curve for advanced features and customization
Code Examples
# Basic port scan
from vscan import Scanner
scanner = Scanner("192.168.1.0/24")
results = scanner.scan(ports=[80, 443, 8080])
print(results)
# Service detection and vulnerability scan
from vscan import Scanner, VulnDB
scanner = Scanner("example.com")
vuln_db = VulnDB()
results = scanner.scan(service_detection=True, vuln_scan=True, vuln_db=vuln_db)
print(results.vulnerabilities)
# Custom output format
from vscan import Scanner, OutputFormatter
scanner = Scanner("10.0.0.1-10.0.0.10")
formatter = OutputFormatter(format="json")
results = scanner.scan(ports="1-1000")
formatted_output = formatter.format(results)
print(formatted_output)
Getting Started
To get started with VScan, follow these steps:
-
Install VScan:
pip install vscan
-
Import the necessary modules:
from vscan import Scanner, VulnDB, OutputFormatter
-
Create a scanner instance and perform a basic scan:
scanner = Scanner("target_ip_or_range") results = scanner.scan(ports="1-1000") print(results)
For more advanced usage and configuration options, refer to the project's documentation.
Competitor Comparisons
Fast and customizable vulnerability scanner based on simple YAML based DSL.
Pros of Nuclei
- Extensive template library with community contributions
- Highly customizable and flexible scanning engine
- Supports multiple protocols beyond HTTP (e.g., DNS, TCP, SSL)
Cons of Nuclei
- Steeper learning curve for creating custom templates
- Can be resource-intensive for large-scale scans
- Requires more setup and configuration compared to simpler tools
Code Comparison
Nuclei template example:
id: example-template
info:
name: Example Template
severity: info
requests:
- method: GET
path:
- "{{BaseURL}}/example"
matchers:
- type: word
words:
- "Example Response"
VScan usage example:
vscan -t http://example.com -m dir
Key Differences
- Nuclei uses YAML-based templates for defining scans, while VScan relies on built-in modules
- Nuclei offers more advanced features and customization options
- VScan is generally simpler to use for basic scanning tasks
Use Cases
- Nuclei: Ideal for comprehensive vulnerability assessments and custom security checks
- VScan: Better suited for quick, straightforward scans with minimal setup
Nmap - the Network Mapper. Github mirror of official SVN repository.
Pros of Nmap
- Extensive feature set and versatility for network scanning and security auditing
- Large, active community and continuous development
- Well-documented with comprehensive man pages and online resources
Cons of Nmap
- Steeper learning curve for beginners
- Can be resource-intensive for large-scale scans
- May trigger security alerts or be blocked by firewalls
Code Comparison
Nmap (C++):
static void tcp_scan(Target *target, u16 *portarray, int numports,
struct scan_lists *ports) {
o.current_scantype = CONNECT_SCAN;
tcp_scan_engine(target, portarray, numports, ports);
}
Vscan (Go):
func ScanPort(protocol string, hostname string, port int) bool {
address := hostname + ":" + strconv.Itoa(port)
conn, err := net.DialTimeout(protocol, address, time.Second)
if err != nil {
return false
}
defer conn.Close()
return true
}
The code snippets show different approaches to port scanning. Nmap uses a more complex C++ implementation with a dedicated scan engine, while Vscan employs a simpler Go function for individual port checks.
Nikto web server scanner
Pros of Nikto
- More mature and widely used project with a larger community
- Extensive plugin system for customization and extensibility
- Comprehensive web server and web application vulnerability scanning
Cons of Nikto
- Slower scanning speed compared to VScan
- Less focus on modern web technologies and frameworks
- Perl-based, which may be less familiar to some developers
Code Comparison
Nikto (Perl):
sub nikto_headers {
my ($mark) = @_;
my %headers;
foreach my $header (split(/\n/, $mark->{'headers'})) {
my ($key, $value) = split(/:\s*/, $header, 2);
$headers{lc($key)} = $value;
}
return %headers;
}
VScan (Go):
func scanHeaders(headers http.Header) {
for name, values := range headers {
for _, value := range values {
checkHeader(name, value)
}
}
}
The code snippets show different approaches to handling HTTP headers. Nikto uses Perl to parse and process headers, while VScan utilizes Go's built-in HTTP header handling. VScan's implementation is more concise and leverages Go's strong typing and standard library.
WPScan WordPress security scanner. Written for security professionals and blog maintainers to test the security of their WordPress websites. Contact us via contact@wpscan.com
Pros of WPScan
- More comprehensive WordPress-specific scanning capabilities
- Larger community and more frequent updates
- Extensive database of known WordPress vulnerabilities
Cons of WPScan
- Slower scanning speed compared to VScan
- Limited to WordPress sites only
- Requires Ruby installation and dependencies
Code Comparison
WPScan (Ruby):
def scan_wordpress_version
response = Browser.get(url_with_wrong_param)
version = response.html.css('meta[name="generator"]').first['content'].to_s.strip
version = version.match(/\d+\.\d+(\.\d+)?/)[0] if version =~ /\d+\.\d+(\.\d+)?/
Version.new(version)
end
VScan (Go):
func ScanWordPressVersion(url string) (string, error) {
resp, err := http.Get(url)
if err != nil {
return "", err
}
defer resp.Body.Close()
// Parse HTML and extract version
// ...
}
VScan is a more general-purpose web vulnerability scanner written in Go, while WPScan is specifically tailored for WordPress sites and written in Ruby. VScan offers faster scanning speeds and broader applicability, but WPScan provides more in-depth WordPress-specific vulnerability detection.
Directory/File, DNS and VHost busting tool written in Go
Pros of Gobuster
- More mature and widely used project with a larger community
- Supports multiple modes (DNS, vhost, directory/file enumeration)
- Actively maintained with regular updates and bug fixes
Cons of Gobuster
- Written in Go, which may have a steeper learning curve for some users
- Lacks some advanced features found in vscan, such as custom payload generation
- May be slower for certain types of scans compared to vscan
Code Comparison
vscan (Python):
def scan(self, target, port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(self.timeout)
result = sock.connect_ex((target, port))
sock.close()
return result == 0
Gobuster (Go):
func (s *Scanner) Scan(ctx context.Context, host string, port int) (bool, error) {
address := fmt.Sprintf("%s:%d", host, port)
conn, err := s.dialer.DialContext(ctx, "tcp", address)
if err != nil {
return false, err
}
conn.Close()
return true, nil
}
Both code snippets show basic port scanning functionality, with vscan using Python's socket library and Gobuster using Go's net package. The main difference lies in the language-specific implementations and error handling approaches.
A Tool for Domain Flyovers
Pros of Aquatone
- More comprehensive web-based reconnaissance tool with screenshot capabilities
- Supports multiple input formats and integrates with other tools
- Active development and community support
Cons of Aquatone
- Primarily focused on web-based targets, less versatile for general network scanning
- Requires more dependencies and setup compared to vscan
- May be slower for large-scale scans due to its additional features
Code Comparison
Aquatone (Ruby):
def run_tasks(urls)
threads = []
urls.each do |url|
threads << Thread.new { process_url(url) }
end
threads.each(&:join)
end
vscan (Go):
func ScanPorts(host string, ports []int) {
for _, port := range ports {
go scanPort(host, port)
}
}
Key Differences
- Aquatone is written in Ruby, while vscan is written in Go
- Aquatone focuses on web reconnaissance with visual output, vscan is a lightweight port scanner
- Aquatone has more features and integrations, vscan is simpler and faster for basic port scanning
Use Cases
- Aquatone: Web application security assessments, bug bounty hunting
- vscan: Quick network scans, basic security audits, lightweight port enumeration
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
å¼æºãè½»éãå¿«éãè·¨å¹³å° çç½ç«æ¼æ´æ«æå·¥å ·ï¼å¸®å©æ¨å¿«éæ£æµç½ç«å®å ¨éæ£ã
ç¼è¯/å®è£ /è¿è¡ ⢠åæ°è¯´æ ⢠使ç¨æ¹æ³ ⢠使ç¨åºæ¯ ⢠POCå表 ⢠èªå®ä¹æ«æå¨
Features
- å¿«éç端å£æ«æãæ纹æ¢æµåè½
- å¿«éçç»å½å¯ç çç ´åè½
- å¿«éçPOCæ£æµåè½
- å¿«éçæææ件æ£æµåè½
- è½»éãå¼æºã跨平å°ä½¿ç¨
- æ¯ææ纹 650(eHole) + 3129(Local) + 3053(wappalyzergo) = 6832 æ¡
- æ¯æ Xray å Nuclei ç POC æ£æµ
- æ¯æå¤ç§ç±»åçè¾å ¥ - STDIN/HOST/IP/CIDR/URL/TXT
- æ¯æå¤ç§ç±»åçè¾åº - JSON/TXT/CSV/STDOUT
Licenses
æ¬å·¥å ·ä» é¢ååæ³ææçä¼ä¸å®å ¨å»ºè®¾è¡ä¸ºï¼å¨ä½¿ç¨æ¬å·¥å ·è¿è¡æ£æµæ¶ï¼æ¨åºç¡®ä¿è¯¥è¡ä¸ºç¬¦åå½å°çæ³å¾æ³è§ï¼å¹¶ä¸å·²ç»åå¾äºè¶³å¤çææã
å¦æ¨å¨ä½¿ç¨æ¬å·¥å ·çè¿ç¨ä¸åå¨ä»»ä½éæ³è¡ä¸ºï¼æ¨éèªè¡æ¿æ ç¸åºåæï¼ä½è å°ä¸æ¿æ ä»»ä½æ³å¾åè¿å¸¦è´£ä»»ã
å¨ä½¿ç¨æ¬å·¥å ·åï¼è¯·æ¨å¡å¿ 审æ é 读ãå åç解åæ¡æ¬¾å 容ï¼éå¶ãå è´£æ¡æ¬¾æè å ¶ä»æ¶åæ¨é大æççæ¡æ¬¾å¯è½ä¼ä»¥å ç²ãå ä¸å线çå½¢å¼æ示æ¨éç¹æ³¨æã é¤éæ¨å·²å åé 读ãå®å ¨ç解并æ¥åæ¬åè®®æææ¡æ¬¾ï¼å¦åï¼è¯·æ¨ä¸è¦ä½¿ç¨æ¬å·¥å ·ãæ¨ç使ç¨è¡ä¸ºæè æ¨ä»¥å ¶ä»ä»»ä½æ示æè é»ç¤ºæ¹å¼è¡¨ç¤ºæ¥åæ¬åè®®çï¼å³è§ä¸ºæ¨å·²é 读并åææ¬åè®®ç约æã
å®æ-æç«å®éªå®¤
Top Related Projects
Fast and customizable vulnerability scanner based on simple YAML based DSL.
Nmap - the Network Mapper. Github mirror of official SVN repository.
Nikto web server scanner
WPScan WordPress security scanner. Written for security professionals and blog maintainers to test the security of their WordPress websites. Contact us via contact@wpscan.com
Directory/File, DNS and VHost busting tool written in Go
A Tool for Domain Flyovers
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot