QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2251|回复: 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

    % m: Z) U& `; W; S6 o: K" o( e2019--国赛--第一次参加线上赛的自己的整理$ f  V- x+ y9 H% e1 Q" J" F- Y
    misc第一题:签到
    0 ~/ g0 n6 `# e; ^& I5 }: c/ Q
    4 K& L1 Z8 t; J5 F打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了6 L( C' x0 p  r, s" F5 I3 H* |
    / n% j9 O6 q8 E  F& i7 e/ @
    但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
    . G0 B3 W+ Z3 g* `( c6 ]" p+ y2 s3 c: J- U7 K
    misc第二题:saleae
    4 i  G* }9 b6 A8 v" ]# `' n8 t- \! f
    下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件0 H- G$ V) G" U( Q3 V, A+ h5 \

    . S6 w! b, B: p) ~下载后,发现其中给的是波形
    ) |2 ?! C' O8 y/ |+ M: U; ~/ Q" c  Q. e; n& u% A8 f
    然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)
    " _0 V* [4 a( s8 F
    & P( J9 J9 Y9 o1 C; ?当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串& H) {! W) f/ a( D7 `4 v

    : ~) I3 w, N5 L# lmisc第三题:24C
    2 [% g+ ^' l9 V8 @, e7 Z$ P& h! ^: D6 H. O( N  E# ~
    与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
    % A7 ~- ~- x6 W2 S% g: Z' E- I
    " r6 |6 |' z( R% x/ e% t+ Q, {, d2 jcrypto第一题:puzzle9 _: I  B& ]8 b0 S+ \' E

    # V+ y+ ]2 r* q; `9 Y+ G首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧* }" K) y$ y# A. O, |

    % c! R# H6 [% k5 Y5 _  X0 B让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦# t7 f; F2 w8 Y* P: P" `

    6 t  H% ?2 U; Q* Y' @所有的一切都是从0开始的感觉,于是就开启了自学之旅4 G7 ?) n% Z+ Y" R7 m7 w

    2 d+ N* P; f  Q6 X/ E提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)
    : l5 t, y% ^2 m7 B- ^+ Q
    7 t8 g  h6 X5 B               2、question1就是分组找规律,与素数有关7 |2 R* \/ i# J! [" O9 b# |
    ! \( P0 H: ?- _# N/ P
                   3、question2是做的最舒服的一道题,简简单单的高数上的计算
    , ^# [2 Y* ~! t7 g) D, j! o8 C% b; z  u
                   4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了
    % h$ {' ?# C3 H6 |. L# j1 E9 m2 P/ w; m& Q0 E4 u1 z; x5 Y
                   5、question5是三重积分,与二重积分类似,具体自己去算3 z1 G3 M  X+ U: ~; y- Z5 W' i
    1' L! H3 x+ j2 J' M
    2& S  W# i9 T/ W7 J& |' K5 {( n+ ]
    3# ~7 K6 [$ V) S' k2 s5 i# j
    4
    5 S9 ^* _, m, t# @) X: N5
    6 k( B  v' n$ ]7 A6
    ; D! s( W: ~3 g. s+ z7& x6 S: u5 v" Y' }/ a+ o: H' j* ~/ z
    总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数; ]1 B- P' x) X1 E, B

    ) R0 i- z9 L4 o- L( P- E; [, ?* Z+ hmisc第3题:useasp. R. k/ ~8 `* w7 L. ]# l' i3 Y

    ! Q6 r" v+ ^' X鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了
    4 |) }; o7 j) z8 K2 m6 S& S2 F6 F$ J
    首先,将文件拖入软件中,然后果然出现了波形
    : F  j' g# ~! I9 L" R
    $ i' A! x+ }) r& C# H昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”" B! L9 X5 L3 ]% A6 R/ g8 k

    8 ^4 `6 U. `/ ~  X3 ~( V( W很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}* Z) q2 L0 W$ b
    + D- v6 ^8 T2 B" O
    于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
    - ]/ `' w# v, u: X' ?, C/ p$ u, U- p
    更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。# v9 @) B: H5 A3 p) f
    $ |4 m$ V% F  q; R! z+ ~; d
    web第一题
    8 ?) R# q- i8 g2 r1 o5 B* d$ n; N9 C2 W+ T3 ]) w  Y$ q
    Just so so
    3 h" Y& I1 ]8 q' a) P- H8 N# [2 R/ ~
    开始时,用伪协议拿到源码,然后就是反序列化利用了( Z$ |# I3 z) o' y0 P

    & V: G6 \# L' v0 V<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'
    , {& a$ D1 P6 x( t' [9 T- k' E7 {2 ['; } 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(); } }( M) A* x- z# w% i' {
    class Flag{) I( [# E0 l; \% `1 S* j8 W
    public $file;
    * B3 Q' K5 F1 B1 bpublic $token;3 d  V. Q% @) j# [
    public $token_flag;% a9 H1 F  K6 y9 M/ O, Z
    + F  k) E5 L/ }& M& k+ k7 v8 Q: k
    function __construct($file){# z" A- p- A; _8 P- o- f  X+ _
            $this->file = $file;
    " i+ [2 c5 {; x" Q( [4 S        $this->token_flag = $this->token = md5(rand(1,10000));
    9 |: }3 n5 H# K& a. v}6 \9 `$ i0 i% s* X# M$ H1 r4 G  |

    & u9 a) I# w* n% _public function getFlag(){
    * P3 I1 U% s1 V1 M        $this->token_flag = md5(rand(1,10000));, a4 |/ n3 c1 n
        if($this->token === $this->token_flag)
    7 h$ {  b7 e  `- h        {2 c- j6 ]# m0 R. `
                    if(isset($this->file)){
    9 X* X2 s/ e' w/ F2 e( r                        echo @highlight_file($this->file,true);
    7 V$ F5 z3 K$ J( ]) V8 C        }  
    % K4 G: W& b6 |3 ~2 {: }    }  e" n0 V4 o. u
    }
    / Z. u- O' J3 X7 d/ A( }1  N' x5 {) ~. Q$ P7 r' N
    26 V0 F/ v; `9 W* b# j: a4 s
    30 ~1 T$ U+ a. W& g. B4 j
    4
    $ W) [  }  D( a2 }5
    - l4 l/ N2 m3 U0 O, x: v6
    1 S# k7 p/ i. J' s  L) x7" D7 x  E- Z" L- y3 ]
    8" U5 y9 a/ h3 E! U4 ]9 K  }( y
    9
    & j# u8 h9 @" x2 V4 D+ f* Y106 I- r; {# ?5 F
    11+ f" ?- ~! F. {/ O6 k1 F4 M
    12: r( G8 p  W2 g$ E( a9 c
    13
    ' Z  }$ C% P1 I# j* `145 [  U; K5 d! Y1 {3 k. ~7 a7 L' y
    }0 v7 z8 ]( I- Q' L* _" P
    ?>
    0 u& @+ f' B! O" A  P 大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了( h; O% C5 `# ^" g/ e
    exp
    ) N' |  t, q  h0 w* r- h; N& r  J- j4 X! t
    View Code
    ; t2 s& n7 `3 @& S3 j
    + _! P' b% V/ j' R- {% h+ c/ z: `
    $ j; R) f# I+ M) z% _) q: ]
    9 c- H- Y/ W6 o8 j4 |5 Rhttps://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more: `7 T1 D2 d1 ~% J
    7 b! r/ g9 z# r& [: Y/ i
    总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题7 q' y1 F7 L; S# `# a
    --------------------- - b0 U8 f4 P1 f0 b  G
    作者:Jeff King 1 u# J0 R( H0 E  Z; N/ ]
    来源:CSDN 2 S) N) l% g, U( x
      R3 W; T1 Q4 S2 S( v1 ~
    + G- @0 m, W9 M/ `7 K( t+ C

    6 x2 G( b0 f' u3 r- E  g. x$ |8 C
    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-7-29 15:21 , Processed in 0.498766 second(s), 51 queries .

    回顶部