作家
登录

Node.js中遇到含空格URL的神奇“Bug”——小范围深入HTTP协议

作者: 来源: 2017-12-15 09:08:24 阅读 我要评论

  1. $ curl 'http://127.0.0.1:5555/d d' -v 
  2. *   Trying 127.0.0.1... 
  3. * TCP_NODELAY set 
  4. * Connected to 127.0.0.1 (127.0.0.1) port 5555 (#0) 
  5. > GET /d d HTTP/1.1 
  6. > Host: 127.0.0.1:5555 
  7. User-Agent: curl/7.54.0 
  8. > Accept: */* 
  9. * Empty reply from server 
  10. Connection #0 to host 127.0.0.1 left intact 
  11. curl: (52) Empty reply from server 

瞧,Empty reply from server。

发清楚明了问题之后,就有另一个问题值得思虑了:就 Node.js 会出现这种情况呢,照样其它一些 HTTP 办事器也会有这种情况呢。

于是拿小白鼠 Nginx 做了个实验。我写了这么一个设备:

  1. [error] 000001#0: ... upstream prematurely closed connection while reading response header from upstream. 
  2.  
  3.   client: 10.10.10.10 
  4.  
  5.   server: foo.com 
  6.  
  7.   request: "GET /foo/bar?rmicmd,begin run clean docker images job HTTP/1.1" 
  8.  
  9.   upstream: "http://..." 
  1. server { 
  2.     listen 5555; 
  3.  
  4.     location / { 
  5.         return 200 $uri; 
  6.     } 

接着也履行一遍 CURL,获得了如下的结不雅:

  1. $ curl 'http://127.0.0.1:5555/d d' -v 
  2. *   Trying 127.0.0.1... 
  3. * TCP_NODELAY set 
  4. * Connected to 127.0.0.1 (127.0.0.1) port 5555 (#0) 
  5. > GET /d d HTTP/1.1 
  6. > Host: 127.0.0.1:5555 
  7. User-Agent: curl/7.54.0 
  8. > Accept: */* 
  9. < HTTP/1.1 200 OK 
  10. < Server: openresty/1.11.2.1 
  11. Date: Tue, 12 Dec 2017 09:07:56 GMT 
  12. < Content-Type: application/octet-stream 
  13. < Content-Length: 4 
  14. Connection: keep-alive 
  15. Connection #0 to host xcoder.in left intact 

      推荐阅读

      黑客最无奈的渗透办法,人人都会的暴力破解

    黑客在渗入渗出一个网站时,受制于本身的黑客才能以及小我思维宽度,在想尽了一切办法后,却一无所得,最终就不得不走上了暴力破解这一条陆辜暴力破解的道理就是穷举法,其根本思惟是根据标题标部分前提>>>详细阅读


    本文标题:Node.js中遇到含空格URL的神奇“Bug”——小范围深入HTTP协议

    地址:http://www.17bianji.com/lsqh/39781.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)