QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2254|回复: 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
    , e( O2 d& u4 L. l
    2019--国赛--第一次参加线上赛的自己的整理
    9 N' E5 P" E+ M* ^misc第一题:签到
    " T8 c* c% M. @5 P
    3 F! r% t; A  J6 [打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了& i+ A1 h) \* S& g" B7 b& M% v
    / Y( W+ c+ r. S) x0 T" ~
    但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的6 |# u: l$ h' H  [1 c
    ! x3 _5 D  t3 P. T5 q% Q. a
    misc第二题:saleae) B! V7 \) z; p; d  K6 q9 ]
    1 R$ \- g! O1 F: \  L" f2 s
    下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件1 G( l  x* x" A; b8 }/ E

    - D3 V3 h1 O3 A- S# V( T下载后,发现其中给的是波形
    2 c/ ^% _, X8 w, _4 K" z- I  I* I: n& o  m0 x
    然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)5 n7 B+ ~9 G& Z' X
    2 Z. ^. \0 Z2 N; B6 t
    当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串3 w1 {) F0 N5 F+ }: e6 ^

      q3 t, t) [# T9 ~0 Lmisc第三题:24C
    0 t3 O# c5 F" C4 n9 R" R& |5 n  K+ B. N4 a( q% E5 E
    与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了/ ?( ]% H) F3 g
    9 N3 i& V" K6 y. _/ @
    crypto第一题:puzzle$ r' n% O, v5 T& n

    ! t  q8 [! v& ~, D首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧
    + t# \% y8 S) v# s, S" U
    7 a- Q6 Q8 U* {; |1 L$ E" f% W$ O让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦
    / w& |. @! h2 X  X( ^& E' H# v
    + I) h- u) A8 ~0 ^1 u( G所有的一切都是从0开始的感觉,于是就开启了自学之旅
    ' k3 W" A. M: b9 l" z* V( j
    . X* ^$ I5 K8 `  G& I5 s; w1 B提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)8 M7 C& l; q; c- e' ^
    * [  c, ^. ]5 U) l* \/ X) h
                   2、question1就是分组找规律,与素数有关
    1 U( G9 ]; U, m" n- X7 h9 [! P5 Y' B  M  ?% @. o  E
                   3、question2是做的最舒服的一道题,简简单单的高数上的计算; @: _! |" P4 V

    % a) F( @5 a: i! L$ b               4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了2 a3 J) _+ ]$ v$ {, v

    ) N" Y' Y' s. ^. e- O               5、question5是三重积分,与二重积分类似,具体自己去算, ?. j# v9 ?! F% X) T3 M6 R3 V
    1% H* B& f' h0 z! D2 B
    2
    4 r/ W4 }6 p( \  \6 }/ A3
    % @2 t: X) Z" o0 E9 E$ B4 ^! W4
    ; ^: m' ^% v& g# n8 S! `% }5" g  o; O- ^% i' @  F& a6 |
    6
    ( ]& Y' L1 r" f( l6 t( C$ A9 y78 o0 s% D" o" {) x
    总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
    , v2 e' v, O& ?$ L3 ~7 J) g, R% Q3 W& V! W+ T8 a
    misc第3题:useasp/ _4 E$ L, A; }5 m6 x0 L5 C5 {

    0 _. ?& {" ?' M& a% ^鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了6 a$ u7 g9 G) h4 G
    % }( w! r3 b: l
    首先,将文件拖入软件中,然后果然出现了波形. m; ]( ~' i2 c7 g4 k

    - S% y' c/ q4 N8 C昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”
    2 C1 u( c$ n) F
    - f# o+ f( b" S5 u& s7 x. x3 q# f, F很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}' @- ?# T$ o1 p& w3 O
    7 `1 j" ?% a8 b( p9 X
    于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
    + P2 P' A) E: F# x$ X6 M. o, ?2 t. f1 _
    更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。+ V% m# S* S; x4 `3 i) C; S6 e

    ) h$ n0 A- `9 k; Wweb第一题
    $ O$ B1 \9 Z/ J6 v6 X2 v6 l: o( W. d2 y. p/ i8 f8 S4 h! M4 z
    Just so so
    ! d5 K2 r# S* a+ t) w- _
    . A1 t# |& j3 j开始时,用伪协议拿到源码,然后就是反序列化利用了9 h( |1 I/ W8 w# I: j+ A* q

    5 |  ]" z( z$ s, K. \; C3 x% M<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'
    1 H) J) ~# O( P8 ^9 h. [1 {'; } 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(); } }
    ; p9 L* X+ J: S( l5 N* \class Flag{0 [# e3 `( _$ Z8 `8 K
    public $file;' x2 J* _0 m) T0 C
    public $token;* w2 O* e9 H  \/ v% i
    public $token_flag;
    8 P! ^3 ?5 v8 v: L( M- Q) o* L7 a& d' X6 P; t: B3 o
    function __construct($file){# Q( ~$ E0 N. S3 Z3 X
            $this->file = $file;+ {% u: o. R& Z( B
            $this->token_flag = $this->token = md5(rand(1,10000));
    ) R0 K7 {7 m$ a) g' V9 N}
    ! q* J/ G) }; f/ d2 I0 u8 w$ e
    " k8 w& w; S9 l% V; r: Kpublic function getFlag(){+ K4 |, ~) g( i; e) o! z8 y4 n
            $this->token_flag = md5(rand(1,10000));
    6 h. P9 x) C" D- E: x8 _    if($this->token === $this->token_flag); ^+ ^! ^8 f  i  N
            {
    # m* D+ r2 m/ W+ @/ D" m2 n4 _. ^                if(isset($this->file)){
    , V( r7 N) C- l4 Q: c* r: J4 K. }                        echo @highlight_file($this->file,true); 9 c, |3 F( i9 o5 G- V& G
            }  ) Y7 G: d( Q0 H9 p1 [
        }
    # ^3 v0 d4 }1 u}# _6 ^# U; ]$ c5 f
    1+ B- g6 V% H% L6 S' d. a( y
    2& D$ w& A, ^; X9 f& G
    3
    * V, ?! s' i7 y4
    & L; c* e5 q! K0 X; ^5; E/ E  w4 O) d6 Y2 D
    69 z: a. ?1 F4 Q/ |
    7
    ( L, z$ j, Z0 A. d8! n) g$ n& p  O5 T7 Y
    9  n- ]5 g; T7 w  l% |1 L
    10
    * u4 T5 `! }. m: h11
    # T, m% ]3 L# U" L4 K" ]12
    ' a# c; K, F& t: _" e8 {, o138 k& n* d4 d; o1 E1 t3 c, w2 H( D& {
    14( F' {! p& R& G+ S6 \
    }5 a7 A1 t. y: S1 b0 v+ @) M
    ?>
    , [5 G# R" n# M+ b) P* o 大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了
    : p1 s' c' e0 \- M; Xexp
    ! L) `* F0 Z2 F
    : p) Z3 d9 ~8 O$ L6 DView Code2 F' D' u. S- @! s5 e/ l1 o

    " t6 D1 l/ c( W" \$ B  M2 x" s* _- K4 I1 S/ {# M
    ; [  |/ K% W) k/ w% g
    https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more
    9 t7 Y/ H! _+ W8 N( e, o& t' h# X
    5 I5 D5 ?7 s) B& \总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题
      ^! t% d* ]. L---------------------
    , [( `. d+ }. W6 C$ B+ a, C' x作者:Jeff King 8 r+ I# a' @7 _( ~: a& J4 P5 K
    来源:CSDN $ l- r& {5 M& K8 v' f! A
    4 e4 y' H/ J4 l$ y# u+ M+ S( Y: Z7 B* X
    * \3 j, c5 l& L- D0 |$ q8 ~
    & t; t' S6 g1 U) R
    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-7-30 14:20 , Processed in 0.529442 second(s), 51 queries .

    回顶部