工具的使用
首先github上下载火狐插件(正版收费),按F12调用
服务器生成sessionID通过response返回给浏览器,sessionID存放在浏览器cookie中,然后再通过cookie发送给服务器验证。
获取浏览器请求的cookie
使用Hackbar伪造,输入要访问的服务器url以及刚获取的cookie,点击execute
这时会自动进入界面。
Low Security Level
模拟管理员登录,在浏览器中,点击Generate
,Burpsuite
抓包,发送到Repeater
,go
一次,发现:
请求头中:
PHPSESSID=majmpibnicga5ks1oisqkuhf5h; security=low
响应头中:
Set-Cookie: dvwaSession=1
多go
几次,发现dvwaSession
一直增加,每次加1
。
恶意攻击者通过寻找到上述规律,使用浏览器2
,成功构造出payload
:
Cookie: dvwaSession=71; PHPSESSID=majmpibnicga5ks1oisqkuhf5h; security=low
在无密码认证的情况下,根据cookie用hackbar成功登陆到界面:http://www.dvwa.com/vulnerabilities/weak_id/
Medium Security Level
拟管理员登录,在浏览器里,点击Generate
,burp
里发现:
请求头中:
Cookie: PHPSESSID=majmpibnicga5ks1oisqkuhf5h; security=medium
响应头中:
Set-Cookie: dvwaSession=1561097825
多go
几次,发现dvwaSession
和时间戳变化一致。
恶意攻击者通过寻找到上述规律,使用浏览器firefox,成功构造出payload
Cookie: dvwaSession=1561097825; PHPSESSID=majmpibnicga5ks1oisqkuhf5h; security=medium
无密码认证的情况下,根据cookie用hackbar成功登陆到界面:http://www.dvwa.com/vulnerabilities/weak_id/
High Security Level
模拟管理员登录,在浏览器 1 里,点击Generate
,burp
里发现:
name 必需。规定cookie的名称。
value 必需。规定cookie的值。
expire 可选。规定cookie的有效期。
path 可选。规定cookie的服务器路径。
domain 可选。规定cookie的域名。
secure 可选。规定是否通过安全的HTTPS连接来传输cookie。
httponly 可选。规定是否Cookie仅可通过HTTP协议访问。
value 值:last_session_id_high 自增 1,再用 md5 加密 expire 值:当前时间再加一个小时 path 值:/vulnerabilities/weak_id/
多go
几次,发现dvwaSession
值通过MD5
加密。将每次产生的MD5
解密,发现解密后的值,发现和低等级中的代码一样,是从0
开始加的。
恶意攻击者通过寻找到上述规律,使用浏览器2
,成功构造出payload
:
Set-Cookie: dvwaSession=182be0c5cdcd5072bb1864cdee4d3d6e;security=high; PHPSESSID=majmpibnicga5ks1oisqkuhf5h
在无密码认证的情况下,成功登陆到界面:http://www.dvwa.com/vulnerabilities/weak_id/
Impossible Security Level
采用随机数+时间戳+固定字符串再进行sha1
运算,完全不能猜测到dvwaSession
的值。实现了用户安全会话认证。