QQ登录

只需要一步,快速开始

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

    ' O! g7 N$ f2 a! I2019--国赛--第一次参加线上赛的自己的整理& ~4 G/ n7 [+ q/ W5 j3 a: T: ]
    misc第一题:签到
    " r( `; F2 U! B. ~& [; ~
    8 g7 Z" o6 z8 x3 x' L1 a+ f打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了7 R2 A* X3 d0 l$ ]2 n: e

    3 d% B% B1 Y5 J; q7 ?9 ^但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的- M! `! \  x; h* g/ k
    $ R# t( i. P" q1 b7 j5 c# u
    misc第二题:saleae! _3 X# X7 N3 o/ m0 L/ A% k; u% D" ~

    : @6 o1 n' H* @下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件
    ) }: W& [. J; ]& D7 m' `9 Y7 Y7 z5 M/ `! W% |
    下载后,发现其中给的是波形* R+ a2 l/ T& Z
    8 m' A4 h. H3 q% q
    然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)
    5 x& E" S* Q3 i2 w+ i" ?
    3 a0 w7 m+ |0 t) K$ S3 m# i当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串6 I/ q" Z4 m  M$ d
    ' I6 F& a, j4 ]1 n! y
    misc第三题:24C
    : n3 l4 A/ T/ t# v, y/ R
    : S; y7 x& m3 M0 d3 j; J与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了9 }* G# |- l# R9 H% b8 s( w/ W
    - k, P0 @" |! X. _0 V
    crypto第一题:puzzle
    1 I" Z- _* d  V6 x& A$ i1 c6 h
    7 V2 |1 G9 M2 ]( Z: k9 z首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧
    3 f' w2 u5 ]$ U8 S7 u8 O6 w* ^# I3 b& F  n! M+ l1 Z$ s
    让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦
      h/ ?# N8 O) a7 N! l- p0 D8 S* A
    ; E7 p/ v' Y) [所有的一切都是从0开始的感觉,于是就开启了自学之旅
    2 h! e* [# r: I9 T/ c2 y# P( U& N/ g" f) a* V5 n
    提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)
    ' q1 L8 C! {( L2 J0 D! H& }5 ?6 U  E
                   2、question1就是分组找规律,与素数有关
    6 ^9 e; ~8 c5 ]& t7 K( _. g. ?2 _6 y* Q, b7 e- s, W' O. l
                   3、question2是做的最舒服的一道题,简简单单的高数上的计算8 M& `8 O# j3 j! T- ?
    7 n! `) K& r: Z7 {' t/ i2 k
                   4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了! w. _( J% _' v) x) h* \$ s

    5 y4 S0 h1 f2 j9 y               5、question5是三重积分,与二重积分类似,具体自己去算
    : G2 o9 l( c6 P3 ^10 L) ?/ O' E2 a: X
    2
    7 _  d) M% J  N& |' z+ Y# b- Y) `39 X" Z1 ]) F% R+ W3 a$ E
    4% u/ y2 l7 h; b; b$ v* A
    5
    7 h! }% N0 f/ A2 E6% j7 g0 T9 Q# \
    7# r: O9 T$ J  O
    总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
    ) J4 r5 I0 p6 A# I; l
    2 ?" r0 w% c/ w+ u6 C5 kmisc第3题:useasp# X6 P) `; ^7 E/ u  T$ F/ E
    6 W3 Z' ~- e. Y) x4 ]; [' g" d
    鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了# \& E. M/ I) q! Z1 V/ H" v5 P# }& p' [
    . S% `' m" P, |1 ]. P, ^! D
    首先,将文件拖入软件中,然后果然出现了波形8 ?% A4 N6 L& S2 R8 c6 ?0 l

    + f8 c9 R; K) z6 o3 I, A, S3 z: _昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”1 e+ d% {) p2 X) `; C  B, |

    # x$ o& M1 L3 ^; x  \# t很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}6 Q% j5 p% {4 W( {- |: O0 Y

    - Z1 f+ J' _8 p于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。( M0 ^' b) ~, m4 A% K( l7 m
    * @/ K4 g: L+ l1 J# _
    更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。
    7 A7 T  P: h7 L- {! c: F' s
    ( y  \( y) Y8 Q( h; @web第一题
    , K2 y$ |7 `. D0 f' I) a
    ' y) z$ f  D: D. }Just so so
    ' _7 U" e) n! a. z- W0 w/ ?' Q4 B/ n+ }4 w) b$ n
    开始时,用伪协议拿到源码,然后就是反序列化利用了
    2 B+ a3 W/ }3 }
    8 Y7 C9 [1 A5 D. N# W9 O( ~<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'
    0 b/ R! _- m, ?" m+ M3 W. X& @'; } 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(); } }
    1 @; M( O7 ^( _# T  T9 r8 a( Oclass Flag{+ c! [2 i1 R0 b2 ]* @) K
    public $file;, l8 y, [, j) C8 G2 w' O; ~, B
    public $token;
    0 x8 N! b5 ^. n% [. \, g- ]  O8 vpublic $token_flag;1 S9 j. s1 ^0 [& \0 [

    4 U' U+ ^* {; n$ J8 `5 a# Vfunction __construct($file){
    0 o3 H, }$ o/ a5 Y# B* P/ K. r# Q        $this->file = $file;2 X. m- f; N4 c1 D+ H5 f" k
            $this->token_flag = $this->token = md5(rand(1,10000));9 L' `- J  s5 |" S4 y4 {
    }
    # Q7 j+ d& M1 f* t% @8 ?
    ! A3 [' t5 X+ h$ U. ?: G( j1 J$ Upublic function getFlag(){" ^/ y$ T6 {% s7 E  s8 \4 M8 y
            $this->token_flag = md5(rand(1,10000));& J* G: K3 K, S2 e. z/ R1 |
        if($this->token === $this->token_flag)# C$ A: n# Q) q+ M
            {! q* t& _+ W* o9 S" X/ l
                    if(isset($this->file)){
    8 Y9 n5 k& n( D# T/ O0 w                        echo @highlight_file($this->file,true);
    + ]2 D% F, I. z6 H* d  Y0 h5 N' X        }  : P# ]. a2 O9 Z- r; L
        }! b; M$ j& n. x9 J
    }
    ' f( [$ R2 f- z: U9 v8 h1
    - T3 a: Y. Q+ y! D1 l( M22 @  n/ _- l% Y
    38 @9 D4 c5 g2 w9 h+ L5 f! S
    4- k: M- y: K0 T' a5 U% m' c
    5" \: ]; O  o: ]2 `% f8 l& ?+ n! }
    6
    # h5 k9 m4 F9 n0 U7
    % `2 J) f: @, \8" ]$ p& U, G/ W4 w9 X* s
    9
    . z8 a# N) B  R101 L* P5 e* K) O& k0 G; r
    11& Y# r, [8 d4 L% m
    12
    ! I  t5 y/ p. k8 k13' M3 p) [( E& d" j! y
    14
    # J) J* U! d2 f8 Q1 `) q}; O0 P  W' e/ p$ M) }4 b8 W
    ?>. A$ \6 d/ l3 B2 G* u
     大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了+ E; E! K# b' K
    exp2 W9 l( y0 Q0 O! w

    0 B: ?  q7 z' ?7 ZView Code  ]: Q3 p! ~" R

    : Z& V/ B% N3 l* q2 c0 V, w4 R$ i7 K$ \! v" A

    9 l& e/ ?1 I# m$ |& `https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more$ X% C8 s) U) k  G0 k- J: p- g

    4 g$ f! j, ?  {- u# a# s总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题& v' M8 p; c1 U3 N6 e
    ---------------------
    6 a. X* P7 K4 k6 ?3 f' j9 w/ k$ e6 ~作者:Jeff King
    4 y$ _- F# \1 a4 R2 F8 B8 L- E来源:CSDN 8 T; _, ?0 ^# i( ^, r) V

    1 l5 z6 K7 p. d0 ?3 d8 ]; s) |' |! b0 p& z. t/ c

    1 e9 ~; f) y* `' V
    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-11 03:51 , Processed in 0.450027 second(s), 50 queries .

    回顶部