Hi

On Fri, Sep 23, 2016 at 8:47 PM, Stanislav Malyshev <smalys...@gmail.com>
wrote:

> Hi!
>
> > That's exactly what we don't want - let the attacker to end our request.
>
> Why not? What else you can do with this request that has clearly bad and
> maliciously constructed data?
>
>
I think there is a confusion about the "servers written in PHP". Those
applications serves more requests in a single (main) PHP request using the
even loop. Good examples of that are Aerys or ReactPHP. So we don't want to
kill that main request if one of the handled requests is malicious (ideally
we just ignore that malicious request and server others).


> > All other things like string overflows and memory limits are under our
> > control (e.g. we can set limit on the server and reject such requests)
>
> Not sure I understand what you mean. How exactly memory limits are under
> your control? If somebody sends a request that blows up your memory
> limit, how you control it? In fact, if somebody sends, say, a POST that
> goes above your post limit - how you handle it without terminating the
> request?


Usually you will have it behind proxy so you can terminate it there if the
request is too big. For example you could set client_max_body_size in
nginx. However we can't effectively catch HashDos by the size because it
can be relatively small request (see nice description of that in one of the
previous emails from Nikita...).

Cheers

Jakub

Reply via email to