千家信息网

nc模拟浏览器请求http

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,《渗 透测试完全初学者指南》的"6.5.1检测非标准端口"使用了nc手动发送http命令获取web的内容。依照这个例子是可以执行成功的,但按此例子的方法去apache发起请求则不能成功。如下:nc 1
千家信息网最后更新 2025年01月22日nc模拟浏览器请求http

《渗 透测试完全初学者指南》的"6.5.1检测非标准端口"使用了nc手动发送http命令获取web的内容。依照这个例子是可以执行成功的,但按此例子的方法去apache发起请求则不能成功。如下:

nc 172.28.128.35 80GET / HTTP/1.1HTTP/1.1 400 Bad RequestDate: Fri, 27 Dec 2019 03:08:49 GMTServer: Apache/2.4.6 (CentOS)Content-Length: 226Connection: closeContent-Type: text/html; charset=iso-8859-1400 Bad Request

Bad Request

Your browser sent a request that this server could not understand.

根据参考链接,需要使用下面的命令才能请求成功

printf "GET / HTTP/1.1\r\nHOST:z\r\n\r\n" | nc 172.28.128.35 80HTTP/1.1 200 OKDate: Fri, 27 Dec 2019 03:21:21 GMTServer: Apache/2.4.6 (CentOS)Last-Modified: Fri, 27 Dec 2019 02:59:06 GMTETag: "8-59aa6ad5747ae"Accept-Ranges: bytesContent-Length: 8Content-Type: text/html; charset=UTF-8dfafdas

参考链接中的文档解释了为什么需要这样的命令。
也可以通过将http命令保存在文本文件中重定向给nc,从print命令看,每一行是以\r\n结束的,因此保存的文本文档需要是windows格式的。

  • 创建文件
    cat b.txt GET / HTTP/1.1Host: 172.28.128.34Accept: */*
  • 转换成windows格式
    unix2dos b.txtfile b.txt b.txt: ASCII text, with CRLF line terminators
  • 执行nc
nc 172.28.128.35 80 < b.txt HTTP/1.1 200 OKDate: Fri, 27 Dec 2019 03:28:08 GMTServer: Apache/2.4.6 (CentOS)Last-Modified: Fri, 27 Dec 2019 02:59:06 GMTETag: "8-59aa6ad5747ae"Accept-Ranges: bytesContent-Length: 8Content-Type: text/html; charset=UTF-8dfafdas
  • 参考链接:
    https://osric.com/chris/accidental-developer/2018/01/using-nc-netcat-to-make-an-http-request/
0