WebGoat之HTTP BASICS(客户端与服务器端的交互方式)-2016.01.02

HTTP BASICS

B/S(浏览器和服务器模式的简单介绍)

B/S模式,简答的说包括客户端请求和服务器端响应;客户端以一定格式向服务器端请求所需数据,服务器端同样以一种规定的格式返回给客户端所需数据。接下来我们可以分析一下客户端请求。在WebGoat的HtppBasics里面,我们在搜索输入框中输入“hahaha”,然后点击提交,在Webscarab中我们会捕获如下内容,这就是我们客户端发给服务器端的数据请求,包括:请求、报头和实体三个部分。


文件请求:即第一行数据,指出了采用HTTP 协议的1.1版本,以POST的方式,向http://localhost:80/WebGoat/attack这个地址发送请求,其中自带的参数为Screen=16,menu=100;

       报头部分:这一部分对客户端请求数据的类型、客户端和数据段通信的方式、编码、语言等基本内容作出了规定,另外还提供了相关的URL和浏览器自动加载并发送的Cookie值等内容。其中:

Host指出了客户端主机名称;

User-Agent指出了客户端应用软件的配置信息;

Accept:指出了客户端接受文件的类型;

Accept-Language:指出了文件的编码方式;Accept-Encoding:指出了客户端和服务器端数据压缩方式,其中gzip是采用zlib库对deflate进行改造的压缩方式,支持任何的浏览器,但是速度较低,而deflate,对浏览器的支持不是那么好,但是由于它是最底层的,速度较快,那么实际上在HTTP/1.1中会对我们指定的两种压缩方式分别进行检验,而最终的压缩方式都可以归结为GZIP,这显得有点繁琐,我们可以通过指定Accept-Encoding对我们使用的压缩方式进行声明。Content-Type:指出了所使用的文件扩展名。然后我们通过Webscarab将截断的请求发送出去,同时我们会截获服务器返回给客户端的响应,如下所示

 

其中第一行数据指出了采用的传输协议的版本,以及服务器端对客户端请求数据处理结果的编号200意味着OK,即客户端和服务器端连接正常;然后Server指出了服务器版本信息;另外还会指出所返回数据的类型,例如是html还是css等,最后在实体部分会以响应的格式返回给客户端所需的数据。

到这里为止,我们对客户端和服务器端的交互大致已经有了一个较为宏观的印象,即,客户端发送指定格式的请求给服务器端,服务器端呢再以一定格式返回给客户端相应的数据。那么,我们不禁会有疑问,如果服务器端对我们提交的数据没有做好相应的防护处理工作,那么对于服务器来说岂不是很危险;另外,由于我们提交的数据由我们决定的,那么我们岂不是可以任意修改我们提交的东西,以欺骗服务器;不错,接下来的实验就是基于服务器对数据处理失误或者对访问控制等限制出错等一些列不规范的措施引发分Web漏洞,让我们一起开启WebGoat学习之程吧!

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值