Webgoat 笔记总结 Insecure Communication/Configuration/Storage

Insecure Communication
不安全通信

通过抓包的工具就可以把数据包拿到手上,那么回问题就很容易知道了。实验告诫我们明文传输的危险性,使用ssl 登录
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。 SSL协议提供的服务主要有: 1)认证用户和服务器,确保数据发送到正确的客户机和服务器; 2)加密数据以防止数据中途被窃取; 3)维护数据的完整性,确保数据在传输过程中不被改变。

实验演示
clip_image002
登录

clip_image004
抓包

clip_image006
登录
第二部

使用https://
登录回答问题
clip_image008
当然不是明文
传输协议当然是tls
clip_image010

Insecure Configuration

不安全的配置

Forced Browsing

强制浏览

应用程序安全配置不到位引发的浏览权限强制浏览

防御这种攻击的防止比较复杂,一般的策略是:

验证请求是否是从合法的页面发送而来的,一般是检查请求的Referer。

用户授权控制,认证认可

对于静态资源来说,WEB程序是无法防止这种强制浏览攻击的,只有通过设置中间件(如WEB服务器)来防止:

对公开化网站目录的设定(比如在站点目录下禁止显示文件列表)

在URL中指定目录的时候,必须提供index文件(如index.html等)

对于下载文件的存放位置,要特别谨慎的设置

演示

你的目标应该是尝试猜测URL的“config”界面。

“congfig”URL是只提供给维护人员。

应用程序不检查权限。

你可以尝试强制浏览只能由维修人员的配置页面。

clip_image012
尝试输入config,configuration,conf
clip_image014

输入config、configuration出现404,
证明找不到该文件

clip_image016

输入conf出现该页面, 并且成功读取了账号密码
说明我们手工找配置文件成功

Insecure Storage
不安全存储
熟悉一些经常使用的编码,包含有Base64编码,实体编码,基于密码的加密, MD5 hash , SHA-256 hash, Unicode编码,URL编码,十六进制编码, Rot13编码,XOR和密码编码,双unicode编码,双URL编码

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP G

Hash是一种特殊的算法,MD5就是其中常用的一种。它的算法的特征是不可逆性,并且才计算的时候所有的数据都参与了运算,其中任何一个数据变化了都会导致计算出来的Hash值完全不同,所以通常用来校验数据是否正确或用作身份验证。 常见的,论坛里面用户的密码是经过MD5等Hash算法算出来的Hash值进行保存的。 在通常的网络下载中,会带有一个Hash值,这个值是用来校验你下载的文件是否损坏并保证尚未被别人篡改的。

Unicode码扩展自ASCII字元集。在严格的ASCII中,每个字元用7位元表示,或者电脑上普遍使用的每字元有8位元宽;而Unicode使用全16位元字元集。这使得Unicode能够表示世界上所有的书写语言中可能用於电脑通讯的字元、象形文字和其他符号。Unicode最初打算作为ASCII的补充,可能的话,最终将代替它。考虑到ASCII是电脑中最具支配地位的标准,所以这的确是一个很高的目标。

十六进制码是计算机中数据的一种表示方法。同我们日常中的十进制表示法不一样。它由0-9,A-F,组成。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0---(N-1)的数表示超过9的用字母A-F。

我们输入一些文字 比如是czr 然后按go

在下面我们看到了一些编码的和一些解码的文字 那样我们就把内容输进去

clip_image018

clip_image020

你可能感兴趣的:(安全,网络连接,数据包,的,IP协议)