nssctf web 入门(3)

news2024/11/23 13:15:26

目录

[NISACTF 2022]easyssrf

 [SWPUCTF 2021 新生赛]ez_unserialize

 [SWPUCTF 2021 新生赛]no_wakeup


这里通过nssctf的题单web安全入门来写,会按照题单详细解释每题。题单在NSSCTF中。

想入门ctfweb的可以看这个系列,之后会一直出这个题单的解析,题目一共有28题,打算写10篇。

[NISACTF 2022]easyssrf

[NISACTF 2022]easyssrf

curl网站 curl可以用于向远程服务器发送http请求,并获取服务器的响应

也就是从他的电脑上发送

我们可以通过file://来查看他的文件 file://是文件协议的url在url中使用file:///可以指定本地文件的路径,类似于在操作系统中通过绝对路径访问本地文件。

发现他说查看fl4g我们查看fl4g

 

这里显示要我们查看ha1x1ux1u.php

<?php

highlight_file(__FILE__);  #通过highlight_file让当前代码显示到页面上
error_reporting(0);        #过滤错误信息

$file = $_GET["file"];     #通过get方法获取file变量并赋值给file
if (stristr($file, "file")){ #if判断 stristr用于匹配$file中含不含有file如果含有则输出你败了
  die("你败了.");
}

//flag in /flag
echo file_get_contents($file);  #通过file_get_contents读取$file 并通过echo输出到页面上

 这里因为通过file_get_content会读取file变量指定的文件,也就是我们通过指定flag文件通过file_get_contents打开并会输出到桌面 所以我们指定file的值为/flag

 [SWPUCTF 2021 新生赛]ez_unserialize

 

[SWPUCTF 2021 新生赛]ez_unserialize

 

 

f12发现disallow

Robots 协议(也称为爬虫协议、机器人协议等)的全称是 “网络爬虫排除标准”(Robots Exclusion Protocol),网站通过 Robots 协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。

disallow就是爬虫不能搜索的所以我们去看看robots

 

 

<?php

error_reporting(0);      #通过error_reporting屏蔽报错
show_source("cl45s.php"); #将c145s.php的代码显示到页面上

class wllm{               #定义了一个wllm类

    public $admin;        #公共变量admin
    public $passwd;       #公共变量passwd


    public function __construct(){ #construct当类创建时调用
        $this->admin ="user";     #指定admin的值为user
        $this->passwd = "123456"; #指定passwd的值为123456
    }

        public function __destruct(){ #destruct当对象要销毁时调用
        if($this->admin === "admin" && $this->passwd === "ctf"){  #if判断 admin的值是不是admin passwd的值是不是ctf
            include("flag.php");  #include包含flag 当if判断成立时执行
            echo $flag;           #输出flag     
        }else{
            echo $this->admin;
            echo $this->passwd;
            echo "Just a bit more!";
        }
    }
}

$p = $_GET['p'];   #通过get方法获取p并赋值给p
unserialize($p);   #对p进行反序列话

?>

这里我们要序列话admin 值为admin passwd值为ctf

O:4:"wllm":2:{s:5:"admin";s:5:"admin";s:6:"passwd";s:3:"ctf";}

 [SWPUCTF 2021 新生赛]no_wakeup

[SWPUCTF 2021 新生赛]no_wakeup​​​​​​

 

<?php

header("Content-type:text/html;charset=utf-8"); #用于发送http报头
error_reporting(0);    #屏蔽错误信息
show_source("class.php"); #将class.php的代码显示到页面上

class HaHaHa{  #定义一个叫HaHaHa的类


        public $admin;   #定义公共admin
        public $passwd;  #定义公共passwd

        public function __construct(){  #当类调用时执行
            $this->admin ="user";       #赋值admin user值
            $this->passwd = "123456";   #赋值passwd 123456值
        }

        public function __wakeup(){     #在反序列化后立即调用
            $this->passwd = sha1($this->passwd);  #将passwd的值进行哈希加密
        }

        public function __destruct(){   #当类快要结束时调用
            if($this->admin === "admin" && $this->passwd === "wllm"){  #if判断 admin的值是不是admin passwd的值是不是wllm
                include("flag.php");    #通过include包含flag.php
                echo $flag;             #输出flag
            }else{
                echo $this->passwd;
                echo "No wake up";
            }
        }
    }

