WEB:wife_wife

news2024/12/25 9:53:25

背景知识

                JavaScript原型链污染

题目

先尝试一下,注册了管理员账号

这里不知道邀请码,所以没有勾选 

 答案不正确

这里借鉴其他大佬的思路

查看源代码才知道,后端没有数据库,所以sql注入是不可能的

// post请求的路径
app.post('/register', (req, res) => {
 
    let user = JSON.parse(req.body)  // 把我们输入的账号密码,从json字符串转成对象
 
    // 判断我们有没有输入账号和密码
    if (!user.username || !user.password) {  
        return res.json({ msg: 'empty username or password', err: true })
    }
    // 判断账号是否存在总对象的username里,如果相同的username就是重复用户名了
    if (users.filter(u => u.username == user.username).length) {  
        return res.json({ msg: 'username already exists', err: true })
    }
    // isAdmin是否true 与 邀请码是不是等于这个常量,所以sql注入没用,邀请码是个常量
    if (user.isAdmin && user.inviteCode != INVITE_CODE) {
        user.isAdmin = false
        return res.json({ msg: 'invalid invite code', err: true })
    }
 
    // 使用系统函数复制对象,打包成一个新的对象
    let newUser = Object.assign({}, baseUser, user)
    users.push(newUser)  // 存到总对象里
    res.json({ msg: 'user created successfully', err: false })  // 设置返回信息
})

重新整理思路,进行原型链污染测试

看了这部分源码能判断出,如果这个登陆的对象里,isAdmin的属性是true,那就证明是一个管理员,如果是普通注册的用户,isAdmin属性是false

重新注册然后用bp进行抓包,根据上述思路,直接污染即可

 到最后我也没有成功拿到flag,后面复盘一下步骤

待更新

参考学习链接:
【web | CTF】攻防世界 wife_wife_天命传说的博客-CSDN博客

【愚公系列】2023年06月 攻防世界-Web(wife_wife)_愚公搬代码的博客-CSDN博客

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/783230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python open()函数之buffering缓冲区策略

文章目录 一、buffering 缓冲策略二、示例1. 可交互文本文件1.1 buffering-1,行缓冲(默认)1.2 buffering0,文本模式不支持关闭缓冲区1.3 buffering1,行缓冲,同 buffering-11.4 buffering>1,i…

使用开源项目并使用docker的方式搭建代理接口

目录 一、docker部署代理池子测试1、windows搭建代理池子测试2、linux上搭建代理池子测试 一、docker部署代理池子测试 这里使用的代理池子项目是崔大的git开源的项目,代理项目代码这里选择的安装方式是docker安装,这样即使本地没有redis环境&#xff0…

linux 在excel里面找内容

linux 在excel里面找内容 背景:在大数据行业中,很多数据源是excel文件,但是常常会出现查找excel内容找到对应的文件,所以制作了简单的shell脚本方便查询对应的excel文件 查看下面精简的内容即可,开箱即用 shell转换 …

python web开发之gunicorn 和 uWSGI 对比和配置

关于uWSGI的定义,在上一篇文章中写了,链接:WSGI/uwsgi/uWSGI详解 python开发常见的容器就只有的uWSGI和Gunicorn,本文介绍两者的区别和配置 1. 共同点 在架构上,nginx负责动态的转发和静态文件的直接访问,…

三、万物皆对象(2)

本章概要 类的创建 类型字段基本类型默认值方法使用 返回类型参数列表 程序编写 命名可见性使用其他组件static 关键字 小试牛刀 编译和运行 编码风格 类的创建 类型 如果一切都是对象,那么是什么决定了某一类对象的外观和行为呢?换句话说&#xff…

2023年华数杯数学建模竞赛ABC题思路代码论文资料汇总贴

下文包含:2023华数杯数学建模竞赛ABC题思路解析代码参考论文等及如何准备数学建模竞赛 C君将会第一时间发布选题建议、所有题目的思路解析、相关代码、参考文献、参考论文等多项资料,帮助大家取得好成绩。2023华数杯数学建模竞赛于8月3号下午6点正式开赛…

Origin科学绘图分析软件2023最新版下载安装教程

在科学研究和工程领域,数据的处理和分析是至关重要的一环,而Origin则是这方面的一款重要工具。Origin软件是由OriginLab公司开发的,主要用于各种科学数据的处理和分析,以及高质量的科学图形的创建。#乐享周末分享吧# 下载地址文末…

Spring Cloud Eureka 服务发现速度慢配置优化总结

