QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2241|回复: 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
    4 T; ^* z9 x# ?# @8 c
    2019--国赛--第一次参加线上赛的自己的整理
    $ x# m+ f6 e' Imisc第一题:签到
    4 {5 N1 ?/ r! @$ Q8 w, B3 V, l# c) w
    打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了9 R. U* u- V. U. N
    ' ?* }+ E6 B/ z5 {1 R8 k3 X& p& x' N
    但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
    & _& n5 k% J0 z% x3 q" a: I6 V' r! i6 l7 N4 b4 s9 [
    misc第二题:saleae
    * i6 \/ `' P/ S3 B: ~& \, t+ j: P! f
    下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件6 g$ G. p, T8 k" d; q: y
    # v* {% ~2 D$ i! ?- e  a
    下载后,发现其中给的是波形
    . `6 f2 ~" K" r1 j5 O) A) K1 z$ }$ r# R
    然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)
    8 _6 @, A  ~' }7 d( Q3 \' K) [, Z1 h1 F% J- T$ d+ M
    当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串
    9 m' T' h) m( D9 }7 R0 E% K+ i
    " b2 `1 r. J1 ^4 }( kmisc第三题:24C% _: F/ _: ~7 E3 q0 e

    7 c( L8 @0 p: [9 ?: P7 Z5 g与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
    # E" `- g3 b+ }& g4 }3 O3 E1 r0 Z- r9 v& R1 t8 \5 E! F
    crypto第一题:puzzle
    . M  e7 `0 A7 I+ \$ k
    ; E. @  _+ w7 A9 f& F. X首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧
    ! m* P+ I6 c" h4 n- O' S; q; _- H# l0 n% d0 h& O2 z8 Z# |
    让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦
    9 c# O0 k1 c5 I3 @$ n6 G$ X
    9 u: L& p% z2 H- Y2 p  s所有的一切都是从0开始的感觉,于是就开启了自学之旅/ ~" r. C2 N# t9 d8 M% ~. M
    5 c, ^# o3 I6 R/ g1 G, _6 m( j
    提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)9 ^( [  P8 R2 h
    3 `8 u# l' e$ Z
                   2、question1就是分组找规律,与素数有关" O$ d" v3 [  I" e8 X- t

    6 u' G+ ?- B, b# f( M- q               3、question2是做的最舒服的一道题,简简单单的高数上的计算: @! u# |: @! J; y
    & m  I9 q2 L& L+ ~2 `
                   4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了
    0 R6 E' s$ v' n7 \+ w# S
    + K$ g% m$ k! e  ^( U( \3 |2 W               5、question5是三重积分,与二重积分类似,具体自己去算% h; o. g' k6 }( I$ ^* I! E
    1
    " m( A8 y% O  A7 D- s6 w2% E1 ]) D4 Z' j! Q. J/ D
    3
    ( X  x- M  F+ l: _+ K4  z# o# w, R0 }7 H& R2 D7 o
    5: V& o2 h, n3 i  I' S4 r+ {; L
    6
    9 W" [# b- f: j# A4 B7, r* J' m, o4 Y
    总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数* |6 G- w0 e5 i( v

    0 F5 R( u7 K$ @1 k, x2 t9 E8 Nmisc第3题:useasp( V& X$ N# u$ h
    % F5 x/ X, u  c5 O/ X# n8 P" ~
    鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了
    + u$ w# O4 o4 y1 Z- n+ S; h( I- M2 X, B9 E/ I
    首先,将文件拖入软件中,然后果然出现了波形7 c6 b. L1 M5 P/ \$ g
    " W0 {: b$ x- W7 i. W( D
    昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”2 l: ]' c4 ~# p

    ' t9 L+ u: C2 o* N1 z很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}
    % m) f1 y0 Q& s9 `& n; _- T) c  X; d  E1 k! l; U+ }
    于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。) Z6 Y; H  c+ [! J
    . W2 N& f. U# J$ y' l) Y
    更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。
    / ?: ]  [/ ]! Q% {8 g6 y( U" t0 L2 D/ [: G* {: q4 A  Z0 e; ?7 u* Z! {
    web第一题
    + g4 @* s$ K. m7 i0 W: i+ T6 w9 F# z4 x! D, y: \
    Just so so" X, |4 I0 ^4 y3 q7 F1 n
    9 X: k. N' L2 u- [
    开始时,用伪协议拿到源码,然后就是反序列化利用了! j9 ~. u3 h8 N! a

    ' v" i( [; }: K<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'
    7 u. E% \9 A# B& {# C& R'; } 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(); } }) h+ L% }9 O' m. u
    class Flag{
    + \* ~/ ^$ x4 `public $file;
    3 |9 s. Z% l( h- Epublic $token;
    ' k* W% q6 n& e% Npublic $token_flag;
    9 B! S( U, b% y9 J$ W' ^# x+ o. p% X: s0 v" Y, g5 J! @: P; r  I
    function __construct($file){2 h/ ~( b6 ]& m
            $this->file = $file;2 [0 s" E. b8 W* O+ s; V
            $this->token_flag = $this->token = md5(rand(1,10000));
    ; x' S# y! Q$ r# [8 T3 T}. v+ H; H4 c" Q5 d- Q: ~' X

      j$ e! b: F, H& ]public function getFlag(){+ F; j/ Z& ~# J( X! M
            $this->token_flag = md5(rand(1,10000));. `2 R8 ]& H+ _; t
        if($this->token === $this->token_flag); ]5 w/ z) b1 m0 m
            {
    7 H, h  w, A7 W; V" Z8 v                if(isset($this->file)){4 H- e1 h( Z( p: ]: n3 c
                            echo @highlight_file($this->file,true);
      B$ h# D" Z6 E7 Q- |        }  / ]1 A2 m& D" R( d$ C
        }
    * O, W: ]7 D/ |( ^$ u}$ X3 |; U3 j6 D  d& n+ j& L9 X
    1
      }3 H+ t1 A9 R' G, H2. q* H, R* g0 J" P
    3; a- j# V$ D# Z! q% S) T% z. t
    4" z# m' D4 o$ S+ Y
    5
    3 n, u- e8 g% u. k. \5 l' F6$ u- @* l: H$ y7 y
    7
    8 v9 a9 p' w$ ~8* t) q5 Z: y) g4 S/ D
    93 s9 }2 y! a4 y* A7 l
    10
    & I/ M. C# A) E; x4 W11) T+ p+ g  }7 F# [2 P
    12
    2 t0 [" A4 g3 k137 h' q& b" G* z, [+ m
    14
    , J7 i( B$ o0 M. }5 X; {+ s}
    9 U! P+ }2 l" E6 \3 I0 _?>2 y8 Z& v$ }& l& F6 \5 g9 [$ H$ |
     大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了# {/ R, D* W6 C& a
    exp
    ' @1 q% B4 k0 m% v. F# \% g) p* |
    : k$ ?: p$ D  EView Code
    ' e3 o. T! T/ A, ]8 V/ j; H
    4 X9 B2 T7 w9 r. g$ ^. O/ q
    + J* k, V* U6 X6 \9 v% n- R* Z# Z7 Q& T; }0 q. s/ Y1 Q( h# u
    https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more
    ' m5 _0 B& M/ z# F1 {" Z, b' Y" s  Q( I5 ~5 {$ N% N
    总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题. [9 S9 z5 _/ t4 X+ n9 D4 M
    ---------------------
      S4 A, h) |: J! u1 D3 I' W作者:Jeff King 2 ?# E1 j+ K# j8 p# u5 \# J0 Y4 x, O
    来源:CSDN
    " N% Z5 O5 a# R! e. D" E
    % R% d3 f/ ], }7 [6 U
    / m( V; J9 j8 Y8 e
    + s5 j+ j7 |' M0 p1 u7 Q
    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-13 09:39 , Processed in 0.323578 second(s), 52 queries .

    回顶部