$Letmeseesee = $_GET['p'];  #通过get方法获取到p并赋值给Letmeseesee
unserialize($Letmeseesee);  #反序列话Letmeseesee

?>

这里和上面一题差不多就是多了和wakeup对密码进行哈希加密,我们进行绕过处理

漏洞名字叫CVE-2016-7124

O:6:"HaHaHa":3:{s:5:"admin";s:5:"admin";s:6:"passwd";s:4:"wllm";}

CVE-2016-7124绕过影响的版本PHP5 < 5.6.25;PHP7 < 7.0.10
若在对象的魔法函数中存在的__wakeup方法,那么之后再调用 unserilize() 方法进行反序列化之前则会先调用__wakeup方法,但是序列化字符串中表示对象属性个数的值大于真实的属性个数时会跳过__wakeup的执行 

这里我们HaHaHa中有2个对象属性,我们保证序列化字符串中的对象属性大于2就可以绕过wakeup

 

 

 

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

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

相关文章

FLStudio21中文版本好不好用?值不值得下载

FLStudio中文21最新版本以其使用速度而闻名&#xff0c;是一个高度复杂的音乐制作环境。现代的DAW是一种非凡的野兽。首先&#xff0c;它在很大程度上把自己放在了(几乎)每个人记录过程的核心。其次&#xff0c;通过在价格适中的软件中模拟完整的工作室体验&#xff0c;它在音乐…

国内版的ChatGPT弯道超车的机会在哪里?

前言 从去年11月最后一天ChatGPT诞生&#xff0c;截至目前&#xff0c;ChatGPT的热度可谓是爆了。众所周知&#xff0c;ChatGPT是美国“开放人工智能研究中心”研发的聊天机器人程序&#xff0c;它是一个人工智能技术驱动的自然语言处理工具&#xff0c;它能够通过学习和理解人…

【数据分析】— 特征工程、特征设计、特征选择、特征评价、特征学习

【数据分析】— 特征工程特征工程是什么&#xff1f; (Feature Engineering)特征工程的意义特征工程的流程特征的设计从原始数据中如何设计特征&#xff1f;基本特征的提取创建新的特征函数变换特征独热特征表示 One-hot Representation数据的统计特征TF-IDF&#xff08;词频-逆…

「Cpolar」看我如何实现公网远程控制Mac OS【使用mac自带VNC】

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后端的开发语言A…

探寻人工智能前沿 迎接AIGC时代——CSIG企业行(附一些好玩的创新点)

上周我有幸参加了由中国图像图形学会和合合信息共同举办的CSIG企业行活动。这次活动邀请了多位来自图像描述与视觉问答、图文公式识别、自然语言处理、生成式视觉等领域的学者&#xff0c;他们分享了各自的研究成果和经验&#xff0c;并与现场观众进行了深入的交流和探讨。干货…

重感知还是重地图?其实无需选择

近来&#xff0c;关于自动驾驶应该重感知还是重地图是个热点话题&#xff0c;很多重量级车厂、自动驾驶供应商都开始提出重感知轻地图的方案&#xff0c;并承诺很快能发布出对应的产品。业界也出现了高精地图已“死”等类似的言论。 一时之间&#xff0c;似乎轻地图已经成为了…

三种实现模型可视化的方式(print, torchinfo, tensorboard)

记录一下自己使用的三种模型可视化的方式&#xff0c;从简单到难 Print 最简单的是print&#xff0c;就不用多说了。 Torchinfo from torchinfo import summary import torch model (...) summary(model, (1,3,128,128))即可按照像文档路径一样的方式输出结构&#xff0c;…

算法模板(2):数据结构(5)做题积累

数据结构&#xff08;3&#xff09; 一、并查集 238. 银河英雄传说 有 NNN 艘战舰&#xff0c;也依次编号为 1,2,...,N1,2,...,N1,2,...,N&#xff0c;其中第 iii 号战舰处于第 iii 列。有 TTT 条指令&#xff0c;每条指令格式为以下两种之一&#xff1a;M i j&#xff0c;表…

Linux lvm管理讲解及命令

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 前言 目录 一、lvm管理 1.Logical Volume Manager,逻…

【运维笔记】VM centos 环境安装

