
WRecon, wordpress के लिए भेद्यताओं और ब्लैकबॉक्स जानकारी की पहचान करने का एक उपकरण है।
एक शक्तिशाली, टेम्पलेट-संचालित वर्डप्रेस टोही और भेद्यता स्कैनिंग उपकरण
विशेषताएँ • स्थापना • उपयोग • आर्किटेक्चर • टेम्पलेट
WPRecon एक आधुनिक वर्डप्रेस सुरक्षा टोही उपकरण है जिसे Go में बनाया गया है। यह सुरक्षा इंजीनियरों को वर्डप्रेस इंस्टॉलेशन में भेद्यताओं, गलत कॉन्फ़िगरेशन और सूचना प्रकटीकरण समस्याओं की पहचान करने में मदद करता है।
हार्डकोडेड जांच वाले पारंपरिक भेद्यता स्कैनर के विपरीत, WPRecon YAML-संचालित टेम्पलेट आर्किटेक्चर का उपयोग करता है, जो सक्षम बनाता है:
प्रतिक्रियाओं में सकारात्मक हिट की पहचान करें:
मिलान की गई प्रतिक्रियाओं से कार्रवाई योग्य डेटा निकालें:
150+ उत्पादन-तैयार टेम्पलेट जो कवर करते हैं:
# रिपॉज़िटरी को क्लोन करें
git clone https://github.com/ffx64/wprecon.git
cd wprecon
# बाइनरी बनाएं
go build -o wprecon ./cmd/wprecon/main.go
# इसे अपने PATH में ले जाएं (वैकल्पिक)
sudo mv wprecon /usr/local/bin/
go install github.com/ffx64/wprecon/cmd/wprecon@latest
docker build -t wprecon .
docker run wprecon scan https://example.com
सभी उपलब्ध टेम्पलेट के साथ किसी WordPress वेबसाइट को स्कैन करें:
wprecon scan https://example.com
केवल चयनित टेम्पलेट चलाएँ:
wprecon scan https://example.com -t wordpress-detection,plugin-detection,user-enumeration
# स्वचालन के लिए JSON आउटपुट
wprecon scan https://example.com --output json
# सुंदर-मुद्रित तालिका (डिफ़ॉल्ट)
wprecon scan https://example.com --output table
# 20 समवर्ती वर्कर और 100 अनुरोध/सेकंड का उपयोग करें
wprecon scan https://example.com --workers 20 --rate-limit 100
wprecon list-templates
wprecon --help
स्कैन चलाने पर, WPRecon विस्तृत निष्कर्ष उत्पन्न करता है:
तालिका प्रारूप:
ID | Template | Name | Severity | Target | Evidence
---------------------|------------------------|--------------------------|----------|---------------------|----------
finding_001 | wordpress-version | WordPress Version Found | info | example.com | 6.2.1
finding_002 | plugin-detection | Plugin Detected | low | example.com | Yoast SEO 16.0
finding_003 | security-headers | Missing Security Headers | medium | example.com | X-Frame-Options
JSON प्रारूप:
{
"scan_id": "scan_uuid_001",
"timestamp": "2026-04-10T14:37:00Z",
"target": "https://example.com",
"total_findings": 15,
"findings": [
{
"id": "finding_uuid_001",
"template_id": "wordpress-detection",
"name": "WordPress Installation Detected",
"description": "WordPress CMS installation identified on target",
"severity": "info",
"cvss_score": 0.0,
"matched_url": "https://example.com/wp-admin/",
"http_method": "GET",
"status_code": 200,
"response_time_ms": 245,
"evidence": {
"version": "6.2.1",
"wp_version_header": "6.2.1"
},
"timestamp": "2026-04-10T14:37:00Z",
"remediation": "Keep WordPress updated to the latest version"
}
]
}
wprecon/
├── cmd/wprecon/
│ └── main.go # CLI प्रवेश बिंदु
├── internal/
│ ├── app/
│ │ ├── cli.go # CLI कमांड हैंडलर
│ │ └── api.go # REST API हैंडलर
│ ├── engine/
│ │ ├── scanner.go # स्कैन ऑर्केस्ट्रेशन
│ │ ├── worker_pool.go # समानांतरकरण इंजन
│ │ ├── context.go # स्कैन संदर्भ प्रबंधन
│ │ ├── logger.go # लॉगिंग उपयोगिताएँ
│ │ └── rate_limit.go # दर सीमित करना
│ ├── executor/
│ │ ├── http_executor.go # HTTP क्लाइंट
│ │ ├── request_builder.go # अनुरोध निर्माण
│ │ └── variables.go # चर समाधान
│ ├── matchers/
│ │ └── matchers.go # प्रतिक्रिया मिलान तर्क
│ ├── extractors/
│ │ └── extractors.go # डेटा निष्कर्षण
│ ├── templates/
│ │ ├── loader.go # टेम्पलेट खोज
│ │ └── parser.go # YAML पार्सिंग
│ ├── pipeline/
│ │ └── pipeline.go # स्कैन वर्कफ़्लो
│ └── domain/
│ ├── template.go # डेटा मॉडल
│ ├── finding.go
│ ├── http.go
│ ├── matcher.go
│ └── extractor.go
├── templates/ # YAML टेम्पलेट लाइब्रेरी
│ ├── wordpress/ # WordPress-विशिष्ट
│ ├── cves/ # CVE पहचान
│ ├── exposures/ # सूचना प्रकटीकरण
│ ├── common/ # सामान्य जाँच
│ └── waf/ # WAF पहचान
└── go.mod # निर्भरताएँ
┌─────────────────────────────────────────────┐
│ उपयोगकर्ता इंटरफ़ेस (CLI/API) │
└─────────────────────────────────────────────┘
│
├─→ टेम्पलेट लोडर
├─→ दर सीमक
└─→ वर्कर पूल प्रबंधक
│
▼
┌─────────────────────────────────────────────┐
│ स्कैन पाइपलाइन इंजन │
│ ┌────────→ अनुरोध निर्माता │
│ │ ┌────────→ HTTP निष्पादक │
│ │ │ ┌────────→ मिलानकर्ता (5 प्रकार) │
│ │ │ │ ┌────────→ निकालने वाले (2 प्रकार) │
│ │ │ │ │ ┌────────→ निष्कर्ष रिपोर्ट │
│ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ ▼ │
│ टेम्पलेट → अनुरोध → प्रतिक्रिया → निष्कर्ष │
└─────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ आउटपुट फ़ॉर्मेटर और भंडारण │
│ (JSON, तालिका, रिपोर्ट जनरेशन) │
└─────────────────────────────────────────────┘
टेम्पलेट YAML फ़ाइलें हैं जो परिभाषित करती हैं कि WPRecon को विशिष्ट भेद्यताओं या सूचना के लिए कैसे स्कैन करना चाहिए।
id: wordpress-version-detection
name: WordPress संस्करण पहचान
description: readme.html से WordPress संस्करण का पता लगाता है और निकालता है
severity: info
author: WPRecon टीम
requests:
- url: "{{BaseURL}}/readme.html"
method: GET
matchers:
- type: status
status:
- 200
- type: word
words:
- "WordPress"
extractors:
- type: regex
regex:
- 'Version (\d+\.\d+\.\d+)'
templates/custom/ में एक नई YAML फ़ाइल बनाएंउदाहरण:
# कस्टम टेम्पलेट बनाएं
cat > templates/custom/my-check.yaml << 'EOF'
id: my-custom-check
name: मेरी कस्टम जाँच
description: कस्टम भेद्यता का पता लगाता है
severity: medium
author: आपका नाम
requests:
- url: "{{BaseURL}}/vulnerable-endpoint"
method: GET
matchers:
- type: status
status:
- 200
- type: word
words:
- "vulnerable"
EOF
# कस्टम टेम्पलेट के साथ स्कैन करें
wprecon scan https://example.com -t my-custom-check
# HTTP टाइमआउट (डिफ़ॉल्ट: 10s)
export WPRECON_TIMEOUT=15
# वर्कर की संख्या (डिफ़ॉल्ट: 10)
export WPRECON_WORKERS=20
# अनुरोध प्रति सेकंड (डिफ़ॉल्ट: 50)
export WPRECON_RATE_LIMIT=100
# लॉग स्तर (डिफ़ॉल्ट: info)
export WPRECON_LOG_LEVEL=debug
# टेम्पलेट निर्देशिकाएँ (डिफ़ॉल्ट: ./templates)
export WPRECON_TEMPLATE_DIRS=/path/to/templates:/path/to/more/templates
wprecon scan <लक्ष्य> \
--templates-dir ./custom-templates \
--workers 20 \
--rate-limit 100 \
--timeout 15 \
--output json \
--log-level debug
WordPress इंस्टॉलेशन का व्यापक सुरक्षा मूल्यांकन:
wprecon scan https://example.com --output json > assessment_report.json
तैनाती पाइपलाइनों में स्वचालित भेद्यता स्कैनिंग:
# GitHub Actions उदाहरण
- name: WordPress सुरक्षा स्कैन
run: |
wprecon scan ${{ secrets.STAGING_URL }} \
--output json \
--templates wordpress-detection,plugin-detection,cve-checks
कई लक्ष्यों को कुशलतापूर्वक स्कैन करें:
cat targets.txt | while read target; do
wprecon scan "$target" --output json >> results.json
done
# बाइनरी बनाएं
go build -o wprecon ./cmd/wprecon/main.go
# कई प्लेटफ़ॉर्म के लिए बनाएं
GOOS=linux GOARCH=amd64 go build -o wprecon-linux ./cmd/wprecon/main.go
GOOS=darwin GOARCH=amd64 go build -o wprecon-darwin ./cmd/wprecon/main.go
GOOS=windows GOARCH=amd64 go build -o wprecon-windows.exe ./cmd/wprecon/main.go
google/uuid v1.6.0 - UUID जनरेशन निष्कर्षों के लिए
gopkg.in/yaml.v3 - YAML टेम्पलेट पार्सिंग
git checkout -b feature/my-template)templates/ में जोड़ेंwprecon scan https://test.site -t your-templateयह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।
❤️ के साथ बनाया गया Matheus (ffx64) के लिए
| विशेषता | विवरण |
|---|
| समानांतर स्कैनिंग | समवर्ती अनुरोधों के लिए कॉन्फ़िगरेबल वर्कर पूल (डिफ़ॉल्ट: 10 वर्कर) |
| दर सीमित करना | नेटवर्क-अनुकूल होने के लिए अंतर्निहित अनुरोध थ्रॉटलिंग (डिफ़ॉल्ट: 50 अनुरोध/सेकंड) |
| स्वतः पुनर्प्रयास | विफल HTTP अनुरोधों के लिए स्वचालित पुनर्प्रयास तर्क |
| हॉट रीलोड टेम्पलेट | कोई पुनर्संकलन आवश्यक नहीं - टेम्पलेट जोड़ें और स्कैन करें |
| चर समाधान | गतिशील चर: {{BaseURL}}, {{Timestamp}}, {{RandomInt}} |
| बहु-प्रारूप आउटपुट | मानव-पठनीय तालिकाएँ और संरचित JSON |
| CLI और API मोड | कमांड-लाइन और REST API दोनों इंटरफ़ेस |
| गंभीरता स्तर | निष्कर्षों को info, low, medium, high, critical के रूप में वर्गीकृत किया गया |
| टेम्पलेट | उद्देश्य |
|---|
wordpress-detection | WordPress इंस्टॉलेशन का पता लगाएं |
wordpress-version | WordPress संस्करण फिंगरप्रिंट करें |
plugins.yaml | स्थापित प्लगइन का पता लगाएं |
themes.yaml | स्थापित थीम का पता लगाएं |
users.yaml | WordPress उपयोगकर्ताओं की गणना करें |