QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2242|回复: 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
    & G6 O9 x5 o  U0 I. M. I: a
    2019--国赛--第一次参加线上赛的自己的整理' R% U+ ?5 Y6 g, b7 [
    misc第一题:签到
    9 J$ r. c' [, p8 l
    , v; ^* L% F/ u9 ]4 O打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了- O& s( f2 W  ^8 p% z
    , X% O& z( a" ~# w0 a
    但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
    # i5 N1 N- w4 ?% V9 q8 e' w
    8 J( S! `+ ^5 [$ Dmisc第二题:saleae
    0 u( F, m- W7 o  C  t; g
    ' G; w" M3 o" j! u2 M% I5 R下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件0 @+ w% I' |& O9 j0 R# ?

    $ B# L0 h  n0 c1 p! O; K下载后,发现其中给的是波形
    0 W4 F$ J2 D- o# n% C: j4 D* V/ H& H9 Q$ s- H4 v( o0 F2 r. w/ ~: k
    然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)1 k. S/ |! \6 n+ Y2 D5 [8 N
    ' i7 w+ H/ _+ j0 @1 O6 ^- m
    当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串+ v$ k8 o, Q2 N9 i

    7 P& }  U2 v2 I2 R/ S4 ^6 F8 Pmisc第三题:24C! [) g9 g2 z/ N/ @" E: w  z
    # M4 S* p' w" B5 h/ l: y
    与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
    , o1 U* N7 P) v& h( r' W$ `; o9 S
    6 L4 {4 S. P9 `0 M3 ^( x3 Zcrypto第一题:puzzle
    . ?$ R3 k6 H3 f" z- Q
    - y  l4 |- l" Y. |首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧. W3 G0 R( u5 ]  t3 }* Z- j: T

    & @3 K4 X' I4 D8 s- ~: Z8 Q. M  Y让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦
    2 O- t# ^  N7 m5 S0 ?  Q% }$ b0 l& V9 w
    所有的一切都是从0开始的感觉,于是就开启了自学之旅( P* N, T3 ~: f6 B' H5 Z( q

    . ^5 ]! h1 A. H提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)- \' w# \3 p* }! u5 S2 E' y$ @

    2 X  s* m6 v; }2 {& m               2、question1就是分组找规律,与素数有关
    7 {8 r8 w; t) E5 {" ^. _8 }) i% b0 `2 d9 P/ F" m$ R$ X
                   3、question2是做的最舒服的一道题,简简单单的高数上的计算& K, C6 {- z# H9 W. h* T7 n/ y5 n) S

    : B9 u, E% D' o. b8 u) d               4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了
    4 c7 [  G, @9 ~8 C4 Q( v
    4 j$ Q. L2 F! i' ?0 @0 r               5、question5是三重积分,与二重积分类似,具体自己去算) ~& M3 V1 z+ ^
    12 `1 D( b' f9 ], g$ P5 |
    2
    5 [/ u. D' f- T" K" y3+ I, k" _2 {1 r8 A9 X$ u/ E( a: P
    4
    ! j; G( N: g1 O6 s& z8 Y- O; {5
    + ~! [: u& G+ n3 w6 j6, W; M( t2 Q+ g7 |
    7
    " {: u9 `0 A8 t( T总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
    ; c& G7 n$ u4 p: z$ F' v6 R) Z% }/ {' ~  I$ J# g+ c
    misc第3题:useasp$ x. Y+ ?2 x( o& ?

    ) i( c; ^, T: }# r8 @6 d( l鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了9 x0 p. j' F/ |9 g7 \& Q, ?

    8 n7 B; b) z6 `7 J/ ^, }首先,将文件拖入软件中,然后果然出现了波形
    ( |: w* D# j- @1 O
    % e! b6 B7 I/ m: T0 m* e- k$ B$ r昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”
    , a9 T# o0 ~' w4 U" i
    % t' }2 |* W, I很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}* s# |1 d& t4 E% t$ @

    : K. E0 s+ B, @5 J; [7 y2 p于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。4 L4 |0 }' |* X  M3 _% w: f. S
    4 n9 x0 y" A- {% I
    更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。9 K: ?2 H2 @5 S- D
    ) O2 e+ n; O, d) l
    web第一题
    3 f/ x2 ?* w: l( E: l% }3 K0 ~! ~& H& s* W/ Q9 ]8 Z
    Just so so. [6 |* j' z) ]( i7 g
    / ]1 Y2 x( a' b/ }
    开始时,用伪协议拿到源码,然后就是反序列化利用了$ Z* d6 G8 z3 A4 x5 h- w5 k! K

    # t- X% |5 `7 l( ]0 L* l<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'( N5 ~* g6 `' Q" m& d: a* O
    '; } 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(); } }6 T7 g0 Z- s2 y! Q
    class Flag{
    ; N" i- ?, }0 b) x) `public $file;
    % m# \7 ?9 p3 e1 c# |public $token;
    . i. [. O0 z# C) j# N8 |public $token_flag;# m$ _, v$ c- P/ r5 A/ a1 B

    . s0 \" K6 ]% `7 b6 t* sfunction __construct($file){
    1 s( G$ Q7 P2 [! _; O0 B: S# |: `( X        $this->file = $file;
    * m& s9 m6 Z9 i2 ~# L/ @        $this->token_flag = $this->token = md5(rand(1,10000));
    9 @6 {. y  f6 J: U# W1 @}
    $ ~. R6 }) \% \0 `, q. G2 n, \
    , P3 j/ S" E3 V/ D0 Dpublic function getFlag(){8 f" |2 l+ c! w5 B; y$ X6 c7 T
            $this->token_flag = md5(rand(1,10000));5 ~/ ]2 s6 C! A# E* s" E9 `
        if($this->token === $this->token_flag)4 o, D  O6 e/ o( _  d
            {
    4 M# \+ t" I5 j5 {/ `. j                if(isset($this->file)){
    7 v- M  q; \# W, }4 [  L# z                        echo @highlight_file($this->file,true); : r( u. k& x7 T3 q
            }  6 _  y: E- k7 {% {, _0 T* B
        }8 j3 d: C0 p) E! K2 u( B
    }. a( @" z/ D; b5 E
    1# b  A- E+ T' l
    26 X+ i2 e( N& b$ B/ Y! v
    3: [) t+ r$ G- ]5 ?! |4 o
    4% k; z& ?; i5 J# H7 S5 Y: Q  W" B
    5% E2 }, t. u0 {) t# P' t. |
    6' A+ `  r: S6 {) k/ g  g% n( A
    7
    , {$ v: F1 m$ C' n4 a85 Q0 F; r& Z# Z8 f& g
    9
    9 T9 K: g5 h! X7 r+ R6 p+ E6 ~/ X; W10
    : j/ g3 A' h7 j& S6 P  q4 _* k115 ]. O. D! }  S# ]
    12$ q: M+ X- j9 B9 A
    13
    , o% k. O8 I" G; E% v; i14
    : `  `3 S- J, y# c}- m7 Y+ A# q. G  W, Q% B0 j
    ?>/ G, s+ J0 H5 Y/ |6 b
     大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了
    " j- U- V2 \( m: n, {' ~exp
    : \6 A( e4 n+ E) K2 k* w; s! u8 Z' i2 s$ x6 T
    View Code# \9 c7 Y2 ?# f

    0 ~, B' n" l. e' R% s. ?! x
    / x0 N: Y6 T6 [! h8 k! ^$ Q+ ?0 B8 \5 @. w
    https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more
    . J4 [/ |% i# D; Z5 B$ ~- x& |* X' F5 }8 o
    总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题
    6 a) g: p9 _% k: y--------------------- # p8 |  `5 S. f% `, G; ?2 b
    作者:Jeff King
    + E/ m3 H8 U7 t* D: |$ O2 A3 w3 Z0 x来源:CSDN - d2 B& i' o" d) |% w' f
    ; U, O% d2 e! a% A8 C; F5 z. j! Y
    ) _% z# O& E7 `0 J6 z% Z  O4 f

    / W- D: g3 D& Z# f
    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 22:09 , Processed in 0.492018 second(s), 50 queries .

    回顶部