मैं वर्तमान में साइट भेद्यता को ठीक करने की कोशिश करने की प्रक्रिया पर हूं, मूल रूप से यह "अनुचित इनपुट हैंडलिंग" हमले का एक प्रकार है।अयोग्य-इनपुट-हैंडलिंग हमले को रोकने के लिए टोमकैट वर्चुअल होस्ट
मान लीजिए कि मेरी वेबसाइट www.mywebsite.com है चलो और वहाँ हैकर की वेबसाइट है www.hacker.com
जब भी एक अनुरोध संशोधित साथ www.mywebsite.com को भेज नहीं है " Host
"हेडर पॉइंट www.hacker.com, मेरी साइट www.mywebsite.com पर रीडायरेक्ट करेगी, जो भी यूआरएल था। उदा।
सामान्य:
Host: www.mywebsite.com
GET www.mywebsite.com/get/some/resources/
Reponse 200 ok
हैक:
Host: www.hacker.com (#been manually modified)
GET www.mywebsite.com/get/some/resources/
Response 302
Send another Redirect to www.hacker.com/get/some/resources
मेरी वेबसाइट बिलाव 7 पर चल रहा है, मैं अंक की आभासी मेजबान एक defaultlocalhost
जो लगता है के लिए अज्ञात मेजबान की स्थापना के साथ कुछ समाधान की कोशिश की कुछ भी नहीं करने के लिए। लेकिन यह अभी भी किसी कारण से रीडायरेक्ट भेजता है।
<Engine name="Catalina" defaultHost="defaultlocalhost" jvmRoute="jvm1">
<Host name="www.mywebsite.com" appBase="webapps"
unpackWARs="true" autoDeploy="false" deployOnStartup="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="defaultlocalhost" >
</Host>
तो, मेरे सवाल है, मैं हमले के इस प्रकार को रोकने के लिए सही रास्ते पर हूं:
यहाँ संलग्न मेरी server.xml
मेजबान कॉन्फ़िगर है? यदि हां, मैंने क्या गलत किया जो अभी भी काम नहीं कर रहा है? (अंतिम लक्ष्य यह है कि यदि यह वैध होस्ट नहीं है, तो अनुरोध को रद्द कर दिया जाना चाहिए/अनदेखा/404 लौटाया जाना चाहिए, लेकिन 302 के साथ रीडायरेक्ट नहीं किया जाना चाहिए)
अग्रिम धन्यवाद।
अधिक हमले के बारे में यहाँ संदर्भ: http://www.skeletonscribe.net/2013/05/practical-http-host-header-attacks.html
http://projects.webappsec.org/w/page/13246933/Improper%20Input%20Handling