2017-05-18 24 views
8

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 &quot;%r&quot; %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

Trả lời

0

Oh tốt, cuối lên trả lời câu hỏi của riêng tôi.

Sau khi tham gia danh sách gửi thư của người dùng Tomcat (đăng ký địa chỉ email: [email protected]). Có một anh chàng tên là Andre đã giúp tôi có được điều này giải quyết:

về cơ bản những gì tôi đã làm sai là mất tích appBase trong defaultlocalhost

<Host name="defaultlocalhost" appbase="whatever" > 

    </Host> 

Các cấu hình trên của tôi trở thành trạng thái 404 bất cứ khi nào một yêu cầu bất hợp pháp đã được gửi. lý do là bất cứ khi nào bạn không đặt appbase, nó luôn luôn mặc định là webapps do đó về cơ bản nó không làm bất cứ điều gì với cấu hình ban đầu của tôi.

Hy vọng điều này có thể giúp bất kỳ ai có vấn đề tương tự.

Các vấn đề liên quan