攻防世界-WEB新手练习区教程(二)

2023-11-05

目录

攻防世界-WEB新手练习区教程(二)

simple_js

xff_referer

weak_auth

command_execution

simple_php


攻防世界-WEB新手练习区教程(二)

simple_js

进入场景

需要输入密码 尝试了一下万能密码看看能不能绕过

没法绕过 根据题目提示js 那就查看一下代码

对于这一段源码解析可以参考文章XCTF_Web_新手练习区:simple_js(源代码详解)_1stPeak的博客-CSDN博客

看完解析之后结论就是,无论我们在弹框中输入什么值,都只会返回FAUX PASSWORD HAHA

而正确的flag存放在String["fromCharCode"]这一行中

将数据进行转换一下(/x是十六进制的数据)

转换后的是十进制数值 可以根据ASCII表进行对照

得到字符串  7860sErtk12

也可以采用脚本进行转换 可以参照我的文章 步骤写的很详细

python小记--攻防世界simple_js解题脚本编写_tzyyyyyy的博客-CSDN博客

flag出现

Cyberpeace{7860sErtk12}

xff_referer

Referer是请求header 的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含 referer。比如我在www.sojson.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:Referer=https://www.sojson.com。由此可以看出来吧。它就是表示一个来源

进入场景

提示中说xff和referer是可以伪造的 由此联想到通过抓包修改数据包内容来伪造xff和refer的数据

打开burp抓包 并将抓到的包放入repeater中

添加X-Forward-For

X-Forward-For:123.123.123.123

点击go放包 查看回显

提示需要来自goole.com的请求 即为修改Referer的数据

flag出现

cyberpeace{1884ce0fcb708adc2ea2631904fb5712}

weak_auth

进入场景

尝试一下绕过

失败了~~~

那就尝试一下爆破 上burp

先抓包 并发送至intruder模块

修改一下我们需要爆破的地方

账号就先用个admin(毕竟好多登录的页面都有admin账户哈哈哈哈)

修改如下

设置字典

点击load加载字典(这个字典可以网上收集也可以私信我拿)

设置完毕之后 点击右上角 start attack进行爆破

点击一下length 发现了有一条回显长度不一样的密码 应该就是登录密码了 停止爆破 试试看能不能登录

输入账号admin 密码123456

登录成功 出现flag

cyberpeace{09c24fd232d8ffd2cb5d1855fa5b38f8}

command_execution

命令执行漏洞(command_execution)即使用者可以直接在Web应用中执行系统命令,从而获取敏感信息或者拿下shell权限。其造成的原因是Web服务器对用户输入命令安全检测不足(比如没加waf),导致恶意代码被执行。

ping用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、网络是否通畅等

进入场景

先随便ping一下查看回显

输入127.0.0.1

结合下列管道符 构造恶意代码

; A;B 先执行A,再执行B
& A&B 简单拼接,A B之间无制约关系
| A|B 显示B的执行结果
&& A&&B A执行成功,然后才会执行B
|| A||B A执行失败,然后才会执行B
127.0.0.1;ls -al  (ls是linux查看命令)

执行ls命令成功 证明存在命令执行漏洞

接下来只需要查找一下flag存储在什么位置 并通过相应的命令查看就可以了

127.0.0.1&& find / -name "flag*"   (find是linux查找命令)

发现了一个flag.txt 继续查看

127.0.0.1 && cat /home/flag.txt  (cat是linux查看文件命令)

 flag出现

cyberpeace{f74d6bd12e101bf445e450819853dac5}

simple_php

进入场景

根据提示 此题需要进行php代码审计 输入符合条件的a b值 最终得到flag

a参数的要求 a必须等于0且a为真

b参数的要求 b不能为数字且b大于1234

当不同类型的值进行==比较的时候会发生类型转换

所以,可以使a=0a

b不能是数字,但又必须大于1234,这里可以用b=1235a

结合之后得到

?a=0a&b=1235a

flag出现

Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

攻防世界-WEB新手练习区教程(二) 的相关文章

