Tôi hiện đang trong quá trình thử sửa lỗ hổng trang web, về cơ bản đó là một loại tấn công "Xử lý đầu vào không đúng".Máy chủ ảo Tomcat để ngăn chặn cuộc tấn công xử lý không đúng-đầu vào
Giả sử trang web của tôi là www.mywebsite.com và có trang web của hacker www.hacker.com
bất cứ khi nào có yêu cầu gửi đến www.mywebsite.com với biến dạng " Host
"tiêu đề trỏ tới www.hacker.com, trang web của tôi sẽ tạo chuyển hướng đến www.mywebsite.com cùng với bất kỳ url nào. ví dụ:
bình thường:
Host: www.mywebsite.com
GET www.mywebsite.com/get/some/resources/
Reponse 200 ok
Hack:
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
Trang web của tôi đang chạy trên Tomcat 7, tôi đã thử một số giải pháp với thiết lập máy chủ ảo bởi quan điểm của chủ nhà không biết đến một defaultlocalhost
mà giả sử không làm gì cả. nhưng nó vẫn gửi chuyển hướng vì một lý do nào đó.
đây kèm theo là cấu hình server.xml
máy chủ của tôi:
<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>
Vì vậy, câu hỏi của tôi là, Tôi có đi đúng hướng để ngăn chặn loại tấn công này? Nếu có, những gì tôi đã làm sai mà vẫn không làm việc? (Mục tiêu cuối cùng là, nếu nó không phải là Máy chủ hợp pháp đã được chuyển vào, yêu cầu sẽ bị hủy/bỏ qua/trả về 404 nhưng không chuyển hướng với 302)
Cảm ơn bạn trước.
Nhiều tài liệu tham khảo về các cuộc tấn công ở đây: http://www.skeletonscribe.net/2013/05/practical-http-host-header-attacks.html
http://projects.webappsec.org/w/page/13246933/Improper%20Input%20Handling