QQ登录

只需要一步,快速开始

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

    3 `4 M- T9 ?9 i; g2019--国赛--第一次参加线上赛的自己的整理# q0 {" F+ O. R. j) r. ~  |# d, Q
    misc第一题:签到+ H2 z- U. K) L! v
    9 r# A7 i, u+ i( B
    打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了9 @/ T; {6 I! u3 q. Z' j

    / D* C3 O9 v2 }/ M3 ^但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的# O9 Z2 j( v* p2 D3 q: h1 A) Z

    9 ?# A# F) L" f# }9 m( p' Bmisc第二题:saleae4 V6 P% @8 j8 V! f( m! n

    0 }/ `( k  m0 t下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件% g1 T0 L# M7 s- d+ l  P- c; U2 M% }! y
    9 |* z4 j; P4 s% [
    下载后,发现其中给的是波形
    ( T0 T7 e8 z0 }! B( e; z! ~" F. s9 u' w4 _
    然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)  j% i! ^7 c# X+ ]$ R& C

    ! T' }! ]. o$ W: S) W当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串6 a6 F! V; `  y4 j" u  X- \$ }/ E1 |

      w" U$ Z7 s% j0 Q0 mmisc第三题:24C9 H/ @' Q) B# j+ t

    6 k, A& P* |# b" b9 f; @1 ?与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了. [* k/ Q; V; {, s- R& M" P

    8 t2 \$ Q% U7 ecrypto第一题:puzzle8 q1 B% i6 q- n4 V$ S4 p% D5 b7 ?
    5 s$ g  N0 c9 T' t- a9 ?4 M
    首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧7 @' i/ w0 C% {9 @! T( O; U# H, n: O6 l
    * s9 T# Y, V; g. m% M5 A2 m
    让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦+ T( M/ {  j% o" X( r6 |

    : m- t; r) t9 m所有的一切都是从0开始的感觉,于是就开启了自学之旅
    5 e4 l2 U6 a7 T
    + e7 i" ~( p" t- S提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)
    ' H! Z' O! u/ W9 S4 l$ ]
    $ R$ v7 _; t# D1 e3 s- J               2、question1就是分组找规律,与素数有关
    ! s+ @( Y( a3 E. |
    ( U+ z4 ]& C1 t               3、question2是做的最舒服的一道题,简简单单的高数上的计算; ]1 U' }  q% v0 G; Z* h9 V

    * l$ t7 J/ s0 M3 \               4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了: K8 u8 S' M8 Q2 S6 |+ E- Y
    . w2 [  h6 B5 h3 U* X5 r8 @
                   5、question5是三重积分,与二重积分类似,具体自己去算* q  I; A3 C1 I, ~& `  N+ n
    1
    - t+ k7 A( _2 r/ E2
    & [& i; k7 ?' M: a( N) d4 Y* u5 @7 ?; |3
    ; u) A1 \1 D" T) Z, h41 P& q! V) g9 H' `# d# f0 c
    55 p1 B  y1 y/ P! I8 o  w
    69 h- ^7 [6 B- S2 k1 P# M
    7
    $ T" d2 B9 \7 W! F0 K" f总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
    - r8 W" h! F. R' S+ k
    $ a4 s% M. H0 V$ `. }' Hmisc第3题:useasp; _7 U+ {2 @  @5 N! A5 N
      @$ J8 u  O  ^  W1 q  _
    鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了4 D0 ], T' R' j5 q
    - \7 H% q+ f7 n! D. H) K
    首先,将文件拖入软件中,然后果然出现了波形
    5 C" x  l2 [3 ~% N8 z) {7 B; A2 L" L
    6 S8 t! d8 A5 j' Y昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”3 |) E( L* n! e9 Z
    $ K. F) n& @6 g/ T- v! y4 b0 M' B; R
    很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}0 q; K# i9 n) I/ l) J) }  I

    5 j9 W0 E5 d9 _& R( A& w1 p7 \于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
    ! i: I' [9 T$ q) ]( q' I3 v' o: W
    1 K* r9 E+ N9 E& G7 e$ l/ l( ~更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。  G8 C$ G2 L& ^$ H" X7 ^

    , `) V: L8 t& V6 N, P2 Uweb第一题$ Z. s1 w/ j3 T7 X  y6 a
    ; I- l/ h7 p' D1 O) e
    Just so so
    8 `6 j! S' m+ t8 ^0 n  s- I* q2 v8 J3 t( S
    开始时,用伪协议拿到源码,然后就是反序列化利用了' i/ K4 u* ?$ @* s9 Q* a
    6 V7 T" g4 ?7 R. J
    <?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'
    0 w" q7 H8 j3 C  Y5 u7 w1 i'; } 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(); } }, ?' R9 `' a. |3 f0 J. g
    class Flag{7 d4 M" a3 B9 O; S  [# J
    public $file;
    ) E- z) s- u9 `# z+ x) G- g, }public $token;
    8 d( w  j9 x$ I( Y/ m. dpublic $token_flag;
    5 v# I  b3 ]* S9 Q# d; i  }) Z  C
    1 V8 E) F! A; M) Jfunction __construct($file){
    * C1 o* O) l6 r        $this->file = $file;
    ( X% _+ L7 [/ c  A, E        $this->token_flag = $this->token = md5(rand(1,10000));! }, P  s) k0 Y) {  q3 v
    }2 s- P: |3 O" f* s

    7 |$ Y7 n: z( Hpublic function getFlag(){
    6 H' i6 z, d; k/ d        $this->token_flag = md5(rand(1,10000));5 g# m9 Y/ f1 V4 a
        if($this->token === $this->token_flag). r$ i, N! b- q7 ^5 g! k" J
            {
    ( p) g+ ~; e0 _  f. u* i5 M                if(isset($this->file)){8 p& p4 y. c: x! ^: `9 Z
                            echo @highlight_file($this->file,true);
    # e' c, J1 x' j2 u        }  
    - @! H9 x6 |+ b" Y2 ?0 T    }+ }; d) I: O2 c; d4 G; B/ A
    }
    3 u, w2 j$ ~7 F) w" s1
      n$ D: R% l8 W: ~8 r7 I2' y5 G# l- h3 I) Q3 ~" I
    3
    ! r4 U4 [" Q( `3 W+ }4. F2 L& G% t9 p2 }
    5
    / U( Q; ?  S8 J' Q' B' A7 [3 y- L6
    ; T$ I) {$ s' o5 R& F  E' t6 k7
    4 ~' |/ N1 h4 _; Y1 {: y1 s- @80 l. A2 L3 X9 _/ i# M) u. f# p0 i
    95 D" C, ~+ E: A4 U2 K# I; a
    10
      E: Z" ?7 j7 i9 Y  `% x( m$ I11  z! Z. |6 W( B  z8 B
    126 B% B1 H$ O& e8 J0 K. B$ M
    13( ^' T8 C" w" U. S
    14
    : T! ]) b4 X3 i) U}) O1 C, K2 |( R! Q3 D, u. j5 {# E- _3 r
    ?>
    # G( ]* w' b' e0 A1 ]% d 大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了6 J, m; j9 m" O$ D6 r; m+ Y
    exp1 V+ @3 d+ _& G$ N7 ?6 f
    6 u; n. `; f+ @! K  D. ]) L
    View Code. }6 h9 f) P3 f# K' P

    4 h# }9 q. K- Q4 h: q
    6 v/ v$ z, U- G- r* M& T! |) {5 N# `* }- T
    https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more
    + M1 X1 m, F& H( G! ^" ]2 J. h' G1 ]8 J, t
    总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题
    . {# S% u7 I8 {) ]---------------------
    % V8 `; |% ]* Y6 A3 H作者:Jeff King 0 c  G& ?& Q% s2 S
    来源:CSDN
    ' S% U9 p4 h! {" a% V; c( [( H* I/ L  G7 i$ y* @

    $ Z$ W0 d9 m" d- u' g/ D5 ]5 R3 K) ^/ k! e
    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-6-13 06:42 , Processed in 0.389610 second(s), 50 queries .

    回顶部