mirror of
https://github.com/projectdiscovery/nuclei-templates.git
synced 2026-02-01 00:03:39 +08:00
41 lines
1.1 KiB
YAML
41 lines
1.1 KiB
YAML
id: ajp-protocol-detect
|
|
|
|
info:
|
|
name: AJP Protocol Detection
|
|
author: pussycat0x
|
|
severity: info
|
|
reference:
|
|
- https://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html
|
|
metadata:
|
|
verfied: true
|
|
shodan-query: 'port:8009 product:"Apache Tomcat"'
|
|
max-request: 1
|
|
tags: js,network,detect,tomcat,apache,tcp,discovery
|
|
|
|
javascript:
|
|
- pre-condition: |
|
|
isPortOpen(Host,Port);
|
|
code: |
|
|
let packet = bytes.NewBuffer();
|
|
let ajp_ping = "\x12\x34\x00\x01\x0a"
|
|
data = packet.Write(ajp_ping )
|
|
const c = require("nuclei/net");
|
|
let conn = c.Open('tcp', `${Host}:${Port}`);
|
|
conn.Send(data);
|
|
let resp = conn.RecvFullString();
|
|
// AJP messages start with "AB"
|
|
if (resp.includes("AB\x00\x01")) {
|
|
Export("AJP Detected");
|
|
} else {
|
|
conn.Close();
|
|
}
|
|
|
|
args:
|
|
Host: "{{Host}}"
|
|
Port: 8009
|
|
|
|
extractors:
|
|
- type: dsl
|
|
dsl:
|
|
- response
|
|
# digest: 4b0a00483046022100853806f79ec18b20bb8764484f88623cc93bf7ee2ac65b9f90feba271b1183d5022100d30030cd88330b0bfefb0a89a4761610a838c4d223497a52e79a314d2dc46579:922c64590222798bb761d5b6d8e72950 |