实训day1日志
1.软件安装环境配置
安装虚拟机以及python,java并配置了相应的环境为后续实验做准备工作。
Python配置结果:
Java配置结果:
接着下载安装了BurpSuite,phpstudy,学习了BurpSuite各个模块的功能,来准备进行弱口令爆破实验。
2.使用BurpSuite进行弱口令爆破实验
首先进入proxy模块也就是代理模块,使用内嵌浏览器打开pikachu网页并开启拦截
在网页输入用户名和密码尝试登录,此时这个请求被拦截下来,网页处于加载状态,在BurpSuite可以看到被拦截的请求
将这个请求发送到intruder模块
打开intruder模块,可以看到相应的请求报文并开始攻击
本次我们使用了三种攻击方式,分别是狙击手、交叉和集束炸弹
狙击手攻击:
狙击手攻击是单个payload的攻击模式,所以我们先猜测用户名为admin,然后将password的值设为payload,并将一个字典设置为payload,开始攻击
攻击完成后我们查看结果发现有一条数据的长度与其他数据不同,这条数据的的password的值为123456
打开相应的页面渲染我们可以发现这条数据发送的结果是登录成功
于是我们找到了用户名admin和password123456
交叉攻击:
选择交叉攻击模式,交叉攻击是使用多个payload集的攻击模式,它会将多个payload集按顺序对应形成配对,所以我们将用户名和password的值都设为payload,并用字典为其赋值,完成后开始攻击
攻击完成后同样是查找长度与其他数据不同的特殊数据条,找到用户名admin和对应的password的值为123456
查看页面渲染进行验证,可以发现这条数据发送的结果是登录成功
证明成功用交叉攻击的方法找到了用户名和密码完成了攻击
集束炸弹攻击:
选择集束炸弹攻击模式,集束炸弹攻击是同样使用多个payload集的攻击模式,但它是以遍历的方式将多个payload集一一配对可以测试所以组合排列,所以我们依旧将用户名和password的值都设为payload,并用字典为其赋值,完成后开始攻击
攻击完成后发现了两条长度不同的数据,分别是用户名:admin,password:123456
用户名:test,password:abc123
经过验证他们俩都可以登录成功
于是我们用集束炸弹攻击成功找到两对用户名和密码
最后我们进行修改请求包的测试:
首先拦截请求,将请求发送至重放器
在重放器将请求发送可以得到模拟响应,此时可以发现登录是失败的
我们直接修改请求包里面的数据,使用我们爆破得到的用户名和密码
修改后发送,发现登录成功
3.内外网互联方式整理:
网络地址转换(NAT):
将内部网络的私有IP地址转换为外部网络的公有IP地址,实现内外网互联。它需要配置NAT规则将内部网络的P地址直接映射到外部网络的IP地址,还需要配置路由,确保内部网络的设备能够通过路由器访问内部网络的其他设备以及外部网络能够通过NAT规则访问内部网络的设备
通过防火墙:
设置防火墙的访问控制规则,配置允许内外网之间通信的规则,进行网络地址转换如果内网使用私有IP地址,需要配置NAT将私有IP地址转换为公网IP地址;还需要配置路由器,确保确保内网设备能够通过防火墙访问外网,同时外网也能访问内网,数据包能够正确转发。从而实现互联。
代理服务器:
通过代理服务器实现内外网互联,主要是为了在内部网络和外部网络之间建立一个中间层,使得内部网络的用户能够访问外部网络的资源,同时也可以控制和过滤用户对外部网络的访问。它需要经过如下步骤,首先配置代理服务器需要配置网络设置、用户认证、过滤规则等,然后进行网络配置让内外网流量都能通过代理器
4.知识总结
(1)弱口令的成因:
用户缺乏安全意识,不了解设置强口令的重要性,因此随意选择容易记住的简单的密码;
部分网站的密码找回机制过于简单,如通过邮箱验证码、手机短信验证等,使得攻击者可以轻易获取用户的账户信息;
很多用户为了方便,会在多个网站或系统中使用相同的口令,一旦其中一个账户信息泄露,其他账户也会面临风险;
(2)HTTP(超文本传输协议)的请求方法:
GET:用于请求从服务器检索数据 ;
POST:用于向服务器发送数据,通常用于提交表单;
HEAD:类似于 GET 请求,但服务器在响应中只返回头部信息,不返回实际的资源内容。常用于检查资源的元数据,如文件大小、最后修改时间等;
PUT:用于向指定资源位置上传其最新内容。PUT 方法用于更新或替换目标资源,如果资源不存在,服务器可以创建它;
DELETE:用于请求服务器删除指定的资源;
OPTIONS:用于请求目标资源所支持的通信选项。服务器通常会在响应中返回允许的请求方法列表;
PATCH:用于对资源进行部分修改。与 PUT 不同,PATCH 只更新资源的一部分,而不是替换整个资源;
CONNECT:用于建立一个到由目标资源标识的服务器的网络连接。通常用于代理服务器
一些好用的网站:
W3school:HTML URL 编码参考手册