QQ登录

只需要一步,快速开始

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

    7 Z7 K# W' c& c( _3 T2019--国赛--第一次参加线上赛的自己的整理
    : M9 h$ G* x, _2 p. F7 `misc第一题:签到
    $ [( S1 u" j* |" \* s$ l5 d
    + s( w+ a% \, ^) j' ~9 A打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了* H- ^5 }0 g5 P3 \" o3 |' i

    ; p2 Y& Q, m/ D: j但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
    ) x! r, ?" K: J8 ^# X; ]& T4 v( Y& ?
    1 D6 y3 \# M8 S: l! u/ dmisc第二题:saleae
    . U1 P6 |- b" T4 v3 F8 _
    7 b1 G3 U" ~1 K% t+ g; e# T下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件
    + R$ M. I# q( \+ {0 o
    : U7 L6 q7 j1 ]- I1 ^下载后,发现其中给的是波形: w0 N2 D: p% f5 F7 q# e' |" Z

    ) N; t$ k7 W; f- m- d( l然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)8 Z2 p9 M' c9 b

    2 x* [4 m/ }# k  [4 e) B' K8 R当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串) s) }, z2 x- E0 D

    , i; w8 o. c/ I' h8 l( I5 v  Omisc第三题:24C
    2 p. _( @; E( Y: i! S5 H
    7 @8 k. Y8 w, B与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
    ' N- Y5 |. u' V* X* w
    ( g4 |2 a. e$ j# b1 M4 s+ |crypto第一题:puzzle
    - M* \) O9 _. ^5 V3 U" ^/ `8 S+ q0 x/ ~0 O) h9 \
    首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧! O1 S' a  o8 |6 Y( V* ^9 `
      |; W* M3 `5 q0 w& H  N
    让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦
    1 j( T8 j, s& l/ o) C3 U# p! i; q. X
    所有的一切都是从0开始的感觉,于是就开启了自学之旅$ x: s" P/ x2 V+ V* r( @
    1 G5 C2 ~1 a3 H0 h1 ~
    提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)
    4 f. A! V0 c5 v9 ?% K$ A1 @4 i7 i, n: B/ C/ X- p: y6 U
                   2、question1就是分组找规律,与素数有关: U0 `. ~0 e! |" Z

    1 t3 e: F" p( ^0 U/ O$ P* r               3、question2是做的最舒服的一道题,简简单单的高数上的计算6 K" b% w2 Y* F2 M! |# X% N: L1 \

    ; G: k2 f' L* A$ I1 F, c               4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了8 f4 v, a  S* I, c' Z) ?" X) b
    + H, _- ]& j9 U) |$ @' s9 K
                   5、question5是三重积分,与二重积分类似,具体自己去算% f6 u" \  G1 D
    12 ?8 i, O9 i9 n/ k' u( B" K
    2
    8 g3 ~9 ?, v' b! j% Y' D3 T3" c, ^# g. S! G+ ~: X
    4& N" o  ^) [  L- f' U4 @8 ?: G5 I
    5
    " U4 D: z" h/ f) f6
    ( N& ^+ x+ V! f1 ~. s% t% U7
    7 S  m- d- f7 G; v8 C$ N! m# i总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数# A& P# G$ m) ^/ p

    7 B% i( b& m$ M! Jmisc第3题:useasp
    9 I7 h. t/ ~- n6 ?; `) g7 p6 p1 n" J& |4 f
    鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了
    1 n6 p- z! h4 d) b9 ?2 X2 W$ }! M. u, f* S2 v  X7 @1 n4 Q2 @; h7 y
    首先,将文件拖入软件中,然后果然出现了波形( c1 o$ g+ @+ T* b- K1 V" s

    4 X: A0 d- g: s$ _$ f昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”' m. T: p8 J, F: l9 R- `
    ) a2 b1 X, }7 r
    很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}; G6 V  c: ?: }. Q; @( S3 z) @  }

    ) j5 ~/ i4 e  B5 p5 l0 [于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
    / O; {% l+ v/ L4 L- v0 M
    # c. o6 |4 q6 j更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。) H; |) j: r# R& f$ G8 V% k
    8 {/ v3 Q9 A6 l& G& a8 c
    web第一题
    6 j9 W- K; V. A- g8 U
    $ y$ C  h9 W/ F0 |0 ^/ Z. E! T5 mJust so so
    " W8 @5 B5 I9 ^
    3 [$ ]. R7 o- _开始时,用伪协议拿到源码,然后就是反序列化利用了
    : ]: V- T( r6 |. h* P
    , _( `- U" a6 t5 ^: C1 [& p3 n<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'7 K+ S1 J! b5 F9 ^- s  A- f! q
    '; } 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(); } }
    2 f- R- y) ?. n' ], jclass Flag{" D) X( B+ }  Q! A7 ]+ ?& L
    public $file;, ?1 B& Y! [) t
    public $token;; Z* ~: ^0 T7 \9 w
    public $token_flag;2 l0 k) G% |. O8 h& r3 U' P
    + _$ Q4 B7 W6 ~4 l. b" m5 n( x9 E
    function __construct($file){
    - C" x+ Z; {4 g6 `9 D0 N        $this->file = $file;
    % n  R0 l% M! N. }! X+ L' V        $this->token_flag = $this->token = md5(rand(1,10000));
    9 \. d- D7 h. n/ v) W8 U, @}
    % I: y9 J2 E  P
    + Z4 j( ^5 o! b! d( a" m3 ipublic function getFlag(){
    2 C8 s# C5 c$ {4 T        $this->token_flag = md5(rand(1,10000));
    ! L5 }$ {  u* r, l- X& ?* O  }    if($this->token === $this->token_flag)
    . ^: Z$ D, X5 k8 O* f  b        {2 i' g9 ~; @/ t
                    if(isset($this->file)){
    / Y8 b4 T! n5 S/ z* }                        echo @highlight_file($this->file,true);
    : A% h6 S$ Z; p% F        }  : @: z. C# a/ w$ [" `  F  |
        }9 \2 c  a& [; _1 z- A
    }
      e; C+ e9 P+ C, n# N8 o1 H* q18 t& w3 B9 J. `0 A, `' [
    2
      E/ i# x& C+ {% y4 Q2 l) v7 K$ m( x36 E/ n# Y& x7 a: _5 W" `$ {6 T7 N
    4
    4 e8 H, T- H& o1 U5( J% b7 c$ R# M) F+ i
    64 Y- E+ B& Z+ L& o8 O
    7
    + t# m5 u) S: @% g9 ~. F8
    ; u9 Q5 E. E$ O9: ?3 H2 P9 H" r7 I2 ]6 |. N$ |
    10. Z) J6 J& h( [7 o( \. @7 {/ K
    11; i3 a# Y* j0 r& I
    12
    & r+ _6 M' |; h+ z* a13. J3 s% j, s$ y* L  c% S9 S
    14
    ; I' p) }% Z9 \4 y+ e}
    4 @* }. }# P  v  P$ f( D# D?>% v! f- `5 A7 l' ]$ u9 {' M: t
     大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了
    1 U& |  Y9 s* y1 nexp- U9 W2 V" @  ]# K: O8 T

    1 Q* ?  }. s( Y( l9 ^; [View Code; p( L; H3 y3 {+ x

    ! `, [3 y% x3 I, y; m0 _. i
    ) X- \% I7 K' Z+ r; J; S
    ; ~9 J$ l2 {* q) hhttps://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more6 S2 U* T8 G* t$ Z3 }9 r+ |6 O
    / e8 l- g" \' S& H/ l. r
    总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题* p( o2 G3 c( Y; h$ ?
    --------------------- 3 l' _9 o2 {0 T. K, H
    作者:Jeff King
    ) i. h: E9 B. y- S9 w( y( d+ B& u来源:CSDN
      ]: R3 X9 p( h
    5 e5 v( f. D) _1 v: v- w% f
    - f! E. J3 P! t6 g- L$ T
    / a$ ^: N: H$ ]1 Z0 b+ ^
    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-8-1 10:26 , Processed in 1.080688 second(s), 51 queries .

    回顶部