QQ登录

只需要一步,快速开始

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

    - Q& L/ P9 p  L4 G% r2019--国赛--第一次参加线上赛的自己的整理' X3 b, p1 {6 y- w$ T/ C5 H
    misc第一题:签到: s/ I3 F6 k! I( d8 G8 i

    ' P! ~) a- U" a- @打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了2 O  ~  ]' r5 a# W( z

      s* S( E" F8 q" o但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
    3 }" a/ t0 H3 O4 w. F8 b  p6 W0 W  ^/ K
    misc第二题:saleae9 @, n/ o% R2 |4 j0 ~

    5 R# [9 u6 }$ b( g下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件
    7 w2 k/ h# ^4 @2 K# H8 D; H9 k  c6 |/ I( j
    下载后,发现其中给的是波形
    3 \# p" U" g3 N  C) e# Z/ f% A0 P  M! e3 _
    然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的): E1 K- P8 l, Z3 X+ e3 l- I4 X
    9 y1 G4 r/ O( i& i  m
    当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串
    / [7 a$ q- A& g2 j  v
    3 Z$ B( K4 C) o! E# r+ C1 Nmisc第三题:24C
    7 o# V8 b, S- Z% E% Z- i1 K6 {7 z; f9 r+ F
    与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
    6 I  T& M. _- C  V
    3 V/ ?' W6 i" a; Y9 Kcrypto第一题:puzzle
    $ ~, W9 h0 a) N6 I& R  B! J
    " F. Y. _9 L+ j, Y6 E首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧" y* v+ Y$ L. T" y  m

    * o/ z( [3 N3 {* S( M让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦$ d& V+ r3 k' H: ]) K

    3 c+ J3 ^0 f# T- y' ^- n5 e所有的一切都是从0开始的感觉,于是就开启了自学之旅9 O* c0 Q) u. f$ v0 W
    ! a* E& }+ m! T
    提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)! @' ^3 |; l4 J' d$ T( S3 K; p6 n

    : a& t/ n+ _% [* v8 ?               2、question1就是分组找规律,与素数有关# E( E" y+ o3 C; m) r2 b3 a

    9 [: i$ O: j/ q2 c/ W, f* F               3、question2是做的最舒服的一道题,简简单单的高数上的计算) V* f  o9 z9 |9 `- ^1 Q
    8 [( b' P! O; t9 H0 T# U
                   4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了. f+ I; B  A. ^5 f' p2 U

    4 y6 j3 O/ ?* [1 o, y  p& _  V2 s               5、question5是三重积分,与二重积分类似,具体自己去算$ p% {7 R, b; p
    1
    ! x# y5 l; @$ \, ~24 |8 G) s/ l3 c- H$ R; C, x& H
    3
    - t' r) a8 Z- k1 ~; \6 L% m4
    8 D3 W! {+ q5 ~* T# w7 @5
    7 r  Q# e2 c( v0 [6
      T+ P, ^3 w! F' X72 H9 Q- k9 V/ t( y
    总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数) N- U* M; p. E8 z8 S3 M

    5 [) U: N# R2 C' B0 V8 }8 \misc第3题:useasp$ p5 O% k8 y8 L2 d: W& q

      {9 ]. p( g: |. ^  X+ v3 s' N鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了0 K( {6 {( ]! C: J$ i# B

    5 l3 Q# L7 v/ c  I" M, s首先,将文件拖入软件中,然后果然出现了波形
    0 i4 x% x3 d/ h' l' h5 z% d
    5 K+ u" L$ [9 z6 w/ u昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”
    ) }% R: \* k+ C) A7 L3 N3 f7 ^% X# r0 T2 _! ~$ N
    很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}' C0 h  A1 Y$ F# B

    / [% r, n: l0 a( s( y于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。- c: G) n4 F5 ~' `/ v

    " a  J9 E' n' F' V更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。
    + {- v: E  |+ A# i$ A
    , _( A$ b0 M: C5 Sweb第一题( t" p7 U, w$ ^/ i1 [) ?

    & m: |2 `3 S1 y. I7 {Just so so0 k8 U1 v% i/ y& d8 z9 C

    7 a, h: b1 e" ^6 L开始时,用伪协议拿到源码,然后就是反序列化利用了, u# N& C0 y, k9 I

    - [% _3 p  k) r9 U" E<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'
    , B$ C. N( y& o% \  O( y7 t'; } 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 I, _5 y3 J+ Aclass Flag{
    ) r: j, e# n+ \+ u  w) ^public $file;
    % [* d: Z0 b  Zpublic $token;
    8 H( y- h1 l  \: _- v( npublic $token_flag;
    ( u6 Y& K/ A2 }: ]- I: w; n7 c2 }
    function __construct($file){5 z' V( I  Y. B' D2 I, }
            $this->file = $file;0 ]; J/ E2 z2 \$ ?. a2 }
            $this->token_flag = $this->token = md5(rand(1,10000));
    7 ^7 Y4 W* n( g+ o% t& Z$ L- i}
    ( j2 k0 U& _* n0 @( d/ U+ x) T7 R( e! l7 L* C+ U: P/ |& L3 Q
    public function getFlag(){
    6 \0 u( D# y6 ?8 v        $this->token_flag = md5(rand(1,10000));0 }7 A5 a% m3 p4 q/ a% C  h' K0 B
        if($this->token === $this->token_flag)# }. h+ j1 X9 M+ w# k/ I
            {
    8 X( }* f7 z( d- D! Y7 m- K3 v( E                if(isset($this->file)){
    + `/ i9 ~* x5 Y2 k* C2 F8 N, n                        echo @highlight_file($this->file,true);
    # V9 }3 ^7 o/ Q        }  
    3 r: _  r) S& @6 L    }
    2 r' Y2 @) Z1 B) ^. U1 W0 N}$ F6 [6 n: Q; F4 W, i. a2 u) G/ @
    1
    / ?! O+ h! c2 `+ E% W8 j2# G% V9 {& \7 d) F# o; v
    3
    & f' n. v) h- E9 }# G, s4
    , P8 X3 |3 i7 g" @& Z1 h) [! w& y; a& L5' f3 \9 c  d% M+ ~5 K' ^' m8 t( a
    6
    : W5 U! X- [  g% _3 U8 k6 K8 a7
    0 [! e9 e7 G6 x& u" p' H/ e8
    5 `7 j6 @: b5 }9
    - }0 ]/ h* C6 k" v- N* s10" y( N9 p8 {3 a4 k3 g$ t% u! S8 X
    11
    " e7 K& `1 o9 {& f8 x12
    ( I% B1 |! l" y2 g) b0 P13
    ' E& x2 I, {/ J9 G4 O14
    : P/ [+ Q1 e+ s. k5 |}
    + F* @5 R* z5 ]: J- w?>
    2 f! v7 E' `9 P' l; O2 f' a 大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了
    # Y; h; G. H) r5 o! z' q: k; Gexp, F- E, w9 Q" _

    ! ]% L* Q2 p8 j) |View Code
    $ X9 b9 r8 D& k+ B
    * P$ h+ Q  U! t- n( n/ |1 h! Z& S/ i
    , e6 O" \- y1 E5 ?( n) H* ~0 n, o8 [4 ?
    https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more
      j& y& X7 c2 H  H# f" v- h8 \
    总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题
    - M3 D2 l7 ~' \( |9 {; p, j# T0 u--------------------- ! G5 Z* ]( V2 {9 d: J
    作者:Jeff King # n' i. I: v0 M5 R6 Z  h
    来源:CSDN ) M& I' y5 Y3 b% Q6 T% H
    " l3 ], h' U- j! O# t
    * c! Y3 r+ U! G5 F" R. G' R+ S
    6 N# W4 `6 i8 l) I- r0 C- m
    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, 2025-12-24 12:29 , Processed in 0.943991 second(s), 51 queries .

    回顶部