NSSCTF

[SWPUCTF 2021 新生赛]gift_F12 

在源代码界面找到了flag

[SWPUCTF 2021 新生赛]jicao

源码

<?php
highlight_file('index.php');
include("flag.php");
$id=$_POST['id'];
$json=json_decode($_GET['json'],true);
if ($id=="wllmNB"&&$json['x']=="wllm")
{echo $flag;}
?>

看的出来是有文件包含的,

id利用post传参id

json加密json get传参json

如果id= wllmNB json[x]=wllm 就可以得到flag

json_decode函数:

json_decode是php5.2.0之后新增的一个PHP内置函数,其作用是对JSON格式的字符串进行编码.那么这个函数该如何使用呢?

json_decode的语法规则:  ​json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

json_decode接受一个JSON格式的字符串并且把它转换为PHP变量 ,当该参数$assoc为TRUE时,将返回array,否则返回object。

JSON 格式的字符串

$json = '{"a":"php","b":"mysql","c":3}';

其中a为键,php为a的键值。

实例:

 所以这个get传参就可以写成?json = '{"X":"wllm"}';

post传参是 id=wllmNB

得到flag

[SWPUCTF 2021 新生赛]easy_md5 

源码

<?php 
 highlight_file(__FILE__);
 include 'flag2.php';
 
if (isset($_GET['name']) && isset($_POST['password'])){
    $name = $_GET['name'];
    $password = $_POST['password'];
    if ($name != $password && md5($name) == md5($password)){
        echo $flag;
    }
    else {
        echo "wrong!";
    }
 
}
else {
    echo 'wrong!';
}
?>

wrong!

简单的数组绕过

get传参name,post传参password,让他们两个值不同但是md5值相等,直接用数组绕过

get:name[]=2

post:password[]=1

得到flag

[SWPUCTF 2021 新生赛]easy_sql

在源码中找到了参数

url应该是注入点

找到了 看看sqlmap能不能用 发现可以

sqlmap命令:

常用命令:

1. sqlmap -u url:对指定的 URL 进行 SQL 注入测试。

2. sqlmap -r request_file:对指定的 HTTP 请求文件进行 SQL 注入测试。

3. sqlmap -d database_url:对指定的数据库 URL 进行 SQL 注入测试。

4. sqlmap --dbs:列出目标数据库中所有可用的数据库名称。

5. sqlmap -D database_name --tables:列出指定数据库中所有可用的数据表名称。

6. sqlmap -D database_name -T table_name --columns:列出指定数据表中所有可用的列名称。

7. sqlmap -D database_name -T table_name -C column_name --dump:获取指定列中的所有数据。

高级命令:

1. sqlmap --threads=num:指定使用的线程数。

2. sqlmap --level=num:指定测试的深度级别。

3. sqlmap --risk=num:指定测试的风险级别。

4. sqlmap --batch:以批处理模式运行 sqlmap。

5. sqlmap --random-agent:使用随机的 User-Agent 头部信息。

6. sqlmap --tor:通过 Tor 网络进行测试。

7. sqlmap --proxy=proxy_url:通过指定代理服务器进行测试。

8. sqlmap --dbms=dbms_name:指定要测试的数据库管理系统类型。

9. sqlmap --os=os_name:指定要测试的操作系统类型。

10. sqlmap --technique=technique_name:指定要使用的 SQL 注入技术。

找一下flag信息  最后在test_db表test_tb列中找到flag字段

[SWPUCTF 2021 新生赛]include 

传入:?file=flag.php 显示:

 php伪协议

PHP 伪协议(PHP pseudo-protocols)是一种特殊的 URL 格式,用于在 PHP 中访问和处理各种资源和数据。它们不是真正的协议,而是由 PHP 解释器解析和处理的特殊 URL 形式。

常见php伪协议

  1. php://input:用于访问请求的原始数据。可以用于处理 POST 请求的原始数据或者处理上传的文件数据。

  2. 示例:

    php

  • $data = file_get_contents('php://input');
    ```
  • php://output:用于输出数据到响应。可以用于将数据发送到浏览器或其他输出流。

    示例:

    php

  • file_put_contents('php://output', 'Hello, World!');
    ```
  • php://stdin:用于从标准输入流(stdin)读取数据。

    示例:

    php

  • $input = fgets(STDIN);
    ```
  • php://stdout:用于将数据写入标准输出流(stdout)。

    示例:

    php

  • fwrite(STDOUT, 'Hello, World!');
    ```
  • php://stderr:用于将错误信息写入标准错误流(stderr)。

    示例:

    php

  • fwrite(STDERR, 'An error occurred!');
    ```
  • php://temp:用于创建一个临时的内存数据流,可以读写数据。

    示例:

    php

$handle = fopen('php://temp', 'r+');
fwrite($handle, 'Hello, World!');
rewind($handle);
$data = fread($handle, 1024);
fclose($handle);

伪协议读取文件

1.读取本地文件 

$fileContent = file_get_contents('php://filter/read=convert.base64-encode/resource=/path/to/file.txt');
```

