zoukankan      html  css  js  c++  java
  • Log POST Data in Nginx

    先编译Nginx的echo module:

    ./configure --add-module=./echo-nginx-module-0.54
    make
    make install

    可以在github上面找到这个module的源代码

    然后添加$request_body,来加上post data:

    log_format custom '$remote_addr - $remote_user [$time_local] '
    '"$request" $status $body_bytes_sent '
    '"$http_referer" "$http_user_agent" "$request_body"';

    最后定义一下access日志的路径,这里是默认:

    access_log /var/log/nginx/access.log custom;

    到这里基本上就可以了,此时你的access日志大小会蹭蹭蹭的往上涨,在抓一些关键数据的时候可以尝试这么做。

    不过要注意密码等敏感信息的脱敏。

    另类姿势:

    上面我们按照了echo module,可以用它做一些好玩的事情。比如:

    我们定义:
    location /hello { echo -n "hello, "; echo "world!"; }

    此时,我们curl /hello这个uri的时候,会出现:

    $ curl 'http://localhost/echo'
     hello, world

    那么我们可以这样来:

    location /hello {
        echo_sleep 100000;
        echo_sleep 100000;
        echo_sleep 100000;
    }

    如果把一个网站根本不存在的URL设置成这个,那么当恶意攻击者扫描我们网站的时候,其扫描器未做正确超时处理的话,可能就会线程崩溃。

    利用此方法,若掌握扫描器漏洞,甚至可以反向溢出攻击者。

  • 相关阅读:
    小网络的激活函数
    Dual Path Networks
    RT600之Mailbox
    RT600之OTFAD
    RSA算法详解
    RT600之SB
    RT600之master key
    RT600之PUF
    RT600 Boot详解
    RT如何生成image
  • 原文地址:https://www.cnblogs.com/im404/p/5606793.html
Copyright © 2011-2022 走看看