QQ登录

只需要一步,快速开始

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

    6 H4 m2 m" s1 c2 ]2019--国赛--第一次参加线上赛的自己的整理8 G, m; c* Y8 Y; S& g
    misc第一题:签到
    # U! s3 o% l( {! |6 H2 M, G0 J$ D) ~# |
    打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了
    & D( V! n. i0 C$ W6 N; Y/ h' q; g3 `  q  Y0 F* `
    但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的6 c9 G: p9 x- w5 F$ x

    & g8 O. w$ n5 n, J* w; H$ U# mmisc第二题:saleae* c* |! S& ^$ K! }# q
    , L. _4 {6 `$ m9 M' ]& N8 L
    下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件
    : [; ?0 n) @7 q- u* P
    / y9 P$ o+ b% w- C下载后,发现其中给的是波形& d5 S( E' f0 w& z$ e) Y& Y% Z
    5 a$ J0 Z9 U; ^& J$ f# m, e# @
    然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)( n+ p7 T5 I+ }$ T, L; T! x% \

    2 X# t' ]) ^+ r2 K8 z* x8 {6 K当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串0 i) I( J2 c& B9 N% D* F8 j; E

    1 A. F# c: g+ o, A: V. M' @misc第三题:24C" e9 {* |5 d5 O$ o0 @

    ; u( A" Y/ s& i* X! w$ h: S/ z0 X与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了/ {" M9 r( ~/ g9 g5 B

    0 W) x4 z1 p5 }) N: C( q5 E% d8 wcrypto第一题:puzzle& \* F! j5 [6 g. z* ?$ D

    ' @7 {8 @5 v- r6 @首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧
      L- g( c( d! {! [( E5 P6 G2 p, P0 g! {! i/ P
    让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦7 S+ c' k; X1 A9 ~6 u
    0 T) v: M  z# d
    所有的一切都是从0开始的感觉,于是就开启了自学之旅) t! q5 l0 k( ~8 b) N
    % |& m9 b- O$ u' `
    提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)
    - ^6 _$ o0 \2 m6 l0 D- @( I; U+ A, y$ X
                   2、question1就是分组找规律,与素数有关8 [* b% R! F7 d+ y5 |
    , g( U7 U$ `. U3 v) y5 [3 O  O
                   3、question2是做的最舒服的一道题,简简单单的高数上的计算
    6 {$ m5 F* p- w: o
    / z4 T# u/ p8 S. x& @               4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了
    ; a0 E% R& E  D/ n) F# Z! [7 G
    " V2 M$ x1 O6 ~$ ]* b4 k               5、question5是三重积分,与二重积分类似,具体自己去算7 t  h! n2 Q' Y: F1 x, j, a
    1; `* U6 M4 J0 `. C7 S  d
    2; t* I& O& s; J  S0 Q- p
    3
    % ]* I6 r8 D0 _! z% Q4
    % A( }( r* c. A9 S$ ]3 x: R, A3 s5! ~( d  D' n! j+ T# a: c
    69 V4 p' f+ k" s; c
    7
    - J/ j7 K" |' a5 f6 q* M总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
      s& Y% G1 j7 u9 W* a( _0 u% P. L( @4 R: z
    misc第3题:useasp
    ; k3 g: ~5 [# m2 O" Y' L3 V/ \9 }6 z0 e, E$ x, r
    鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了4 @% ]3 P  J5 s4 t8 }

    ! ]7 O6 s% g8 M$ u5 j首先,将文件拖入软件中,然后果然出现了波形
    8 X( b; z( |& |$ j/ ?5 H; {
    . J+ Q1 f7 S( r昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”
    & ~% f7 ~9 v7 D5 v3 `2 [
    & R3 e! \2 Z  A- M" `1 y9 H很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}" |& g6 Z2 s# q$ ?& S+ V6 Z! D

    * r* A  O; J7 M8 Z于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
    % g0 N. a2 ?- A. o4 R. g  O% ]" A
    更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。2 v3 I' e1 @% V; q$ l

    / K) h: Z* D8 U  ~7 \! P: qweb第一题
    6 w  j% @9 y* L; s( T6 e3 P' X$ `. W+ {. R3 W
    Just so so4 g+ P# V, f* i
    ! ?% k- I' r7 x; k
    开始时,用伪协议拿到源码,然后就是反序列化利用了1 M' x, U" B  `% r/ W( F, \1 @1 D
    ) ]! F" H+ L+ S0 l* N# N" V; A* V$ Y
    <?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'
    ! }7 ~# R" u0 a. Z'; } 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(); } }
    # |' A* p) P# R' R. Aclass Flag{
    + I' U9 A( H# F$ ?0 Tpublic $file;
    / I0 [/ _1 a! }public $token;
    # Z( R* E% F1 p, u4 E! Lpublic $token_flag;
    . x' g# T, y1 o3 k" s: N3 c( w# }4 ?5 O: O& G
    function __construct($file){
    - }% b+ N! E+ P0 k9 Z" u        $this->file = $file;- f9 g; _; t% y: @9 U
            $this->token_flag = $this->token = md5(rand(1,10000));! `) `0 z" k1 r% x
    }
    * j! U0 {# v4 Z+ ?1 n
    ; b$ h6 W( g8 _( \& ]* hpublic function getFlag(){% |3 h6 T' r; o. {$ ?6 B1 Z
            $this->token_flag = md5(rand(1,10000));8 e: f5 l8 Z' k1 G8 M3 T) @( D: f6 p
        if($this->token === $this->token_flag)5 p6 t% g, Q. Z0 _" A
            {
    6 \8 `- e: E; g$ e: r+ O                if(isset($this->file)){
    ) Z+ I3 v7 M2 D" b5 t7 W( W                        echo @highlight_file($this->file,true);
    2 `1 _4 J& }  _- D        }  
    % P1 a% X; l3 O4 h% s+ {    }
    , Y! l7 j: H  b8 M' _, W6 U}
    1 q# J. a1 C! m% q$ p5 F# V% }1
    * Y7 ?" ]( ]4 f+ a20 e. s0 E) z. s" f5 X1 M6 ^
    3  `" o0 l& A5 \
    4
    9 K: S' [' U4 S5
    . w* t6 y* \8 D/ V/ j9 x; n* x" t6
    " L) D- H" u5 ?  F- @6 b% [+ V7( J  o( [9 z/ ?* {, G
    8
    $ S- f0 L6 C2 P: q7 G* z- z% [5 L/ R$ Y96 u* ?1 d4 [2 t/ K! u# \% N6 G
    10
    # R4 c) _( E- ^4 w; Q; K1 a, `11/ @/ [1 {$ B  f, ^# U, a
    12* i/ m' N8 l. {& ?; O7 g6 I
    13
    ) x( F* F6 _, A% y14
      z# _9 m& ]7 D) p4 {% x0 t}. O' b7 H/ U# m" ]) {
    ?>; |) N# F! A- n1 A
     大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了# K4 c8 J6 g4 e( F
    exp/ @% Q0 V( B  B# ~! `: s

    $ C# x; N1 S! ]View Code: a7 q$ j0 E7 l- p6 B7 c
    ) s- m/ x( Q0 h; ?* i( v. d% S
    4 \" X# E4 v: K: {: }0 V0 J* L

    - _; }) Q' k" d$ J0 ~https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more5 u7 V8 C9 g& z' P- k6 I

    5 V# U- F6 }& r1 s总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题" Y5 O8 |! {0 @5 V
    ---------------------
    ; C7 ^7 p! r, U: @( c$ V作者:Jeff King
    8 ^7 P1 w8 `: K来源:CSDN ! ]1 y. G' a) O' v  e

    $ J1 o0 r. V8 a8 G) C4 t$ @% a1 O+ B* T
    " `; S4 Q/ I# X9 ^1 ]
    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-11 02:33 , Processed in 0.395155 second(s), 51 queries .

    回顶部