例如:
- 碰到空格则持续保持当缁ご态开端扫描下一位;
- 如不雅是换行符则设置默认 HTTP 版本并持续扫描;
- 如不雅碰到的是 H 才修改状况为 sw_http_H 认为接下去开端 HTTP 版本扫描;
- 如不雅是其它字符,则标明一下 URI 中有空格,然后将状况改回 sw_check_uri,然后倒退回一格以 sw_check_uri 持续扫描当前的空格。
在懂得了这个“黑科技”后,我们很快能找到一个很好玩的点,开启你的 Nginx 并用 CURL 请求以下面的例子一下它看看吧:
- $ curl 'http://xcoder.in:5555/d H' -v
- * Trying 103.238.225.181...
- * TCP_NODELAY set
- * Connected to xcoder.in (103.238.225.181) port 5555 (#0)
- > GET /d H HTTP/1.1
- > Host: xcoder.in:5555
- > User-Agent: curl/7.54.0
- > Accept: */*
- >
- < HTTP/1.1 400 Bad Request
- < Server: openresty/1.11.2.1
- < Date: Tue, 12 Dec 2017 11:18:13 GMT
- < Content-Type: text/html
- < Content-Length: 179
- < Connection: close
- <
- <html>
- <head><title>400 Bad Request</title></head>
- <body bgcolor="white">
- <center><h1>400 Bad Request</h1></center>
- <hr><center>openresty/1.11.2.1</center>
- </body>
- </html>
- * Closing connection 0
怎么样?是不是发明结不雅跟之前的不一样了——它居然也返回了 400 Bad Request。
推荐阅读
黑客在渗入渗出一个网站时,受制于本身的黑客才能以及小我思维宽度,在想尽了一切办法后,却一无所得,最终就不得不走上了暴力破解这一条陆辜暴力破解的道理就是穷举法,其根本思惟是根据标题标部分前提>>>详细阅读
本文标题:Node.js中遇到含空格URL的神奇“Bug”——小范围深入HTTP协议
地址:http://www.17bianji.com/lsqh/39781.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示