引言
最近在研究WebGoat技术,由于之前对这个领域所了解的不多,感觉突然发现了另一扇大门。而在进行实战练习时,却困难重重,很多知识点缺失,又缺乏技巧,网上的资料也相对比较少。鉴于此,固有写实训笔记的念头,一方面是自己做个回顾,同时也希望能为那些和我一样在黑夜中摸索前行的爱好者一点点帮助。
WebGoat是一个用于讲解典型web漏洞的基于J2EE架构的web应用,他由著名的WEB应用安全研究组织OWASP精心设计并不断更新,我所使用的教新的8.0版。关于他的介绍和安装等由于教简单,网上也已经有相关的资料,不在本系列文章的范围之内。
================================分割线==================================
http基础
这个训练主要演示了HTTP的工作原理。HTTP,Hypertext Transfer Protocol的缩写,即超文本传输协议,是整个因特网的基础。它规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
在HTTP的工作原理中,所有HTTP事务都遵循相同的通用格式。每个客户端请求和服务器响应都有三个部分:
请求或响应行,标题部分和实体主体。
客户端启动事务如下:
-
客户端联系服务器并发送文档请求。GET请求可以具有url参数,并且这些参数将在Web访问日志中可用。
-
GET /index.html?param=value HTTP / 1.0
-
-
接下来,客户端发送可选的头信息,以通知服务器其配置及其将接受的文档格式。
-
User-Agent:Mozilla / 4.06接受:image / gif,image / jpeg,/
-
-
在POST请求中,用户提供的数据将遵循可选标头,而不是POST URL中包含的数据的一部分
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。
- GET - 从指定的资源请求数据。
- POST - 向指定的资源提交要被处理的数据
训练1
练习1向我们展示了HTTP的工作原理,输入你的名字后,以POST请求方式,将该字段发送给服务器,服务器再将改值返回给客户端进行展示。
训练2
训练2更进一步展示HTTP的请求过程,这一步借助浏览器即可完成。
以Chrome浏览器为例,在训练页面右键“检查”,选择右上角的"Network"(网络);
打开“Record network logs”(记录网络日志,一般会默认打开);
然后什么不填,点击一下页面中的 “Go”;
注意观察右边的网络日志,找到“attack2”;
右侧的Headers里面的General里可以找到:Request Method: POST,在“Form Data”里可以找到我们需要的魔法数字。
界面示例如下:
(--完--)