QQ登录

只需要一步,快速开始

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

    0 O1 g+ G+ [! }# ^6 N2019--国赛--第一次参加线上赛的自己的整理3 E) ~# g. T6 D4 d) T& o5 b. a
    misc第一题:签到4 G; j" D6 a( Y; X" P% {* q
    9 P, T) Z! t5 C, U
    打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了
    1 u& h* p4 B; L& Z, B# s& |" w$ E$ S2 V8 H# Q
    但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
    . m9 }0 ^$ A4 \% O0 @5 J' p2 h
    ' _: Y7 o4 H( Z% r2 J+ B0 Fmisc第二题:saleae
    ; D) ^% O& x% L; F/ y8 c7 \( ~
    0 x5 a9 X1 U, \; c* S/ J: K& o下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件
    0 ]% V! c" d( h# D
    & E+ i  i, X) E' o- i5 E) l下载后,发现其中给的是波形1 G: b! M' R6 r2 }; d
    ; m. {6 H" E$ L5 K) J9 a
    然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)
    7 r5 O1 b! z3 m
    - b9 @$ a5 i6 S2 ?# m当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串5 E/ u  y! x% |8 Z/ P4 i% N
    & @/ r; d& H/ d8 T% Z
    misc第三题:24C3 c# I  H" Y' c  `
    * g$ }" l" }7 W4 `
    与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了# S5 m0 v5 E# B2 j0 K9 S

    6 P7 y2 o- j& E) N$ g+ rcrypto第一题:puzzle5 \; k9 S/ j& s% q; q! C$ B6 r8 d
    8 ^6 r& k5 X0 v# U
    首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧9 u( B5 H# _5 y2 C

    2 D# o. K# Z- V: b3 q: P, Y让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦
      |# N( G! `. _5 o3 S' \, ^* U" C) d& g* j7 q6 H
    所有的一切都是从0开始的感觉,于是就开启了自学之旅
    : {* d1 T9 ]; I' S  y, N' F0 \+ a# ^$ i+ y1 A- L5 J; P. g
    提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)' t5 e2 B, _0 e( A

    5 i) k) J& f9 U/ _( w               2、question1就是分组找规律,与素数有关
    ' p4 x" N7 }9 t, w" [" O+ U
    - C, l8 E1 `  i6 W3 @: x' p               3、question2是做的最舒服的一道题,简简单单的高数上的计算
    8 P) }  _0 L) Q
    ' X( X. }8 @; k4 m4 i, S% g; [               4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了
    2 Y$ t% q' H6 c/ e) ^& K& N4 O5 q$ i1 f2 T* @, J
                   5、question5是三重积分,与二重积分类似,具体自己去算
    9 G; o; K; [' M* n' o0 Q: W0 y1' r! `2 ~6 Z* b  q" Y; L& l
    2
    9 c$ R% b7 A5 G7 g: Q1 Y3
    ; Q4 ?* x5 ~2 a5 U0 J  @# ^4% h7 @9 Z& f- w# W* y
    5& m5 W# E7 i+ v& T7 l
    6
    4 l2 `3 N' S' h: w5 s7
    ( h9 P$ t/ v- J- h4 z  a总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数7 `6 q: [' Y7 V7 \2 t  q1 u

    6 E' I( O% O' h6 w  g# e, s: {misc第3题:useasp0 i( `! A( @  `3 m
    4 Q6 f/ s) f  E( [$ Q
    鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了5 {: c3 P  |" r2 f& ?: W

    ! ~- S8 X0 i, b; D首先,将文件拖入软件中,然后果然出现了波形! C1 b# q( S; e+ Q4 h; Q6 f4 |

    * c- t- U, Z; i* t& Z+ g% N昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”4 P% B' b' c$ G- x

    * c! Y) C7 e- ?8 g! B# @很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}
    ; |. r9 T; D2 Y' E8 U7 Q! e5 O/ V4 R7 P. `+ M( m
    于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。* J* d% `2 x# _/ d
    5 a' s* _7 A0 T; E9 Q
    更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。1 G# L7 Y8 a5 Q2 T9 {

    # G0 q( O* S* \8 }% yweb第一题/ ?+ b( O& e7 X0 I3 Q. Y
    ( N  \* k& M% M; C/ ^" L* P
    Just so so5 T) `: c5 Q& b
    : s" X+ R7 `, ]7 S) y
    开始时,用伪协议拿到源码,然后就是反序列化利用了" D2 @. n) ]& J" X2 [1 }

      J( ~0 I' t3 k# F<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.', b' ^' O$ N, ~
    '; } 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(); } }
    ) Z6 f7 F/ {, e8 Y6 C; D+ K! Dclass Flag{6 j9 w0 c1 }- V8 x/ V4 f& @, d+ ^
    public $file;
    * r; X* a/ e0 ~, d1 T+ ^/ Opublic $token;' q* M2 ?% v" q9 L! x. ]
    public $token_flag;
    1 Y' @: v- K: P% y8 @: F; u' E( T# g% m/ a( q; F  c
    function __construct($file){
    ( j# `9 v/ s- I) V+ G: u% h        $this->file = $file;# H- R: m  w7 n8 D( k) w
            $this->token_flag = $this->token = md5(rand(1,10000));$ _0 d. ]3 u! r1 ?; Z% D. C
    }+ X2 _. `9 B1 h$ q# i- u/ V

    " O  y  T! P$ }0 S' R5 o3 j' m' W; Mpublic function getFlag(){$ S5 w9 g& }; ?& `
            $this->token_flag = md5(rand(1,10000));( I4 T$ |  g- a! v6 U+ _( ~
        if($this->token === $this->token_flag)' f( H0 L& j  T" C1 m8 [4 h+ F
            {' O6 E0 @# U: o' @
                    if(isset($this->file)){
    4 X- i- f4 j8 b0 S) X1 H" ]                        echo @highlight_file($this->file,true); 9 `' P+ ?, ~& ]. t5 }7 M
            }  
    + b" b8 H* m" Z; H    }
    % n5 S+ ~) I0 S4 ]}$ w$ {8 U2 n6 L7 M
    13 }. Z8 Y& o( ~  L% t  u+ j7 j7 p
    22 w& K+ d3 Y- ~# W2 t% f3 t) _
    3
    7 G; o. ?' L; J. j4
    * G, \0 I2 w+ G8 {0 I# f8 X* l5 I5% M: |1 L# A. v8 P: f7 I
    6
    2 i& U) E* @+ g* n1 k* b) A8 X1 ^$ t7: Q" P: B9 i3 k+ v  k# \; o- ?
    8
    3 R. Y6 z" G1 L% l9+ ~: r8 U- o  a& t3 [9 ^
    10
    0 o' _+ b$ r* L4 o+ s+ l& X11  l( x& L) w& y
    12
    9 a5 E, U1 \' |  `6 T13, d" p; H* W3 k' I; L! U7 ]* Z& N
    14
    + W: J- x- M. z6 d1 P6 H}
    3 V, u* V5 B0 G; D- C?>, ]8 o) \9 k' Y% V& U% b. C3 b/ d
     大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了
    ! x# _+ ?8 A4 I2 {exp
    0 F0 c6 k6 C, H6 a
    $ Q) R7 v) W, O" |/ w8 p) C9 VView Code
    3 \- h& y; E5 }- B6 m
    " D6 s' [6 l* q: G% V2 p# i, K0 G% L: d6 t
    : \; Z; e& |' @0 c
    https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more. S/ k1 s4 w: D8 K$ X7 c

    8 C. O; z* Y2 S  ^+ h! U总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题. k) Y8 k0 k7 D# @, G9 F1 G9 j
    ---------------------
    % N' w3 ]* ~: @0 Y; i1 W作者:Jeff King
    3 h( \/ Y' V0 y9 n来源:CSDN
    9 j- l. S* X! @- f8 p& w
      o: p. w' G! w3 S1 |3 A
    ; j, c9 V  y0 r, {+ o4 D* f
    0 L8 n4 X& [( `9 B9 H1 ^
    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-15 01:40 , Processed in 0.413615 second(s), 50 queries .

    回顶部