上述代码会将指定路径 `/path/to/file.txt` 的文件内容读取到变量 `$fileContent` 中。`convert.base64-encode` 过滤器可以将文件内容进行 Base64 编码,如果不需要编码,可以省略该过滤器。

2.读取远程文件 

$fileContent = file_get_contents('php://temp');
$remoteFile = fopen('http://example.com/file.txt', 'r');
stream_copy_to_stream($remoteFile, $fileContent);
fclose($remoteFile);
```

上述代码使用 `php://temp` 创建一个临时数据流,然后通过 `fopen` 打开远程文件 `http://example.com/file.txt`,最后使用 `stream_copy_to_stream` 将远程文件内容复制到临时数据流中。

3.读取标准输入

$stdinContent = file_get_contents('php://stdin');
```

上述代码会将标准输入中的内容读取到变量 `$stdinContent` 中。

这道题就可以用

php://filter/read=convert.base64-encode/resource=/path/to/file.txt的形式进行读取

base64进行解码就得到flag了

[SWPUCTF 2021 新生赛]easyrce

get传参url

用system进行rce

system('ls') 是一个 PHP 的系统调用函数,用于在命令行中执行系统命令。在这个例子中,ls 是一个常见的 Unix/Linux 命令,用于列出当前目录中的文件和文件夹。

当你在 PHP 中调用 system('ls') 时,它会执行 ls 命令,并将结果输出到标准输出流。你可以在命令行中运行 PHP 脚本或者在 Web 服务器上执行 PHP 脚本以查看输出结果。

system('ls /') 

找到了flag文件 得到flag

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

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

相关文章

【Linux】Linux环境配置安装

目录 一、双系统&#xff08;特别不推荐&#xff09; 安装双系统的缺点&#xff1a; 安装双系统优点&#xff08;仅限老手&#xff09;&#xff1a; 二、虚拟机centos7镜像&#xff08;较为推荐推荐&#xff09; 虚拟机的优点&#xff1a; 虚拟机的缺点&#xff1a; ​ …

Molecular Cancer|CDK9抑制诱导表观遗传重编程,揭示了规避淋巴瘤耐药性的策略

细胞周期蛋白依赖性激酶&#xff08;CDK&#xff09;蛋白家族在细胞周期进程&#xff08;如CDK1/2/4/6&#xff09;和RNA转录&#xff08;如CDK7/8/9/11&#xff09;的调控中起着不可或缺的作用。由于染色体区域易位或基因扩增导致的CDKs表达失调与肿瘤发生有关。在淋巴瘤细胞中…

华为云云耀云服务器L实例评测 | 实例评测使用之硬件性能评测:华为云云耀云服务器下的硬件运行评测

华为云云耀云服务器L实例评测 &#xff5c; 实例评测使用之硬件性能评测&#xff1a;华为云云耀云服务器下的硬件运行评测 介绍华为云云耀云服务器 华为云云耀云服务器 &#xff08;目前已经全新升级为 华为云云耀云服务器L实例&#xff09; 华为云云耀云服务器是什么华为云云耀…

爬虫获取一个网站内所有子页面的内容

上一篇介绍了如何爬取一个页面内的所有指定内容&#xff0c;本篇讲的是爬去这个网站下所有子页面的所有指定的内容。 可能有人会说需要的内容复制粘贴&#xff0c;或者直接f12获取需要的文件下载地址一个一个下载就行了&#xff0c;但是如下图十几个一级几十个二级一百多个疾病…

华为云Stack的学习(七)

八、华为云Stack存储服务介绍 1.云硬盘EVS 云硬盘&#xff08;Elastic Volume Service&#xff0c;EVS&#xff09;&#xff0c;又名磁盘&#xff0c;是一种虚拟块存储服务&#xff0c;主要为ECS&#xff08;Elastic Cloud Server&#xff09;和BMS&#xff08;Bare Metal Se…

MySQL - order by排序查询 (查询操作 四)

功能介绍&#xff1a;order by&#xff1a;对查询结果进行排序&#xff0c;执行顺序在查询完结果执行&#xff08;比如where后&#xff09; 排序方式&#xff1a;ASC&#xff1a;升序&#xff08;默认&#xff0c;不用指定&#xff09; DESC&#xff1a;降序 语法&#x…

公司新招了个字节拿36K的人,让我见识到了什么才是测试扛把子......

5年测试&#xff0c;应该是能达到资深测试的水准&#xff0c;即不仅能熟练地开发业务&#xff0c;而且还能熟悉项目开发&#xff0c;测试&#xff0c;调试和发布的流程&#xff0c;而且还应该能全面掌握数据库等方面的技能&#xff0c;如果技能再高些的话&#xff0c;甚至熟悉分…

GIT提示Another git process seems to be running in this repository

解决方法 1、进入项目里面的.git文件里面找到index.lock删除即可。

05-Zookeeper典型使用场景实战

上一篇&#xff1a;04-Zookeeper集群详解 1. Zookeeper 分布式锁加锁原理 如上实现方式在并发问题比较严重的情况下&#xff0c;性能会下降的比较厉害&#xff0c;主要原因是&#xff0c;所有的连接都在对同一个节点进行监听&#xff0c;当服务器检测到删除事件时&#xff0c…

gym_unity学习笔记

最近学了一段时间gym_unity&#xff0c;把一些资料留在这里 实例 实例gym_unity训练RollerBall&#xff1a;https://blog.csdn.net/alibutter/article/details/120908687实例gyn_unity训练3DBall&#xff1a;https://zhuanlan.zhihu.com/p/554927641?utm_id0 源码&#xff1…

Linux部署elk日志监控系统

目录 一、简介 二、部署elasticsearch 2.1 安装jdk11&#xff08;jdk版本>11&#xff09; 2.2 下载安装包 2.3 授权elk用户 2.4 配置elasticsearch.yml 2.5 启动elasticsearch 三、部署logstash 3.1 启动测试 3.2 可能出现的报错 3.3 指定配置文件启动logstash 3.4 安装El…

DevExpress WinForms图表组件 - 直观的数据信息呈现新方式!(一)

凭借界面控件DevExpress WinForms全面的2D和3D图表类型的集合&#xff0c;DevExpress WinForms的图表控件设计大大简化了开发者直观地向最终用户呈现信息的方式。 DevExpress WinForms有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。同时能完…

【笔记】Splay

【笔记】Splay 目录 简介右旋左旋 核心思想操作a. Splayb. 插入c. 删除 信息的维护例题AcWing 2437. SplayP3369 【模板】普通平衡树 简介 Splay 是一种平衡树&#xff0c;并且是一棵二叉搜索树&#xff08;BST&#xff09;。 它满足对于任意节点&#xff0c;都有左子树上任意…

常见应用层协议

一.HTTP&#xff08;超文本传输协议&#xff09; HTTP 和 HTTPS 二.FTP&#xff08;文件传输协议&#xff09; 三.SMTP&#xff08;简单邮件传输协议&#xff09; 四.POP3&#xff08;邮局协议版本3&#xff09; 五.IMAP&#xff08;互联网消息访问协议&#xff09; 六.DNS&am…

利用证书给pdf文件添加数字签名

文章目录 给pdf文件签名一、文件准备1. 构建印章2. 获取证书方法一 阿里云申请证书方法二 自建证书 二、利用证书给pdf签名三、设定签名位置在指定坐标签名在指定签名域签名 传送门 给pdf文件签名 如何给pdf文件签名&#xff0c;这样pdf文件就具有不可修改性&#xff0c;具有鉴…

钡铼BL302与PLC:提升酿酒业效率与品质的利器

啤酒是人类非常古老的酒精饮料&#xff0c;是水和茶之后世界上消耗量排名第三的饮料。 啤酒在生产过程中主要有制造麦芽、粉碎原料、糖化、发酵、贮酒後熟、过滤、灌装包装等工序流程。需要用到风选机、筛分机、糖化锅、发酵设备、过滤机、灌装机、包装机等食品机械设备。这些食…

指针笔试题详解

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力&#xff0c;一起奔赴大厂。 目录 1.前言 2.指针题写出下列程序的结…

【算法练习Day1】二分查找移除元素

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 二分查找解决方法一&…

在比特币上使用可检索性证明支付存储费用

我们为用户开发了一种为云存储付费的新方法。 与亚马逊的 S3 等传统云存储相比&#xff0c;用户不必信任服务器。 我们使用比特币智能合约来确保支付取决于服务器的可检索性证明 (PoR)&#xff0c;该证明只能在数据仍然可用且需要时可以检索的情况下生成。 可检索性证明 (PoR)…