QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2217|回复: 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
    5 m, N7 i. n! s- g* Z% t
    2019--国赛--第一次参加线上赛的自己的整理
    # o  e  ?' l' r" q  x( W+ fmisc第一题:签到3 H$ \2 E! j: N
    1 ~. U7 U4 {1 p2 f/ N6 B
    打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了- p8 l' ~4 Y; ^& \! m% E; {( b" l
    1 S' D0 S/ h( b! w& W! E8 P* i
    但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
    6 C+ m/ L- u% G, X, z  d
    0 {$ A  }4 z5 Z0 b/ T5 w. G0 Nmisc第二题:saleae
    ' Q9 C" P/ t# o1 Y* z: t# L
    8 u3 C% F8 V$ K* `% z; m下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件
    . g: w% z7 E0 V' P3 u. d* M+ r
    4 M" G! M, }' t下载后,发现其中给的是波形
    - @1 U5 z7 Y  e7 `0 z- `9 I( o
    + G* X, Z7 P# `) v, Z然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)
    2 K  ]  a. ]  g& z  [- X: e" v4 {2 Q+ M, s* U
    当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串. z3 C8 y2 w1 \% _

    ' t0 f/ |2 x( |* l; X8 wmisc第三题:24C" W$ e  O+ R9 ^5 u! V5 x
    7 @* w  |2 E5 M8 I- }4 z7 Z
    与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
    ( ?; m$ e1 f2 L' N/ E* p" x0 g& E8 o7 G+ F, \5 W% M4 H. _
    crypto第一题:puzzle7 j1 |4 s% `( P

    : A! `8 z4 Z3 x+ O' _& _: b5 h首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧
    : c, ?( t* V  e9 a' f7 {4 E) x, I0 V* {! q
    让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦/ t1 L2 H7 G; j
    $ e: g+ b" l& h+ h: Q9 ^/ f9 L* j
    所有的一切都是从0开始的感觉,于是就开启了自学之旅( x9 U/ F' t# z# F" s1 `( @! z
      N7 m8 o: m* V( Z& U( D
    提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)3 L, e# e$ ^1 X. S$ F* E; D
    & s: t% Q$ W! V8 x+ d& C5 X
                   2、question1就是分组找规律,与素数有关
    * V9 V+ C  c$ G0 w3 @9 \* B7 W0 y1 p/ {% o) |' U- ~
                   3、question2是做的最舒服的一道题,简简单单的高数上的计算
    : j2 o  S5 T6 g2 x7 u! @# {! }# E! I1 Q1 k+ y$ v
                   4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了2 B% N! G% D1 ^- o/ W
    # ^- _2 f4 Q, g2 i4 h1 |  t+ e
                   5、question5是三重积分,与二重积分类似,具体自己去算
    ' v0 C- r* V  U; M9 j: K& O# G18 m! z* Z, Q: Z/ e% k+ j  G4 B0 d
    2* ]# [4 K+ T/ `# w7 J$ \) `* q
    33 V! g) C3 ?& v4 u
    4! o% r2 a- [% j5 S. m0 A- [) M
    5- \' H9 h! u$ Q
    6
    1 L8 i. |2 E, X. ]! d( ?: u. L7
      K+ V" {: B" M9 b- P7 O4 d总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
    , X) M6 z# \4 j, F2 g& Z$ e3 a& {1 c& l
    misc第3题:useasp$ V% g' ?$ ~& r' L- c

    9 {- ~, b6 b8 V2 ]& g) d( `, @鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了3 B& k5 W5 `6 F  H  t
    ; t( W* f+ S2 c# U  |! F; |
    首先,将文件拖入软件中,然后果然出现了波形
    ' Z7 B4 _5 ]0 }& [1 Z. j
    - z- L: `+ g( Y/ d6 P4 t3 j/ y0 H昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”
    ) L; g) k7 |8 W% ]+ e# {
    & A3 N. w" P, f' L% x/ i很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}4 B9 r! A- t) n9 L/ f: N+ i) N" H

    5 v$ f+ J! I! E7 ~/ {  v& B于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
    ; F6 u7 s- G2 J8 j# @6 r
    . i2 ?9 L! y$ Q' _  }/ R. ^更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。  O% }8 G3 y# b$ a# U* N0 t

    $ [7 u! \/ u; x9 oweb第一题
    # T7 P# v) T0 Y6 r3 p- w% Y+ Q
    / y# y: S$ }3 B, s$ wJust so so
    # K& Z/ N9 F8 \+ W3 D+ V' w. L5 A
    开始时,用伪协议拿到源码,然后就是反序列化利用了& ?* O( o4 m" Z' F) C
    . h/ I* G$ ?. ]9 j1 z$ D% |
    <?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'9 I" ~. t6 N) |# H' N7 J6 Q1 ^
    '; } 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(); } }% E: L1 N; P+ I! s( J. K
    class Flag{
    $ ?! ?! L& U- t  O+ m0 M* Xpublic $file;
    $ T4 V7 `+ f0 E) O( Apublic $token;
    ) ^" k* \( ]) h7 ^) z3 Ppublic $token_flag;2 v: D$ U# a( l1 Q
    / I2 A% u8 P6 ^3 r2 M9 b
    function __construct($file){, H  V" @% ?* d$ y( k3 _
            $this->file = $file;8 N2 I% y  ~; v4 |0 G% ]+ h2 g
            $this->token_flag = $this->token = md5(rand(1,10000));
    5 P+ c; N' @3 i/ x- G7 }- i}3 A% _/ l( i/ b! e

    # P( S0 M0 I% Q* C& xpublic function getFlag(){
    4 x- {8 `6 L8 ?; |& H, J: c        $this->token_flag = md5(rand(1,10000));4 D5 ?; \! L" h8 a% N) X* v$ v: ~2 |
        if($this->token === $this->token_flag)( l2 ^9 L" y0 X, W1 b- z. v' k8 Z
            {
    4 a' Y/ m% A7 G- ^/ n- X- V" H                if(isset($this->file)){
    / I6 \( C$ J+ n                        echo @highlight_file($this->file,true); 6 `; i  l1 j! D0 m
            }  & S% `: L3 [! `3 o
        }
    . c9 Q' v1 l0 M}& b" Z6 ]: A; o( Z: k9 f% L) J
    1
    $ u% d- Q4 h: x; F/ K2" c0 ~1 q% d$ h5 a4 j% J  |
    3  \# I0 Z0 d- t+ Q
    4
    ( m& ~8 }0 z8 L* X, ^& n: \5
    5 l! \" x& P4 }, d  z6& C6 B. u5 I/ n3 m( ]2 X
    7- V3 L- q2 \; _% S
    8
    ! u0 t* K6 N" F! @9
    ; M: v0 E6 v; Q2 ?10
    ) ?: ~0 E; M: b& q" y5 y# o11
    1 H9 \( B! c2 [1 ~, {12
    0 q7 x5 y6 O& ^13  F+ R8 e+ e- z6 x
    14
    / ^3 X0 v" t5 R. ~* D}
    ! t0 g$ f* ^4 W( T2 N; v% m?>& a) ]7 `; p4 G0 ^3 D  A' R
     大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了
    ! B3 C) U  ?* v7 o( mexp* Z) z; t$ J" C1 h

    8 H& |. G, b+ h& xView Code
    : p. S& c, Z+ ]4 `4 f$ E. G% T. g4 u# w$ c: k# }' k
    " F- o* c9 H0 ^( x1 G" _

    / g3 e& o) `9 g: v7 M( N7 Vhttps://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more2 i' c5 ]; |2 N, C6 ~+ v, K! [
    + C- A$ D) t4 q; w3 `5 y
    总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题/ N) e5 X3 f7 ?1 b6 T3 j8 J
    --------------------- 5 l, C$ G, G+ t( ~4 g$ Q; N) r
    作者:Jeff King
    - R9 C6 {7 z/ W; B来源:CSDN   m% v7 {6 _) k8 A3 y" E! B9 ^
    2 C- V* c, w/ [# R

    ' f) a: \* ^) [' ]3 M" M% x% S( `. r: l% H# E' {
    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-13 07:12 , Processed in 0.708628 second(s), 51 queries .

    回顶部