Lab: Modifying serialized data types 修改序列化的数据类型

时间:2021-08-23
本文章向大家介绍Lab: Modifying serialized data types 修改序列化的数据类型,主要包括Lab: Modifying serialized data types 修改序列化的数据类型使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

靶场内容:

本实验使用基于序列化的会话机制,因此容易绕过身份验证。解决实验室,编辑会话cookie中的序列化对象以访问该administrator帐户。然后,删除carlos。

您可以使用以下凭据登录自己的帐户: wiener:peter

靶场解析

  • 这个靶场的关键知识点在于PHP中的 == 弱比较
  • 使用您自己的凭据登录。在 Burp 中,打开登录后GET /my-account请求并使用 Inspector 检查会话 cookie 以显示序列化的 PHP 对象。将此请求发送到 Burp Repeater。
  • 在 Burp Repeater 中,使用 Inspector 面板修改会话 cookie,如下所示:
    • 将username属性的长度更新为13。
    • 将用户名更改为administrator.
    • 将访问令牌更改为整数0。由于这不再是一个字符串,您还需要删除围绕该值的双引号。
    • 更新更换令牌访问的数据类型的标签s用i。
    • 结果应如下所示:
      O:4:"User":2:{s:8:"username";s:13:"administrator";s:12:"access_token";i:0;}
  • 这样修改的目的是断定token的字符串开头不是以数字开头的,这样 0=="dhufashfosf" 返回的都是ture,如果不是,再做修改即可
  • 单击“应用更改”。修改后的对象将在请求中自动重新编码和更新。
  • 发送请求。请注意,响应现在包含一个指向管理面板的链接/admin,表明您已以administrator用户身份成功访问该页面。
  • 将您的请求路径更改为/admin并重新发送。请注意,该/admin页面包含删除特定用户帐户的链接。
  • 将请求的路径更改为/admin/delete?username=carlos并发送请求以解决实验室。

本文来自博客园,作者:{Zeker62},转载请注明原文链接:https://www.cnblogs.com/Zeker62/p/15174777.html

原文地址:https://www.cnblogs.com/Zeker62/p/15174777.html