JavaScript原型链污染,BugkuCTF——sodirty

由 晨星运营组 发布

JavaScript原型链污染

扫描目录拿到源码

1.登录路由 /getflag

请求体中的password不为空,age要小于79,并且password等于admin的密码就登录成功,获得flag


2.注册路由 /reg

这里创建的用户默认age=80,需要修改


3.更新路由 /update

漏洞位于setFn()函数中,该函数支持“路径式赋值”。
如果攻击者控制attrkey参数为proto.polluted,可修改Object的原型对象,影响所有对象,形成原型链污染漏洞。
利用这个路由,更新age属性小于79
attrkey=age&attrval=20


再修改密码和admin一致
attrkey=__proto__.pwd&attrval=admin
然后登录获取flag
password=admin&key=pwd

-END-


0条评论

发表评论