HTTP协议

前言

        本篇文章从Web安全从业人员的角度出发,介绍HTTP协议。文章内容适用于安全测试人员,但不完全适用于Web开发人员,毕竟开发了解的深度,那得相当专业^_^。

HTTP

        HTTP(Hypertext Transfer Protocol 超文本传输协议)是一种用于Web浏览器和Web服务器之间传输数据的应用层协议

HTTPS

        HTTPS(Hypertext Transfer Protocol Secure 超文本传输安全协议)。

        TCP 自身只负责传输数据,不负责加密,不负责给前后端当翻译。

        HTTP 负责给前后端当翻译,但是不负责传输数据的加密。

        TLS 负责给需要传输的数据加密,加密完了再传过去。

        HTTPS = HTTP + TLS

        (关于HTTPS秘钥的协商,加密算法,感兴趣的可以单独去了解。)

http请求方法

        GET:用于请求服务器上的资源。

        POST:用于向服务器提交数据,通常用于表单提交、文件上传等场景。

        PUT:用于向服务器更新某个资源,通常用于上传文件、更新数据等场景。

        DELETE:用于向服务器删除某个资源,通常用于删除文件、删除数据等场景。

        其他不常用请求方法:OPTIONS、TRACE、HEAD等。

        请求方法的位置如下图的 “GET”。

        

        (业内认为 GET 和 POST 是安全请求方法,其他不安全。有兴趣的可以去做了解。)        

        (Burpsuite拦截的请求,数据报文结构如上图,WEB安全测试人员的家常菜之一。)

http请求头

        使用浏览器的F12功能查看。

        使用代理工具拦截查看。

        Http请求头信息,本文不做详细介绍,毕竟咱干的不是架构。不过请求头还是要了解一些,毕竟各大安全厂商的漏扫设备,各知名扫描工具,都会报安全防护头缺失的漏洞。

http 请求体

        不是每个请求都有请求体(body)。

        请求体位置如图20行,请求体格式各式各样,内容也各式各样,但万变不离其宗,无外乎长短。

http请求响应状态码

        Http请求响应状态码,用于反馈服务器处理的结果。测试人员、开发人员,可通过请求响应状态码,进行后面更秀的操作。

        20x:请求成功。

        30x:请求重定向。

        40x:请求被禁止。

        50x:服务器问题。

        本文不对响应码做详细介绍,各响应码代表的含义可本站其他帖子细看。

        安全测试人员一般喜欢 200、403、405,因为可以秀。

http请求响应信息

        Http请求响应的信息,由服务端返回,由CSS美化。干爬虫的同志们最关心这块,因为命名简单,能省很多事。

结语

       给你一个支点,你来把Web应用安全测试翘起来。

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值