QQ登录

只需要一步,快速开始

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

    & u5 R+ ^& @; B2019--国赛--第一次参加线上赛的自己的整理5 n( p/ D# ^! }- t& x+ l/ u: n1 I( S: h
    misc第一题:签到
    3 h4 p5 t( m0 |+ a! s# @! @$ Q% _9 J  C
    打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了( [! L1 ^& _+ K# O; i: q1 W* a7 t
    2 G" F3 T( S9 a$ N, Y$ c
    但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
    " f; X% N, c9 k! P0 D. f2 m# E4 Q" O6 Z# S' @9 [
    misc第二题:saleae7 M. u  X# ]. ^
    . {% M. O% @5 ]$ Y5 y$ ^5 y
    下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件
    8 s# Y) H7 n" z+ d, V2 K, u, [( e. m- a
    下载后,发现其中给的是波形/ `! Y- J5 E) }

    7 Q3 Q1 O) F+ u  n% ?( H, K: {5 j/ I* y然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)
    1 B$ M2 W: {& w' ?
    ; t4 P' `. p: D3 l当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串% Y3 \& u0 B2 b3 `, \

    * b" a# B) L, k: w" L$ Q7 Emisc第三题:24C' k% h! t: v4 k* s6 q
    . j' ?8 M. Q' t6 d
    与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
    8 Q9 o4 s0 Q9 }* Y/ j
    " ?% e5 B& Z& m: I+ L6 C# d  Acrypto第一题:puzzle
    / i! a, W# t& T+ g2 I) J9 O
    + Z$ ~6 v+ I4 s) S/ h# v首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧
    + v0 n# c+ B" g7 A4 N& h, M
    6 `$ D+ K% A1 \' z5 L让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦9 o4 y+ r7 q0 D& K$ }" ]; q7 q8 F

    6 o4 G- J+ ~1 @  @; J! r- |7 s所有的一切都是从0开始的感觉,于是就开启了自学之旅
    - p& s5 q: F/ S8 K, A$ O: F& h/ R
    提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)
    ( r6 ^  b) K* S: m  \/ j% a8 Y
    ; p2 t+ V0 D" m: t               2、question1就是分组找规律,与素数有关
    , x, m% F8 o2 t+ ]4 V
    5 w4 r: W+ x  g& M' `7 x3 I               3、question2是做的最舒服的一道题,简简单单的高数上的计算# m  ?( f5 |& y( N* m
      U' z$ q4 M* ~/ ]8 N% Z
                   4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了3 S% ^' m1 Q/ q' {% d/ ~" }; F0 |

    # b! r/ O, I7 d" i3 c) X               5、question5是三重积分,与二重积分类似,具体自己去算1 C  w' l' \! h$ X; t# P7 ?
    1+ t+ s: p0 t# h  a
    2
    . M5 `& y# z  b. _3
    # E. q. |) A1 V, X; L$ a5 m4 S4: ^+ _' G8 R* y, U& Y6 U6 [, X
    5
    7 n9 ~; Y' x+ y1 V$ t. q( Y2 W6
    ' R. {1 X, g' t! W  ?1 J. M7/ y2 v  E8 s9 g" ~" H$ G5 u9 V" C0 D
    总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
    3 L; E  ?) q# n2 b1 Y
    # L& b" y; T1 W! v* Y" S7 vmisc第3题:useasp3 N3 K7 m) B" t5 q6 j
    0 J0 c5 s; s6 i& P' g( q- V
    鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了
    . n- g# Z) N: p
    + F/ m6 j' ]; I" y6 \$ e首先,将文件拖入软件中,然后果然出现了波形
    9 P! r# }1 _8 k+ \
    2 o$ k( E* f' v& `; C( O" O昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”1 E$ M. `# X3 d$ Y

    : R( L4 W; Q' T, S5 q! ^9 D$ g0 _很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}; e2 ~9 i( L! O# l7 i$ l

    , }1 M9 z* X! g6 _! P3 x+ s* V于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。- f0 S9 b* @) v5 d" m  U  V
    6 v2 {9 \, w7 i
    更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。, _# G7 g3 i- x0 g0 M
    4 t0 r2 v8 F" z9 C% O2 N, _+ f
    web第一题
    1 V7 d2 T- E/ V5 W+ |! I  D$ V; s
    1 b/ g* ^8 o1 G- B% G) rJust so so
    6 R! Y) \& j3 ^4 C3 n: g4 L4 \+ p, a5 |' `- e( d1 e+ n: J
    开始时,用伪协议拿到源码,然后就是反序列化利用了9 S+ P6 f* o, @- |

    & p* b& ]2 P0 T3 z2 v/ j/ I" S<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'5 X- a/ I- N) J4 S
    '; } 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 w6 P' H/ _" v$ Oclass Flag{
    ( P5 V* |3 [3 Bpublic $file;
    0 \9 K1 j( I7 Fpublic $token;
    . N) b. H& G/ H6 F3 apublic $token_flag;) y: f3 e: a7 Q. X( W
      w0 g2 i) l( Y* ?( q
    function __construct($file){
    * T1 g0 S7 z6 r4 @/ y        $this->file = $file;
    ( ?. m0 `- C& N1 ?        $this->token_flag = $this->token = md5(rand(1,10000));5 L% a# S) n- F- |! {: {
    }
    3 z8 ~- K: [0 Q! d" `" ]
    " s1 r; Q: w, G* f( j! n9 ^( Jpublic function getFlag(){
    2 M; K9 [9 v8 E4 @1 E/ M! l        $this->token_flag = md5(rand(1,10000));' E! S" d/ @6 ]# L/ J
        if($this->token === $this->token_flag)
    2 M. w3 }1 h: R1 {        {5 ~) {' I% O- ^/ n% }
                    if(isset($this->file)){
    " J8 [% R' x) ~                        echo @highlight_file($this->file,true);   n/ j8 U( C( e/ W
            }  
    ) h' n" x9 H' f! T  p7 c, m    }2 @& _7 u; x3 C1 @2 w
    }9 b, k4 [3 Z7 b5 w7 \
    1
    % m3 A, }) Y0 j" C9 e2 g. K, C2
    / U& J5 M  E- J& h; _; q2 U36 E9 g! F5 h) q2 z3 O
    4: }" Z' G) b& S* m
    56 e7 a' W) c8 _  X+ ?3 T+ w# v
    6. w9 C  D7 _' f
    7
    4 n( ^8 Z# K5 C) G+ Z8/ B% T5 j8 h0 b6 F8 s
    9
    8 |6 P$ l, T7 d) l4 L10
    # L4 c) s' |$ l/ C11
      A& n$ d4 y  P12
    : Y: x6 Q, E* l& P" x! O13
    : c1 U' z$ Z2 @2 R- _" J6 P14
    # J; c6 I# J3 M7 }}
      V5 ^  p9 E+ W% ~?>; @% T+ o: w" c
     大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了$ z3 d/ J% d3 z4 ]$ ^- A; J
    exp
    * m4 y; M/ |, P% b9 P
    , O" w- H, `$ M2 T% d! b9 uView Code
    3 w* R4 B  T' V1 h0 ?( z$ E
    8 V9 o& j  G! Z$ Y6 A3 q  o; @: I( |: \& V! w% }0 D! W4 ?3 ^) K
    + P. Y- O. Q& k' @7 s& K
    https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more! r" t$ u  a' _  o& T! X
    : V+ i  u1 l0 z& a3 m# E0 w
    总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题
    # d1 D" e5 A) t---------------------
    * O& P" |# z# R8 I1 [作者:Jeff King
    ! a7 m% ]7 v. U; a来源:CSDN   Y' W# r2 b. ^$ M6 D
      T$ }" ]; s5 d2 F: J

    9 {/ J  ^5 `; ~4 u# }
    7 |- l# T+ [3 H. R5 i9 N
    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-14 16:40 , Processed in 0.412735 second(s), 51 queries .

    回顶部