随机推荐

  • Windows操作系统TIME_WAIT状态的TCP连接快速回收时间

    问题 大规模Windows环境下 采用Nginx反向代理服务后 操作系统会产生较多TIME WAIT的TCP Transmission Control Protocol 连接 操作系统默认TIME WAIT的TCP连接回收时间是4分钟 TC
  • Qt QtCreator中项目的创建以及确定文件和目录的作用

    本文涉及 使用QtCreator进行第一个QT项目的创建 解析QT项目自动生成的各个文件 项目设计器的使用 查看QT项目文件结构 使用QtCreator配合控制台输出字符 建立QT项目目录 首先按照实际项目中的创建方法准备存放即将创建的案例
  • 批量创建多级文件夹(智能硬件项目文件夹管理为例)

    以智能硬件项目为例 创建项目文件夹 1 新建一个 txt文件 命名为 项目文件夹创建工具 txt 2 文件中输入如下内容 echo echo 项目文件夹创建工具 bat echo 作者 匠在江湖 echo 日期 2020 10 08 ech
  • ubuntu下的qt程序移植至ARM开发板

    一 第一步新建一个helloworld QT工程 二 使用qmake工具生成Makefile文件 在工程源码文件夹运行qmake opt qt 4 7 1 bin qmake 生成Makefile文件 三 执行编译命令 make 如下图所示
  • struts2.1.8+hibernate3.6.0+spring2.5三大框架整合demo

    1 打开myeclipse6 5 新建web工程 SSH 2 导入相关jar包 1 手动导入struts包 Struts2 1 8 最少依赖jar包7个 拷贝到 WEB INF lib目录下 在src目录下建立struts xml文件
  • java如何进阶?

    这篇回答没有长篇大论的 Java 进阶学习路线推荐 作为纯靠自学获得大厂 offer 的过来人 给几点建议 1 一定要动手实践 2 避免货物崇拜编程 3 提高系统设计能力 4 造轮子 5 深入学习 学会总结沉淀 当然也是需要扎实的基础的 例
  • C++标准模板库(STL)介绍与常见STL用法总结

    C 标准模板库 STL 介绍与常见STL用法总结 一 简介 STL是 C 标准模板库 Standard Template Library 的缩写 STL是C 为使用者提供的实现好的容器 包括vector 队列 栈 string等 掌握其对于
  • suse 内核编译安装_教你如何快速编译安装Linux新内核

    随着内核版本的更新换代 你是否有觉得自己的内核版本有些低了呢 如果有的话 没关系 今天小编就来教大家如何编译安装新的内核 在编译安装Linux内核之前先检查我们的虚拟机所在的磁盘空间 预留空间10G以上 不然编译安装内核无法完成 下面我们就
  • 如何优雅的打印数组

    如何优雅的打印数组 以下文章来源于沉默王二 作者沉默王二 https mp weixin qq com s 20s0XSsdUE2qJDP4OtM rw 在 Java 中 数组虽然是一个对象 但并未明确的定义这样一个类 因此也就没有覆盖 t
  • Linux在应用层读写寄存器的方法及/dev/mem分析

    1 Linux在应用层读写寄存器的方法 转自 https blog csdn net liukang325 article details 26601811 可以通过操作 dev mem设备文件 以及mmap函数 将寄存器的地址映射到用户空
  • Go-OpenWrt获取wan口ip、dns、网关ip

    Go OpenWrt获取wan口ip dns 网关ip 文章目录 Go OpenWrt获取wan口ip dns 网关ip 1 前言 2 解决方案思路 3 代码 1 前言 一般来说 Openwrt可以配置多个wan口和多个lan口 这里获取的
  • Vue父子组件通过prop异步传输数据踩坑

    今天碰到vue开发父子组件通信的一个小坑 情况是这样的 子组件使用echart展示图表 所需options由父组件通过prop传入 父组件中的options初始值为空 在mounted钩子函数中发起http请求获取数据然后更新options
  • Qt制作简单的无边框登陆窗口

    使用qt做简单的登录窗口 环境 win10 Qt5 创建项目 选择Widget类 勾选ui界面 因为我是用的默认类名所以类名是Widget 以下是Widget h ifndef WIDGET H define WIDGET H includ
  • 离散方法介绍

    离散成 的方法存在很多 但是各个方法直接存在优劣 从两方面进行参数比较 方面 1 从零点和极点 2 环节的频率响应 幅频和相频特性 系统控制方面 评价离散方法的参数 1 主导零 极点 2 系统带宽或者穿越频率 3 直流增益 4 增益裕度 5
  • Python采集世界大学排行榜,做数据可视化,来看看你的大学上榜没

    前言 这不是最近疫情又开始了 马上也要过年了 就是说很多大学都开始准备放假了吧 我有个表妹下周二就放寒假了哈哈 感觉现在读书寒假可长了 今天有点无聊 就来 爬取一下世界大学排行榜 做数据可视化 看看你们的学校上榜没 知识点 动态数据抓包 r
  • Algorithm oj 全集(已过oj)

    Algorithm oj 分治策略 作业1 找出数组中第 k 小的数 总提交数 616次 通过数 188次 通过率 30 52 内存限制 104857600 BYTE 时间限制 10000 MS 输入限制 1000 行 输出限制 1000
  • 【我的面试-01】Web前端开发实习岗-面试题总结

    简单开头 首先技术面试官会根据简历里所写的项目和个人掌握技术栈提问 我不知道已经改过多少次简历了 因为前期投简历是真的是沉在茫茫大海 捞漂流瓶都捞不到的那种 我的技术栈 Vue还在苦苦的自学当中 随便推荐一下coderwhy老师B站的教学视
  • 通过反射获取一个对象的属性值三种方法比较

    这里写目录标题 为何要写这篇博客 数据准备 方法实践 总结 为何要写这篇博客 反射机制的用途非常多 比如获取方法 属性名和属性值等 甚至可以获取标签等标签属性 今天来比较几种获取实例化对象的属性值方法 数据准备 Builder FieldD
  • C++的cout高阶格式化操作

    敬告 当您的浏览器以非默认字体浏览本文时 段落格式可能会出现偏差 这篇文章主要讲解如何在C 中使用cout进行高级的格式化输出操作 包括数字的各种计数法 精度 输出 左或右对齐 大小写等等 通过本文 您可以完全脱离scanf printf
  • 攻防世界-WEB新手练习区教程(二)

    目录 攻防世界 WEB新手练习区教程 二 simple js xff referer weak auth command execution simple php 攻防世界 WEB新手练习区教程 二 simple js 进入场景 需要输入密