QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2221|回复: 0
打印 上一主题 下一主题

[建模教程] 2019--国赛--第一次参加线上赛的自己的整理

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2019-7-5 15:48 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    2 n+ ^3 m# U" D# y4 w# ]% B
    2019--国赛--第一次参加线上赛的自己的整理
    + X. \7 C) W: c" H# I2 a/ t, X) ?misc第一题:签到
    : s6 \. ^, f# u7 v, q; }4 T( D: Z- h5 o3 v2 K& i
    打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了# i$ z9 o; A' P# N; k6 F) A6 Y

    / g/ y! n0 b3 f6 ]4 t" U; G但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的) Z) W( X. T. K* O% U! ]4 \% B
    3 Z/ |1 y$ R; C+ o
    misc第二题:saleae* F0 M  {4 [( T6 s1 y( l

    ) v( s) J1 v, a下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件' K- J- u" z# e8 h* W& }

    " w2 ]" ^) m- l8 M下载后,发现其中给的是波形
    7 z; j5 y1 P, Z* P( P; }
    5 ]( g3 a. x0 b* Z% r然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)3 \' `4 O) ^& \' |6 ?  O
    + y& r9 o7 b/ y: B( r2 ]
    当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串) u/ z" E! @5 {1 M; l* l2 r

    ( v" K6 {* y, {" H* @: P4 b0 zmisc第三题:24C; F6 U  k# i1 H& Y4 ^  P

    9 W/ w) d' @1 [与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了1 }& q' {/ U2 m5 t8 _1 x
    8 p; x" k& |' p  i. p5 F. m
    crypto第一题:puzzle
    ; Z1 Q" `/ R  H' W6 r0 J7 Z# v# |! f' p% O, z7 v' }! s6 @2 j
    首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧
    - ]7 w$ O; y2 D8 k3 U# l4 @0 m, ?! C! V: u
    让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦- n$ \/ N% p1 Y, N8 r
    : j! i' Q9 S" u( b' @7 M, g
    所有的一切都是从0开始的感觉,于是就开启了自学之旅1 ~3 R) T1 l. }* I5 U! R) Z

    5 X) X0 X5 ^! R) {$ E提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了); Z' H( r! \! _( `, O

    ' J4 T5 w  W' X% W               2、question1就是分组找规律,与素数有关
    5 V4 ]- q5 J" E4 W
    4 W5 A4 y% o& _# ?! r               3、question2是做的最舒服的一道题,简简单单的高数上的计算
    5 |, v% R6 K' ]4 g( H7 o
    3 D# Q& J; g! L  T& _. h               4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了
    8 c! q: T% O  Y, o6 \9 R/ X  G1 i8 o: X5 r! V% X. j- Y  D
                   5、question5是三重积分,与二重积分类似,具体自己去算
    * ^3 T+ V- `# d. V  Y$ L5 e1
    7 c, Z8 W- Y) t' s. q6 d2$ e3 g) N$ c) h' F
    39 a. h+ t+ Z4 c: g. m& S2 y
    4: i6 \/ m# b8 }0 {/ l2 E  S( X# b
    5
    2 p3 ?7 \3 d! \6
    4 _2 a: @( r% W7
    - \+ _9 G) P8 _3 ^8 u' o1 c总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
    9 |- W  ?+ ?- K
    % V1 `  Z+ B% f- ]& ]  n! Kmisc第3题:useasp
    * v1 S, `* P4 h$ `$ K3 s
    0 y; \; r) j2 t# N6 i4 ]9 u) s6 u$ N鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了( G: m; C# v+ h# N6 l5 ?9 U' y

    ; x8 \4 s! z! \; }0 E0 \# k) P首先,将文件拖入软件中,然后果然出现了波形( g. h) A. V9 M, W6 s4 t8 f% \9 |

    ( g. t% n) Y8 E/ L8 R4 t昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”
    2 P9 D' U6 T7 z* M3 ^2 c* s$ s$ u2 b$ J4 [8 Q
    很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}1 y8 B8 C+ o7 u% V
    8 d2 ]+ d- }( L" l* i
    于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
    ) C. ^3 P1 }6 g3 t. t
    6 W; G( r; G/ C; n: [3 {: O更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。
    ' I( q+ @, @6 z/ d; d. o8 [' D9 n3 k4 \- z5 y& M
    web第一题
    + B* F% l8 ~4 C( H& L* n  e; K( k* k/ z2 j
    Just so so7 U7 R/ v& ^7 f/ Y
    4 K- }* R. I, o( }: z
    开始时,用伪协议拿到源码,然后就是反序列化利用了
    % D6 m$ D  t1 l9 ~4 d: f3 L2 q- R5 }- z: ^: L% a
    <?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'
    : Y0 I; F6 M0 C9 D, R4 H'; } if(preg_match("/flag/",$file)){ die('hack attacked!!!'); } @include($file); if(isset($payload)){ $url = parse_url($_SERVER['REQUEST_URI']); parse_str($url['query'],$query); foreach($query as $value){ if (preg_match("/flag/",$value)) { die('stop hacking!'); exit(); } } $payload = unserialize($payload); }else{ echo "Missing parameters"; } ?> hint.php <?php class Handle{ private $handle; public function __wakeup(){ foreach(get_object_vars($this) as $k => $v) { $this->$k = null; } echo "Waking up\n"; } public function __construct($handle) { $this->handle = $handle; } public function __destruct(){ $this->handle->getFlag(); } }
    7 D: O3 z6 n4 M7 P. Aclass Flag{
    # c! o# `" j" N5 G1 C0 M) Y- dpublic $file;
    7 @' ]! f& Y5 m/ |7 dpublic $token;
    ! [' e( y' ]& z2 Xpublic $token_flag;
    ( h( e$ B# e# l: l, ^9 H; V3 V# ^, Q# h% t: o/ \" u+ F2 R% ]8 _1 M
    function __construct($file){
    ; B) P4 c; K0 b6 X& s7 q        $this->file = $file;1 y$ _' c% w1 ^+ I2 O
            $this->token_flag = $this->token = md5(rand(1,10000));& G, f  B' w& r6 F
    }6 \4 O% p) s0 {' l
    ( }* V1 L4 a% t
    public function getFlag(){* P% l5 w) E7 X" B6 e' s4 x
            $this->token_flag = md5(rand(1,10000));; h9 s" L- R' h
        if($this->token === $this->token_flag)- S# o0 x/ x3 V( r5 @: d4 N% H3 _0 Q
            {4 Q# r: W& s" |1 i% |3 ~  G8 ]
                    if(isset($this->file)){! |1 W* j& @3 H# z$ P
                            echo @highlight_file($this->file,true);
    ! T* C' |' f  b! L) G; k        }  : e$ W3 {3 W4 ?; J
        }  V0 g4 m% N, i# t* L* K7 J
    }
    " [5 s+ G% S1 p1* s* L" w; V1 y; i# J2 o4 Y4 B9 O
    2
    $ C" J# A" R4 |- }; d3
    ! g, P! E0 q% m  g9 W0 k48 _  `6 K. W) d6 ]
    5
    , s( K) e8 G5 s5 v1 q# f* O& P6
    0 z: l; q: g) Q  O( b; I% X+ M7
    ; z" {7 j- Q4 b- c; q) S6 @80 b0 n  o! b8 r/ u
    9: ]4 D% W0 T. b0 L9 ^% e- \5 A: q
    10- Z- \& ]9 n) v: \1 h# K
    11
    0 q: Y( k3 i( a6 a12
    / X& `4 T7 _' I0 x13" n$ I  ~3 l% {2 R0 e
    14* A2 v# t+ Z6 P* c2 d
    }
    9 c$ g9 b+ ^6 ]# U0 _( N5 {?>
    5 J6 n( U( c1 T, w9 m! K 大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了4 j" Y8 u: E3 N! C9 O- o$ f( t. H6 M
    exp
    + ?5 Y& M$ h  @3 j& Z) w8 f/ o9 L/ k6 T6 X3 G
    View Code
    3 \7 N, H) y9 t* h% U1 e9 w7 p5 F7 q! b

      E8 [, I: T) W' S+ k
    1 ]1 M9 g4 C. h+ O7 t7 v' e9 g( @https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more
    , c1 b) Q: L5 E" O7 V3 ^
    4 V! c; Y- E: k$ e5 T: W5 G总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题+ D/ C  o$ n1 G% r
    --------------------- 4 r- g( k  v" F! c
    作者:Jeff King
    $ u* b8 z- n7 S' N( Q$ R来源:CSDN , `: F+ K' |" ?; f) w1 \! x
    , m/ A! W3 @* ~' C; h0 r5 F
    8 T9 l2 E, b5 ~2 s& l

    + \8 G. t, F- ]8 s
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-15 00:14 , Processed in 0.457597 second(s), 56 queries .

    回顶部