镜像选择 阿里镜像源 注意在安装时&#xff0c;安装非图形化界面选择minimal版本安装。&#xff08;笔者在安装时选择了erverything和DVD&#xff0c;发现都是图形界面hhh&#xff0c;浪费了一早上时间&#xff09; 翻阅百度垃圾堆&#xff0c;版本号都推荐7.6-7.9&#xff…

图解国家网信办《生成式人工智能服务管理办法(征)》| 附下载

伴随ChatGPT兴起&#xff0c;生成式人工智能技术正作为一种创造性应用&#xff0c;牵引场景创新&#xff0c;推动新技术迭代升级和产业快速增长。由于生成式人工智能处于发展初期&#xff0c;技术成熟度、政策合规性等发展不足&#xff0c;导致其极易面临非法获取数据、个人隐私…

基于差分进化算法的含DG配电网无功优化模型

目录 1 主要内容 目标函数 算法流程 2 部分程序 3 程序结果 4 程序链接 1 主要内容 该程序参考《自适应多目标差分进化算法在计及电压稳定性的无功优化中的应用》&#xff0c;以网损和电压偏差为目标&#xff0c;考虑DG无功出力和电容器组&#xff0c;建立多目标无功优化…

OpenAI-ChatGPT最新官方接口《文本交互》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(一)(附源码)

Text completion 文本交互前言Introduction 导言Prompt design 提示设计Basics基础知识TroubleshootingClassificationImproving the classifiers efficiency 提高分类器的效率Generation 总结Conversation 对话Transformation 变化Translation 翻译Conversion 转化Summarizati…

联想服务器配置RAID

一、背景描述 目前有台联想服务器&#xff0c;配置如下&#xff1a; CPU&#xff1a;2颗处理器&#xff0c;40核 内存&#xff1a;512GB 磁盘&#xff1a;2*960GB SATA 4*2.4TB SAS 计划在联想物理机上安装 Vmware 的 ESXi 6.7 虚拟化管理软件&#xff0c;作为虚拟化服务器。…

Linux驱动开发——字符设备

目录 Linux设备分类 字符设备驱动基础 字符设备驱动框架 虚拟串口设备 Linux设备分类 Linux系统根据驱动程序实现的模型框架将设备驱动分为下面三种。 (1)字符设备驱动:设备对数据的处理是按照字节流的形式进行的&#xff0c;可以支持随机访问&#xff0c;也可以不支持随…

【解决】You May need an additional loader to handle the result of these loaders

说在前面 最近在新拉项目执行install以及run命令时&#xff0c;两个项目同时报了类似的错误&#xff0c;报错详情如下图所示。 因为之前同事运行代码没有问题&#xff0c;所以基本的问题可以定位在某个依赖版本问题&#xff0c;考虑到时间先后&#xff0c;大概率是新版本使用…

把中文翻译成英语的软件-chatgpt、谷歌、百度、批量翻译

用chatgpt怎么实现中文英文在线转换翻译 要实现中文英文在线转换翻译的代码&#xff0c;可以使用OpenAI的ChatGPT模型实现。以下是实现该功能的简要教程&#xff1a; 准备环境 安装Python 3.x&#xff0c;使用pip或conda安装transformers及相关依赖&#xff1a; pip install…

【算法训练 (day2)】积木画(dp问题)

目录 一.问题 题目描述 输入格式 输出格式 输出样例 二.解题思路 合法性判定&#xff08;状态压缩&#xff09;&#xff1a; 推导dp式&#xff1a; 代码实现&#xff1a; 一.问题 题目描述 小明最近迷上了积木画&#xff0c;有这么两种类型的积木&#xff0c;分别为 I…

MySQL多表查询内连接外连接详解,join、left join、right join、full join的使用

目录 1、多表查询概览 1.1、分类 1.2、外连接的分类 1.3、常用的SQL语法标准 2、内外联接案例 2.1、初始化表 2.2、内连接 2.3、外连接案例 2.4、全连接案例 2.5、union和union all 2.6、实现MySQL全连接 2.7、内外连接面试基础 2.8、SQL99多表查询新特性 1、多表…

python入门项目:数据清洗

文章目录前言一、数据清洗是什么&#xff1f;二、重复值处理三 缺失值处理四、数据类型转换前言 本文是对数据清洗的简单学习。 本文使用的数据来源为&#xff1a;博雅读书社所提供的数据 一、数据清洗是什么&#xff1f; 数据清洗是指在数据分析或挖掘之前进行的&#xff0…