QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2215|回复: 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
    $ C# W  {  |- B5 g8 y/ V
    2019--国赛--第一次参加线上赛的自己的整理
    " ?! C  F7 ?  Z+ z% ^misc第一题:签到
    ) m* y  }* F5 w; W  @! S- @& q  V- C& ]
    打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了( G, K$ A4 W) n6 i/ H
    * w/ O, i) w8 j0 Q! C; Z
    但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的  t) u5 L# s5 s. r2 p( b+ J& w

    ' |  B( L( f) b. Fmisc第二题:saleae! X: p1 T! \6 X0 {$ G: F
    9 s9 M: z/ r) G4 G) q
    下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件
    4 _! n: n- m! r' L4 |! A  q( _$ d" F( |1 g! {7 H9 }9 S6 U0 Q* z2 ?
    下载后,发现其中给的是波形& e8 R% y9 L5 X% ^, v# m
    ) P# O# w- V2 ]6 z9 b. L& p
    然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)
    4 I5 k9 [/ V# P& f5 p5 r" v! G1 e$ y5 O7 N
    当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串1 H: @" Z4 b* n: [
    0 m8 Z+ n- v/ U3 S" a
    misc第三题:24C
    8 M" X$ T3 j/ z$ p
    6 E3 |* }9 {0 w' R与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
    % q7 q3 o' T0 B2 x7 l  j4 X. K& z  c. E  L' D/ ?1 \
    crypto第一题:puzzle4 z$ v$ F; c& V; C7 R, H. x

    ) O% X8 t: X4 P- m, l& c7 ^首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧! A3 b/ S! G/ _, N

    7 ^! M7 Q7 Q: _! s让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦2 f+ G! u; A6 `9 Y7 s" [
    9 B' u* p5 X! `9 M* C6 ^6 N& M
    所有的一切都是从0开始的感觉,于是就开启了自学之旅  R! c7 A3 }. X4 X6 d

    3 ~% y" a$ v% U* ~提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)
    ) ~" |) z6 v; |! ~: P3 f- c; s3 C3 j# x# w. D
                   2、question1就是分组找规律,与素数有关) n9 u2 _7 U: }+ ~0 z: I

    9 S" k) h6 w; w# x; Z, e7 a               3、question2是做的最舒服的一道题,简简单单的高数上的计算
    $ B7 c" _" h5 h* Y' h
    - m/ b, Q+ I6 B. G% {2 f               4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了
    1 O) o, h0 K# n5 e/ ]2 V+ }0 t  G
    ! I+ ?! G: c% r+ i3 W% ~! R               5、question5是三重积分,与二重积分类似,具体自己去算
    , n  Z% m% O1 z0 b/ l$ s" b4 M5 M: g1" `, I1 ^3 [9 y5 u
    2
    1 j' t5 O, ^+ ~/ ^! K) i( t  a( V3! Y6 \( u& \# Z9 s7 N
    4
    / W( o4 X3 e" [2 i+ r56 c' Y4 N# M( S1 Y7 t3 }1 K
    6
    ; y& D* j' n  F5 F( i. ]' P3 b9 h79 s# f: r* v9 b7 O
    总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数# e  e! M6 }. Q7 D" ?6 w5 g7 e
    2 ^! _4 o2 v% F' ~1 _+ q
    misc第3题:useasp* W3 X9 ]" N4 Z& j+ o$ U" R4 {

    4 _  h% R0 t5 }! W2 N" Z鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了
    / @# F' H) ~* U4 w
      Y7 u1 d, h; g1 r* A首先,将文件拖入软件中,然后果然出现了波形) l5 D  |3 V; J( `' q) R

    ) g4 p* X# ~* [, G+ R昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”
    * ?- l+ T; I- ]$ P" C
    9 [( R& u8 w0 X' N很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}
    3 D( R* M3 q; P  F' S
    ' m0 e0 i1 _  b4 z) h0 j于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
    ' u  {4 B& d) n$ x( j# r
    ! r5 Y+ G) M+ H( T& ~. I更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。
    . i: _8 c# F6 o1 B3 |: ?; M6 i9 w7 H& v: x( Z
    web第一题4 c' X# s% u! p. a: r/ d1 s

    4 c# [  o) c0 F4 Q  rJust so so. J* M( x8 l& V5 P
    5 Z- }5 G! F) b) B
    开始时,用伪协议拿到源码,然后就是反序列化利用了
    & {8 [! M8 S+ T1 @5 U! u2 F# G) a/ i+ o8 y4 @: g  N
    <?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'
    . d* `& _" {! Y'; } 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(); } }
    & j; V, Z1 Y6 U7 l0 s, U8 uclass Flag{
    9 v; n2 K7 q* C$ spublic $file;
    . Q; D6 o" ~* ~3 M- o% ]public $token;
    , A" c; D8 ?& ^$ o9 z* [public $token_flag;6 o8 Z* I3 p) T' m( V
    0 y: S" n, H# s
    function __construct($file){
    . r/ i( l: I+ i& x% J, ?$ D        $this->file = $file;+ n; Y! W2 ], }
            $this->token_flag = $this->token = md5(rand(1,10000));
    $ J% o' E( l+ B* U" O}
    7 k+ n4 m. g* ^7 [" u/ X! x3 d( p" ~" x: |
    public function getFlag(){) |: o% k: }2 h4 L  ~, X
            $this->token_flag = md5(rand(1,10000));' i9 U7 b* |* E( t8 Z
        if($this->token === $this->token_flag)1 n9 d  {0 y* G' x# W0 p0 o: n
            {
    0 {! A$ ~, |+ \/ {% l# r                if(isset($this->file)){
    % e( d! t1 A& ?                        echo @highlight_file($this->file,true);
    4 Q7 I! o) B$ C" C) W+ t: Z( j        }  
    # }5 S- G- A. ^6 M3 u: t' y/ v    }
    ! s! C4 z2 M7 ?4 A! J$ E9 W3 {}
    4 W  L* o. _2 O$ v1 h1
    2 |+ O/ W! J* c; z2
    ; W6 E2 W2 ~, D- ]* }5 U% H0 F3
    8 {( M# T* E) J  @* g$ T$ z4
    % _( o0 W# M# }1 ~! o5
    ! X7 h$ D# Q0 q% U  \6
    $ l) l1 o( b& n* M7
    0 J; ]+ R5 Q, b5 ^4 e) o8 D8) W1 Z3 T' y$ L% W+ A
    99 f6 E2 ^  M& d; [1 O- g
    105 J4 f2 l% O8 w  i
    11$ p+ {$ r. c# D0 ?# F
    12( ~$ m- t; _4 ^# g+ G; z3 r; j
    13: R8 D4 D% l* l* f( e9 c" W( s
    14
    0 m+ e3 E' `$ @" V}
    9 }& \' u& a8 f% O. b?>
    8 q5 o2 X9 I2 u1 B! p' e6 v3 \! d4 | 大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了- D9 f* ]* \" i9 t5 Y: Y+ T8 D$ _
    exp8 {3 G$ T' C% k- ?0 q) y

    2 H6 |& \0 a2 Y  A! O; Q! H* I& SView Code3 ?+ p) H- ~6 C# D
    7 t- P( Z! Y. q  n- }/ n' x

    * z' S5 J7 T  i" t7 ]5 N7 H0 o8 C7 C# |0 p/ H, f& F  _, z
    https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more
    2 d' J3 |' x" S$ A# L2 `
    9 I# P% m/ m: `9 E9 D总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题2 m) q" R7 }. t' N# s. s
    ---------------------
    * b( B8 }. B6 O' v& K, N( s作者:Jeff King
    / B9 }( ^0 J$ L来源:CSDN & k* k- c2 `# Z6 i
    $ y# B5 A2 b* {
    : s2 m- F7 a2 {8 Z$ }

    ) ~9 t9 M1 ?" ~
    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-12 02:06 , Processed in 0.368662 second(s), 51 queries .

    回顶部