文章目录 一、 Eureka-server 服务端缓存问题1.1 服务端缓存1.2 客户端从服务端获取实例数据的过程1.3 优化 二、客户端 Eureka-client 缓存导致2.1 Eureka客户端和服务端交互缓存2.2 Ribbon 缓存了EurekaClient的缓存2.3 优化 使用Eureka时,常常会发现服务发现慢&a…

Stable Diffusion 本地部署教程

1.前言: 最近看Stable Diffusion开源了,据说比Disco Diffusion更快,于是从git上拉取了项目尝试本地部署了,记录分享一下过程~ 这里是官网介绍:https://stability.ai/blog/stable-diffusion-public-release 2.必要前提…

jar 更新 jar包内的 class,以及如何修改class

一、提取Jar 内文件 #提取jar内的配置文件jar -xvf a.jar META-INF\plugin.xml-已解压: META-INF/plugin.xml#提取jar内的class文件, 提示:反编译为java文件,修改后再使用javac xxx.java编译为class,jar -xvf a.jar io.config.**…

三维测量技术在高端精密制造中的应用

科技创新是新时代的重要发展动力。三维测量技术以精密机械为基础,综合应用了电子技术、计算机技术、光学技术和数控技术等先进技术,可以对机械、汽车、航空、家具、工具原型等测量出高精度的几何零部件以及测量复杂形状的机械零部件,给各行业…

Autosar IOC机制(核间通信)

文章目录 一、IOC二、诊断代码实例一、IOC IOC和操作系统紧密相关,是操作系统实现的一部分 ①ECU间通信:通过通信协议栈定义好的API进行通信,通俗来讲就是通过总线(CAN/LIN/Flexlay)进行通信。 ②OS-Application内SWC间的通信:通过RTE处理。 ③OS-Application间的通信:通信…

【iOS】自定义字体

文章目录 前言一、下载字体二、添加字体三、检查字体四、使用字体 前言 在设计App的过程中我们常常会想办法去让我们的界面变得美观,使用好看的字体是我们美化界面的一个方法。接下来笔者将会讲解App中添加自定义字体 一、下载字体 我们要使用自定义字体&#x…

JQuery全部过滤选择器详细介绍下

文章目录 JQuery全部过滤选择器详细介绍-下属性过滤选择器● 属性过滤选择器-应用实例代码演示 子元素过滤选择器● 子元素过滤选择器基本介绍5. nth-child() 选择器详解如下:● 子元素过滤选择器示例-应用实例代码演示 表单属性过滤选择器● 此选择器主要对所选择的…

壹牛NFT数字艺术藏品数藏系统源码 全开源

这套源码小白大致测试了一下发现几点问题,uniapp少了几个文件不能编译只能用public/h5里面web端,后台账号密码似乎不正确,这类源码挺少的感兴趣的自己下来研究修复一下吧。 壹牛NFT数字艺术藏品数藏系统源码 全开源 这个版本新增了不少功能&#xff0c…

动态规划入门第2课,经典DP问题1 --- 线性

动态规划要点 阶段的2个方向:从上到下;从下到上。 动态规划要点 从递归到DP 动态规划要点 两个2个方向 优化的可能性 第1题 合唱队形 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形…

Apple M1 Pro macOS 切换中文输入法卡住

(macOS 在切换中文输入法时出现卡住的情况 1,切换为中文输入法后再次卡住2,杀死 简体中文输入方式的进程参考 将光标移到菜单栏的输入法切换为英文输入法 多次切换为英文输入法,可以切换为英文输入法 切换为英文输入法后电脑不卡顿了&#xf…

基于springboot+jpa+mysql+html网上商城系统

基于springbootjpamysqlhtml网上商城系统 一、系统介绍二、功能展示1.主页(客户)2.登陆(客户)3.注册(客户)4.购物车(客户)5.我的订单(客户)6.用户管理(管理员)7.分类管理&#xff08…

iOS--编译链接的过_1

iOS 开发中使用的是编译语言,所谓编译语言是在执行的时候,必须先通过编译器生成机器码,机器码可以直接在CPU上执行,所以执行效率较高,是使用 Clang / LLVM 来编译的。LLVM是一个模块化和可重用的编译器和工具链技术的集…

Java基本数据类型默认初始化值测试

1.基本数据类型为成员变量 public class Test {boolean b;char c;byte bt;short s;int i;long l;float f;double d;public static void main(String[] args) {Test t new Test();System.out.println("boolean类型默认值:" t.b);System.out.println(t.c…