"/etc/hosts" फ़ाइल लिखने पर Substack एडिटर में त्रुटि
(scalewithlee.substack.com)- Substack एडिटर में कुछ विशेष system path लिखने पर network error होता है
- web application firewall (WAF) ऐसे path को path traversal attack और command injection attack रोकने के लिए block करता है
- security और usability के बीच संतुलन एक अहम मुद्दे के रूप में उभरता है
- technical writers के लिए बेहतर समाधान की ज़रूरत है
- alternative path का उपयोग करके समस्या हल की जा सकती है
जब /etc/h*sts Substack एडिटर को बाधित करता है: web content filtering का रोमांच
रहस्यमय network error
- DNS resolution पर एक technical post लिखते समय unexpected error हुआ
/etc/h*stspath दर्ज करते ही network error हुआ और autosave विफल हो गया- Substack का status page दिखाता है कि सब सामान्य रूप से चल रहा है
जांच की शुरुआत
- किसी खास file path को लिखने पर error होता है, जबकि path को बदलने पर सामान्य रूप से काम करता है
/etc/h*stsजैसे path error पैदा करते हैं, जबकि बदले हुए path में कोई समस्या नहीं होती
अंदर क्या हो रहा है?
- browser developer tools में 403 Forbidden response दिखा
- Cloudflare इसमें शामिल है
web application security filter को समझना
WAF संक्षेप में
- web application firewall (WAF) वेबसाइट के security guard की तरह काम करता है
- यह संदिग्ध request को block करता है
path traversal attack: सावधानी की वजह
- path traversal attack संवेदनशील system file तक पहुंचने की कोशिश होती है
/etc/h*stsजैसे path attack target बन सकते हैं
command injection: एक और security समस्या
- command injection attack system command चलवाने की कोशिश करता है
- system path का ज़िक्र होने पर filter उसे block कर सकता है
रहस्य और गहरा होता है: ऐतिहासिक उदाहरण
- दूसरे Substack post में ऐसे ही path के इस्तेमाल का उदाहरण मिला
- संभव है कि filtering behavior किसी खास समय पर बदल गया हो
security बनाम usability: नाज़ुक संतुलन
- Substack का filter सुरक्षा के लिए है, लेकिन technical writers के लिए यह रुकावट बन जाता है
- सुधार की गुंजाइश है: स्पष्ट error message, technical content की पहचान, और documented workaround उपलब्ध कराना
HTTP response पर नज़र
- API स्तर पर 403 Forbidden status code की पुष्टि हुई
technical content platform के लिए बेहतर समाधान
- contextual filtering: code block या technical discussion में system path को पहचानना
- स्पष्ट error message: "network error" की जगह यह बताना कि security filter के कारण block हुआ
- documented workaround: sensitive path पर चर्चा कैसे करें, यह बताना
निष्कर्ष: security और technical writing का संगम
-
Substack एडिटर की यह समस्या security और technical writing की जटिल चुनौतियों को उजागर करती है
-
जो चीज़ security filter को attack pattern लगती है, वह वास्तव में legitimate content भी हो सकती है
-
alternative path का उपयोग करके समस्या का समाधान संभव है
-
पाठकों से अनुरोध है कि यदि उन्होंने दूसरी platforms पर भी ऐसी filtering समस्या देखी हो तो comments में साझा करें
1 टिप्पणियां
Hacker News राय
CDN पर WAF rules सेट करने वाले लोग अक्सर technical content संभालने वाली sites और services को अच्छी तरह नहीं समझते। सिर्फ Cloudflare ही नहीं, Akamai में भी यही समस्या होती है
/etc/hostsया/etc/passwdजैसी चीजें block हो जाती हैंइससे e-commerce platform से जुड़ा एक किस्सा याद आता है: किसी ने memory leak वाला web shop code किया था, और log में "OutOfMemoryException" string दिखने पर app restart करके इसे हल किया गया था
सोच रहा हूँ कि क्या वे
/etc/hostsया/etc/./hostsको block करते हैं। यह एक ऐसी whack-a-mole game लगती है जिसमें हार तय है। hackers ज़्यादा smart और determined होते हैं, इसलिए सिर्फ proven security पर निर्भर रहना चाहिएइस बारे में राय कि Substack technical writers के लिए इस स्थिति को कैसे बेहतर बना सकता है
यह web security में protection और usability के बीच तनाव का एक दिलचस्प उदाहरण दिखाता है
competitive programming team को पढ़ाते समय आई समस्या: अगर code में C++ types और keywords आ जाएँ, तो 403 error आ जाता था
जब internal red team ने XSS और अन्य injection attack attempts वाला data post किया, तब भी समस्या हुई
पुरानी समस्या फिर सामने आई है। इसे Scunthorpe problem कहा जाता है
OpenRouter से जुड़ी इसी तरह की समस्या का अनुभव हुआ। OpenRouter एक ऐसी service है जो अलग-अलग LLMs इस्तेमाल करने के लिए single endpoint देती है
content filtering को context पर बहुत अधिक निर्भर होना चाहिए। जब WAF उस चीज़ से अलग होकर filter करता है जिसे वास्तव में filter करना चाहिए, तब समस्या होती है