http请求方法

http请求方法,第1张

http的请求方法如下

1、OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性

2、HEAD:向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。

3、GET:向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。Loadrunner中对应get请求函数:web_link和web_url

4、POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form

5、PUT:向指定资源位置上传其最新内容

6、DELETE:请求服务器删除Request-URL所标识的资源

7、TRACE:回显服务器收到的请求,主要用于测试或诊断

8、CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

在使用http访问远程服务器前我们要先了解重点访问的步骤总的来说分为3点1.建立TCP连接(三步握手协议)第一次第一次握手:建立连接时,客户端发送syn包(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。2.发送HTTP协议HTTP协议的制定其中协议版本一般为 HTTP/1.x这里以HTTP/1.1为例他定义的请求方法一般有GET是以实体的方式得到由请求URI所指定资源的信息,如果请求URI只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述。POST用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列中请求URI所指定资源的附加新子项,Post被设计成用统一的方法实现下列功能:(1)对现有资源的解释(2)向电子公告栏、新闻组、邮件列表或类似讨论组发信息。(3)提交数据块(4)通过附加操作来扩展数据库HEAD向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。该方法常用于测试超链接的有效性,是否可以访问,以及最近是否更新。其他方法1.OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送’*'的请求来测试服务器的功能性。2.PUT:向指定资源位置上传其最新内容。3.DELETE:请求服务器删除Request-URI所标识的资源。4.TRACE:回显服务器收到的请求,主要用于测试或诊断。5.CONNECT:回显服务器收到的请求,主要用于测试或诊断。URL代表的是网址下面谈论头部域名称头部域名称详解HostRFC协议规定所有的HTTP请求必须携带Host头,即使Host没有值,也必须带上这个Host头附加一个空串,如果不满足,应用服务器应该抛出400 Bad Request。协议虽然这样规定,不过大部分网关或者服务器都比较仁慈,既然没有指定Host字段,那就给你默认加上一个。网关代理可以根据不同的Host值转发到不同的upstream服务节点,它常用于虚拟主机服务业务。所以我们也需要用到Host我们选择请求方法为GET下面根据图中的请求方法制定协议,假设我们只访问百度的官网那么,他的协议可以这样定义GET / HTTP/1.1\r\nHost:www.baidu.com\r\n\r\n3.发送连接请求,等待服务器响应在虚拟机中输入pingwww.baidu.com可以得到以下信息163.177.151.109就是服务器的地址在建立TCP通信的时候HTTP 服务器的默认端口为 : 80#include <stdio.h>#include <sys/types.h>/* See NOTES */#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <string.h>int main(){//1.创建网络通信对象int tcp_socket = socket(AF_INET, SOCK_STREAM, 0)if(tcp_socket <0){perror("")return -1}else{printf("tcp_socket creat ok\n")}//2.连接服务器struct sockaddr_in addraddr.sin_family = AF_INETaddr.sin_port = htons(80)addr.sin_addr.s_addr = inet_addr("163.177.151.109")//设置百度服务器的 IP地址信息int ret=connect(tcp_socket,(struct sockaddr *)&addr,sizeof(addr))if(ret == 0){printf("连接成功\n")}else{perror("")return -1}//HTTP 协议char *http = "GET / HTTP/1.1\r\nHost:www.baidu.com\r\n\r\n"//协议的制定//发送请求给百度服务器ret=write(tcp_socket,http,strlen(http))printf("ret=%d\n",ret)while(1){//接收百度服务器的回应char buf[1024]={0}printf("等待服务器回应\n")read(tcp_socket,buf,1024)printf("%s\n",buf)}}12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758591234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859执行上面代码返回200 ok说明访问服务器成功文章知识点与官方知识档案匹配

扫描网站漏洞是要用专业的扫描工具,下面就是介绍几种工具

1. Nikto

这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目进行全面的测试。其扫描项目和插件经常更新并且可以自动更新。Nikto可以在尽可能短的周期内测试你的Web服务器,这在其日志文件中相当明显。不过,如果你想试验一下,它也可以支持 LibWhisker的反IDS方法。不过,并非每一次检查都可以找出一个安全问题,虽然多数情况下是这样的。有一些项目是仅提供信息类型的检查,这种检查可以查找一些并不存在安全漏洞的项目,不过Web管理员或安全工程师们并不知道。

2. Paros proxy

这是一个对Web应用程序的漏洞进行评估的代理程序,即一个基于Java的web代理程序,可以评估Web应用程序的漏洞。它支持动态地编辑/查看 HTTP/HTTPS,从而改变cookies和表单字段等项目。它包括一个Web通信记录程序,Web圈套程序,hash 计算器,还有一个可以测试常见的Web应用程序攻击的扫描器。

3. WebScarab:

它可以分析使用HTTP和HTTPS协议进行通信的应用程序,WebScarab可以用最简单地形式记录它观察的会话,并允许操作人员以各种方式观查会话。如果你需要观察一个基于HTTP(S)应用程序的运行状态,那么WebScarabi就可以满足你这种需要。不管是帮助开发人员调试其它方面的难题,还是允许安全专业人员识别漏洞,它都是一款不错的工具。

4. WebInspect:

这是一款强大的Web应用程序扫描程序。SPI Dynamics的这款应用程序安全评估工具有助于确认Web应用中已知的和未知的漏洞。它还可以检查一个Web服务器是否正确配置,并会尝试一些常见的 Web攻击,如参数注入、跨站脚本、目录遍历攻击等等。

5. Whisker/libwhisker :

Libwhisker是一个Perla模块,适合于HTTP测试。它可以针对许多已知的安全漏洞,测试HTTP服务器,特别是检测危险CGI的存在。 Whisker是一个使用libwhisker的扫描程序。

6. Burpsuite:

这是一个可以用于攻击Web应用程序的集成平台。Burp套件允许一个攻击者将人工的和自动的技术结合起来,以列举、分析、攻击Web应用程序,或利用这些程序的漏洞。各种各样的burp工具协同工作,共享信息,并允许将一种工具发现的漏洞形成另外一种工具的基础。

7. Wikto:

可以说这是一个Web服务器评估工具,它可以检查Web服务器中的漏洞,并提供与Nikto一样的很多功能,但增加了许多有趣的功能部分,如后端 miner和紧密的Google集成。它为MS.NET环境编写,但用户需要注册才能下载其二进制文件和源代码。

8. Acunetix Web Vulnerability Scanner :

这是一款商业级的Web漏洞扫描程序,它可以检查Web应用程序中的漏洞,如SQL注入、跨站脚本攻击、身份验证页上的弱口令长度等。它拥有一个操作方便的图形用户界面,并且能够创建专业级的Web站点安全审核报告。

9. Watchfire AppScan:

这也是一款商业类的Web漏洞扫描程序。AppScan在应用程序的整个开发周期都提供安全测试,从而测试简化了部件测试和开发早期的安全保证。它可以扫描许多常见的漏洞,如跨站脚本攻击、HTTP响应拆分漏洞、参数篡改、隐式字段处理、后门/调试选项、缓冲区溢出等等。

10. N-Stealth:

N-Stealth是一款商业级的Web服务器安全扫描程序。它比一些免费的Web扫描程序,如Whisker/libwhisker、 Nikto等的升级频率更高。还要注意,实际上所有通用的VA工具,如Nessus, ISS Internet Scanner, Retina, SAINT, Sara等都包含Web 扫描部件。N-Stealth主要为Windows平台提供扫描,但并不提供源代码。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/229628.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-09
下一篇2023-04-09

发表评论

登录后才能评论

评论列表(0条)

    保存