实验室:修改序列化数据类型
从业者
该实验室使用基于序列化的会话机制,因此很容易受到身份验证绕过。要解决实验室,请在会话cookie中编辑序列化对象以访问行政人员
帐户。然后,删除卡洛斯。
您可以使用以下凭据登录到自己的帐户:维纳:彼得
暗示
要访问另一个用户的帐户,您将需要利用PHP比较不同类型的数据的怪癖。
解决方案
- 使用您自己的凭据登录。在Burp中,打开后期
获取 /my-Account
请求并使用检查员检查会话cookie以揭示串行的PHP对象。将此请求发送给Burp Repeater。
- 在Burp Repeater中,使用Inspector面板修改会话cookie如下:
- 更新长度
用户名
属性为13
。
- 将用户名更改为
行政人员
。
- 将访问令牌更改为整数
0
。由于这不再是字符串,因此您还需要删除该值周围的双重报价。
- 通过更换访问令牌的数据类型标签
s
和一世
。
结果应该看起来像这样:
o:4:“用户”:2:{s:8:“用户名”; s:13:“管理员”; s:12:“ access_token”; i:0;}
- 单击“应用更改”。修改后的对象将在请求中自动重新编码和更新。
- 发送请求。请注意,该响应现在包含指向管理面板的链接
/行政
,表明您已成功访问了该页面行政人员
用户。
- 将请求的路径更改为
/行政
并重新发送它。注意/行政
页面包含删除特定用户帐户的链接。
- 将请求的路径更改为
/admin/delete?用户名= carlos
并发送请求以解决实验室。