Abstract: 在 Web 应用的安全测试或扫描中,长时间无操作或意外出发 logout ,均会导致会话失效,访问请求跳到登录页面,需要再次登录,手工登录会有一些繁琐,其实完全可以使用 Burpsuite 的宏在会话失效后完成自动登录。

Table of Contents

  1. 使用宏维持会话有效
    1. 分析登录过程
    2. 创建用户登录宏
    3. 创建会话处理规则
    4. 验证规则有效性

使用宏维持会话有效

分析登录过程

Firefox 浏览器中登录 DVWA 后,点击 Logout 退出登录,然后在重新登录,用 Burpsuite 分析登录过程。登陆退出后,页面跳转到 login.php , 服务器响应内容中包含 user_token。重新执行登录时,登录请求包含上一次得到的 user_token。登录成功后,服务响应 302 ,跳转到 index.php

创建用户登录宏

理清登录流程后,根据这个流程创建一个用户登录的宏。账号重新登录时,需要两个动作,第一个是 GET 请求 login.php 页面,获取 user_token ,下一个动作是发现账号、密码和 user_token 进行登录。在录制宏选项中,按住Ctrl,选择两个请求。第一个动作的 GET 请求,与前面的 CSRF 绕过的配置一样,选择 user_token 位置,添加变量。第二个动作,POST 请求的几个参数,usernamepasswordLogin都保持不变,user_token使用宏里上一次请求的参数返回值。完成后保持宏,命名为user_Login

创建会话处理规则

添加一条新规则,规则描述为 User_Login,添加规则动作,选择 Check session is valid,验证会话是否有效。设置判断会话是否失效的标志和会话失效后的操作,会话失效后,运行之前的登录宏,从宏的请求响应中更新参数值。Tools Scope选择上 ProxyURL Scope添加整个 DVWA路径。

验证规则有效性

浏览器清除所有的 Cookie,输入 DVWA 地址,Burpsuite 宏自动登录网站,浏览器页面不会跳转到登录页面,而是直接进入主界面。