Skip to main content سوق المهارات اكتشف واستكشف مهارات الذكاء الاصطناعي التي بناها المجتمع.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
نسخ Promptعرض تفاصيل Prompt يتجاوز الأمر المباشر Prompt المخصّص للمراجعة. افحص المصدر قبل تشغيله.
npx skills add https://github.com/CyberStrikeus/CyberStrike --skill wstg-info-06يبقى الأمر في سطر واحد. مرّر أفقيًا لمراجعته كاملًا قبل النسخ.
تفضّل نسخة محلية؟ نزّل الملفات المتاحة حاليًا لدى SkillsMP.
تحميل Zip جاري التحميل... المهن ذات الصلة SOC
استنادا إلى تصنيف SOC المهني
name wstg-info-06 description Identify Application Entry Points category information-gathering owasp_id WSTG-INFO-06 version 1.0.0 author cyberstrike-official tags ["recon","fingerprint","enumeration","wstg","info"] tech_stack [] cwe_ids ["CWE-200"] chains_with ["wstg-inpv-05","wstg-inpv-09","wstg-conf-05"] prerequisites ["wstg-info-01"] severity_boost {}
wstg-info-06
Test ID
WSTG-INFO-06
Test Name
Identify Application Entry Points
High-Level Description
Entry points are the interfaces through which user-supplied data enters the application. Identifying all entry points is critical for mapping the application's attack surface before conducting targeted security tests. Entry points include URL parameters, POST body data, HTTP headers, cookies, file uploads, and any other mechanism that accepts user input. A comprehensive understanding of entry points allows penetration testers to systematically test each input vector for vulnerabilities such as injection, access control bypasses, and business logic flaws.
What to Check
Entry Point Categories
Information to Document
How to Test
Step 1: Configure Proxy and Browse Application
Burp Suite Setup
Configure browser to use Burp proxy (127.0.0.1:8080)
Enable interception or passive logging
Add target to scope
Browse all application functionality
Review Site Map for discovered endpoints
OWASP ZAP Setup
Launch ZAP and configure browser proxy
Enable HUD or traditional interface
Add target URL to context
Spider the application
Review Sites tree for entry points
Step 2: Analyze GET Requests GET /app/search?query=test&category=all&page=1&sort=desc HTTP/1.1
Host: target.com
Cookie: session=abc123; preference=dark
User-Agent: Mozilla/5.0
Referer: https://target.com/home
X-Requested-With: XMLHttpRequest
Entry Points in GET Request Location Parameter Value Query String query test Query String category all Query String page 1 Query String sort desc Cookie session abc123 Cookie preference dark Header User-Agent Mozilla/5.0 Header Referer https://... Header X-Requested-With XMLHttpRequest
Step 3: Analyze POST Requests POST /app/checkout HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded
Cookie: session=abc123
product_id=100&quantity=2&price=50.00&discount_code=SAVE10&shipping=express
Entry Points in POST Request Location Parameter Value Notes Body product_id 100 Potential IDOR Body quantity 2 Integer manipulation Body price 50.00 Price tampering Body discount_code SAVE10 Brute-force target Body shipping express Business logic
Step 4: Analyze JSON/API Requests POST /api/v1/users HTTP/1.1
Host: target.com
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1...
X-API-Key: abcd1234
{
"username": "newuser",
"email": "user@example.com",
"role": "user",
"permissions": ["read", "write"],
"metadata": {
"source": "web",
"version": "2.0"
}
}
Entry Points in JSON Request Location Parameter Path Type Header Authorization - JWT Token Header X-API-Key - API Key Body username $.username String Body email $.email Email Body role $.role Enum Body permissions $.permissions[] Array Body source $.metadata.source Nested
Step 5: Analyze RESTful URL Patterns GET /api/users/123/orders/456/items
URL Path Parameters Segment Type Description users Resource User collection 123 ID Parameter User ID (IDOR test) orders Resource Orders collection 456 ID Parameter Order ID (IDOR test) items Resource Items sub-resource
Step 6: Analyze Response Headers HTTP/1.1 200 OK
Server: nginx/1.18.0
Set-Cookie: session=newvalue; HttpOnly; Secure
Set-Cookie: tracking=xyz; Path=/
X-Request-ID: req-12345
X-Debug-Mode: enabled
Cache-Control: no-cache
Content-Type: application/json
Notable Response Elements Header Value Security Note Server nginx/1.18.0 Version disclosure Set-Cookie session=... Session management X-Debug-Mode enabled Debug info leak X-Request-ID req-12345 Tracking identifier
Step 7: Document Hidden Form Fields <form action ="/checkout" method ="POST" >
<input type ="hidden" name ="csrf_token" value ="abc123" />
<input type ="hidden" name ="user_id" value ="500" />
<input type ="hidden" name ="base_price" value ="100.00" />
<input type ="hidden" name ="is_admin" value ="false" />
<input type ="text" name ="quantity" value ="1" />
<button type ="submit" > Purchase</button >
</form >
Hidden Field Analysis Field Value Risk csrf_token abc123 Token strength user_id 500 IDOR vulnerability base_price 100.00 Price manipulation is_admin false Privilege escalation
Step 8: Map Multi-Step Processes Document workflows that require multiple requests:
1. GET /cart → View cart
2. POST /cart/apply-coupon → Apply discount
3. GET /checkout → Checkout page
4. POST /checkout/address → Submit address
5. POST /checkout/payment → Submit payment
6. POST /checkout/confirm → Confirm order
Process Flow Entry Points Step Method Key Parameters State 1 GET - Unauthenticated 2 POST coupon_code Cart active 3 GET - Authenticated 4 POST address_id, new_address Cart active 5 POST card_token, save_card Address set 6 POST confirm_token Payment ready
Step 9: Identify WebSocket Endpoints
ws :
wss :
{"action" : "subscribe" , "channel" : "orders" , "user_id" : 123 }
Step 10: Document GraphQL Entry Points
query {
user( id : 123 ) {
name
email
orders {
id
total
}
}
}
mutation {
updateUser( id : 123 , role : "admin" ) {
success
}
}
Tools
Proxy Tools Tool Description Key Feature Burp Suite Web proxy Site map, parameter extraction OWASP ZAP Open-source proxy Automated spider, HUD Fiddler Traffic inspector .NET integration mitmproxy CLI proxy Scriptable interception Charles Proxy macOS proxy SSL proxying
Automated Discovery Tool Description Usage Attack Surface Detector Source code analysis java -jar asd.jar <source>Param Miner Burp extension Hidden parameter discovery Arjun Parameter finder arjun -u https://target.comx8 Hidden parameter discovery x8 -u https://target.comParamSpider Parameter extraction paramspider -d target.com
API Analysis Tool Description Postman API testing Insomnia REST/GraphQL client GraphQL Voyager Schema visualization Swagger UI OpenAPI testing
Example Commands/Payloads
Burp Suite Entry Point Extraction
Navigate to Target > Site map
Right-click target > Engagement tools > Analyze target
Review "Entry points" section
Export parameters: Target > Site map > Right-click > Copy URLs
Arjun - Hidden Parameter Discovery
pip3 install arjun
arjun -u https://target.com/page
arjun -u https://target.com/page -w params.txt
arjun -u https://target.com/api -m POST -c 'Content-Type: application/json'
arjun -i urls.txt -o results.json
ParamSpider - URL Parameter Extraction
git clone https://github.com/devanshbatham/paramspider
cd paramspider
pip3 install -r requirements.txt
python3 paramspider.py -d target.com
python3 paramspider.py -d target.com -e js,css,png
python3 paramspider.py -d target.com -o params.txt
x8 - Hidden Parameter Discovery
cargo install x8
x8 -u https://target.com/page -w params.txt
x8 -u https://target.com/api -X POST -b '{"test":"value"}'
Custom Entry Point Documentation Script #!/bin/bash
INPUT_FILE=$1
OUTPUT_FILE="entry_points.csv"
echo "URL,Method,Parameter,Location,Type" > $OUTPUT_FILE
grep -oP 'https?://[^\s]+' $INPUT_FILE | while read url; do
echo "$url " | grep -oP '\?[^#]+' | tr '&' '\n' | while read param; do
name=$(echo $param | cut -d= -f1 | tr -d '?' )
echo "$url ,GET,$name ,Query String,Unknown" >> $OUTPUT_FILE
done
done
echo "Entry points saved to $OUTPUT_FILE "
Entry Point Documentation Template ## Endpoint: /api/users/{id}
### Request
- **Method** : PUT
- **Authentication** : Required (Bearer token)
- **Content-Type** : application/json
### Parameters
| Name | Location | Type | Required | Description |
| ------------- | -------- | ------- | -------- | ------------- |
| id | URL Path | Integer | Yes | User ID |
| Authorization | Header | String | Yes | JWT Token |
| name | Body | String | No | Display name |
| email | Body | String | No | Email address |
| role | Body | Enum | No | user/admin |
### Example Request
```json
PUT /api/users/123
Authorization: Bearer eyJ...
Content-Type: application/json
{
"name": "John Doe",
"email": "john@example.com",
"role": "user"
}
```
Test Cases
---
## Remediation Guide
### 1. Input Validation
```python
# Server-side validation example
def validate_user_input(data):
schema = {
'username': {'type': 'string', 'minlength': 3, 'maxlength': 50},
'email': {'type': 'string', 'regex': r'^[^@]+@[^@]+\.[^@]+$'},
'age': {'type': 'integer', 'min': 0, 'max': 150},
'role': {'type': 'string', 'allowed': ['user', 'moderator']}
}
# Validate against schema
return validate(data, schema)
2. Minimize Exposed Parameters
<input type ="hidden" name ="price" value ="100.00" />
<input type ="hidden" name ="is_admin" value ="false" />
<input type ="hidden" name ="product_id" value ="SKU123" />
3. Implement Proper Access Controls
def update_order (request, order_id ):
order = Order.objects.get(id =order_id)
if order.user_id != request.user.id :
return HttpResponseForbidden()
4. Use Security Headers Set-Cookie: session=value; HttpOnly; Secure; SameSite=Strict
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Content-Security-Policy: default-src 'self'
5. Rate Limiting # nginx rate limiting
limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;
server {
location /api/ {
limit_req zone=api burst=20 nodelay;
}
}
6. Monitor Reconnaissance Activity
Log all 404 errors and unusual parameter patterns
Alert on parameter fuzzing signatures
Implement honeypot parameters
Risk Assessment
CVSS Score This is a reconnaissance/enumeration activity , not a direct vulnerability. The CVSS score depends on what is discovered:
Entry Point Mapping (Info)
Base Score: 0.0 (Informational)
This is a testing methodology, not a finding
Excessive Entry Points (Observation)
Wide attack surface may indicate architectural concerns
Recommend minimizing unnecessary parameters
Attack Surface Indicators Observation Risk Level Implication < 20 parameters Low Minimal attack surface 20-50 parameters Medium Moderate attack surface 50-100 parameters High Large attack surface > 100 parameters Critical Extensive testing required
CWE Categories CWE ID Title Relevance CWE-20 Improper Input Validation Entry points require validation CWE-284 Improper Access Control Entry point authorization CWE-639 Authorization Bypass Through User-Controlled Key ID parameters in paths CWE-352 Cross-Site Request Forgery Form entry points
References
OWASP References
Tools
Additional Resources
Checklist [ ] Proxy configured and traffic captured
[ ] All GET parameters documented
[ ] All POST parameters documented
[ ] Hidden form fields identified
[ ] Cookie parameters noted
[ ] Custom headers recorded
[ ] RESTful path parameters mapped
[ ] JSON/XML body parameters extracted
[ ] File upload fields identified
[ ] WebSocket endpoints documented
[ ] GraphQL queries analyzed
[ ] Multi-step processes mapped
[ ] Authentication requirements noted
[ ] Parameter data types identified
[ ] Required vs optional parameters distinguished
[ ] Response headers analyzed
[ ] Entry point spreadsheet/document created
[ ] Attack surface summary prepared