QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2219|回复: 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
    8 T" V. C. d9 t% w) Y' y
    2019--国赛--第一次参加线上赛的自己的整理" g* X# e" X* _( b0 A, g; m
    misc第一题:签到. f5 i/ `: m: U, _% v) z( p9 T
    5 B  N& K% _" D) L& i
    打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了
    / E2 E$ J' [' D5 ?% O; G! e
    ! @5 i5 C7 i' {7 D+ |$ L! V. W. s但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
    % ?0 w9 I8 V4 E1 H  N9 S+ L
    # J3 p+ c5 j& W9 vmisc第二题:saleae
    ) {5 R1 k) O% `% |2 `( b6 {( c8 @) T( ?, v5 I
    下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件2 C) a9 d1 r, h; Z
    ) M5 s; p5 J6 O( }3 t# K
    下载后,发现其中给的是波形7 |) y+ b' r2 B- O) O+ u
    1 K  N. n4 L: X7 l" P, t. V7 b
    然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的): ?. E! o# \) i

    8 o; w2 w) f: H$ t当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串) t2 r) G$ S* u$ S- d( r
    " u! Y1 ~9 b/ z- J% k. ]$ {% F
    misc第三题:24C
    - o) e7 G0 ~+ [) N# q& E8 V6 ~) w" ]/ P" Q9 Z( r
    与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
    ' ]- M- k, |! Y0 q8 P
    % a6 a5 t9 R" Q5 \crypto第一题:puzzle
    + a% S3 f- q" I2 A; K
    # h$ Q9 B% @5 z# U$ m首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧- i* C9 L1 B, y' X) o

    4 b5 t9 k; D: x1 n* g让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦6 A+ c  ^* W( }

    / i) M9 R% _7 z  r3 B$ j: {4 N所有的一切都是从0开始的感觉,于是就开启了自学之旅" f: u: v8 w  J
    ' J0 V8 H2 x6 C* t$ f2 l+ n
    提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)) j. N) Q2 }) |

    & a( ~( f3 x/ }               2、question1就是分组找规律,与素数有关* {# E, q" S; i/ M
    ; c( @1 A" Y% X2 i0 _
                   3、question2是做的最舒服的一道题,简简单单的高数上的计算+ g" E% I: E) U' I  H5 g
    9 r1 T3 ^2 s* E/ O7 H
                   4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了* x8 H' R/ {7 w& y4 f

    " y- `6 t% I) r; {  d               5、question5是三重积分,与二重积分类似,具体自己去算* t9 j& `0 L  o: e
    1( q9 E, }, F4 y  @" q
    29 c! s: m# |( L# s' i; a
    3+ }2 J% B/ r+ i
    4/ }% D) P, g  {/ r! g$ i
    5- S4 j( n4 j# K" Z6 N
    62 P1 {/ ?1 [0 z% U
    7
    7 }0 b; C6 c9 ?* k' L总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
    8 x+ h- M7 [7 o( h1 n. e
    8 O* F% _1 e: i$ v# K7 Amisc第3题:useasp
    ; `+ T# t! ~+ F/ S7 N; J5 C2 i
    ( s8 C: q3 H7 F3 c鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了
    " j  o" }3 v* s# |) `2 u4 ^! d) I0 A2 g5 d1 F" F
    首先,将文件拖入软件中,然后果然出现了波形
    8 O! D" |# @; }: K/ O! g/ |. h4 S! D" ~' R3 c- F7 z5 \& d0 W
    昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”  Z; b! J0 p/ K( E3 A. m" J4 e

    # }% N$ h9 o  T# |6 f4 y! q% T很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}
    * Y4 C% }' y, T& y
    5 p' u' Q& U" o: y; o! j6 H& K于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
    ; i$ m) p" s. F
    ' p1 ~$ x& ^+ X3 W  B更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。$ }0 c2 p9 |" i1 M

    5 S% Q4 c5 D' W" \% ^1 mweb第一题6 m! c4 `" P9 S+ d( j& l% J" v+ a

    3 T; C3 w+ U7 P7 wJust so so8 U* ]+ K. e3 H( L% m/ j* b% M! _% w

    6 ~/ `' @# p  D+ P& U开始时,用伪协议拿到源码,然后就是反序列化利用了
    6 v7 {' U6 G+ C- {0 r3 y. v# W) o
    <?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'1 M" z  d3 C" O' i" V% B+ ~
    '; } 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(); } }: @- R7 B" C* o$ W
    class Flag{
    : @8 B( G6 B$ S2 wpublic $file;
      _; X7 c  C4 x3 q! L. {public $token;1 S+ U) N9 M7 T: j
    public $token_flag;2 }4 G: _) X  v& Q

    ; }* i& {1 H- rfunction __construct($file){- Y* a7 ?  c! ^1 o
            $this->file = $file;$ {7 s" \1 ]+ k/ B! M5 N5 V. l
            $this->token_flag = $this->token = md5(rand(1,10000));
    - Y  n& ~0 l5 i, n) S}
    ( Z; A; I, o( T" t8 M8 K1 f# g$ l1 N' e  ~# b' M5 ^7 r* W) P0 B
    public function getFlag(){
    5 X$ b7 n9 ^( f, ~% C2 I$ k        $this->token_flag = md5(rand(1,10000));4 x+ L- F4 G" c7 ]
        if($this->token === $this->token_flag)
    $ Y. b' I$ P! b/ L) V9 o        {1 d' l  H. N4 t' e# w7 B7 b
                    if(isset($this->file)){
    , Y' D& t8 J' L- n& g  m, ~7 n2 m                        echo @highlight_file($this->file,true); , c: M7 Q  q; }& l" p3 o* _( f
            }  
    ) y3 R5 q4 Z% D, }    }
    ) i0 D  g: D- Y0 G" K$ i% o8 @3 `' R}6 H! r% X) X9 }  z+ G
    1
    8 T; h" [! B6 G- M2 @+ G4 z2
    ; i+ Q, d1 I+ l32 v. a* W' U- A4 m3 U' r
    4
    8 Z2 _3 L: z* b! p. N; F! E5 {50 b) J( P2 ?( s# y' U1 }& C
    6, p% \1 M' H  _# Z
    7
    # u" }' a9 ~6 X. z82 r3 f6 H' q1 N; g5 H
    9
    5 x) B: Q7 i9 Y( S. _* W# `10
    " B- z, j# u5 {: R117 `( o# u* {$ \, J9 ]
    12
    & A5 x! k) j- I8 c13% |! a+ G# l% P0 T
    14
    ( C& \2 \1 m1 Z0 ~- X  g' H}* S; F1 ]  u. ~% c5 o9 V2 Y
    ?>
      v9 e' w& _' |( k, y& F% D% x2 @ 大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了
    ) I% p! ^* u2 M; s; a, o+ \exp  U6 k; l4 j* Q& w

    - N8 J) T1 C4 [& b/ U2 D4 gView Code
    6 |" X8 c2 n% c6 a2 `+ ^) M
    ( W" }1 a2 G2 L+ X/ i9 |
    4 ~7 w7 T  l7 q( _
    # Z* {8 E! v( ?, Phttps://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more0 k) ~: f% x& j; z

    1 f* P9 e  x0 |/ p8 G总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题
    5 O5 k4 s& ]  e+ y--------------------- 4 J4 [- ^& J4 _* s7 p
    作者:Jeff King
    - H, @! g. m6 H, i6 ?9 Z来源:CSDN
    4 n: G+ D/ d* o5 E3 S4 N" F+ H4 ~: [9 u/ \0 i/ w2 h* R4 I. @
    - b3 G1 G8 z8 ^
    : \9 x. }" D9 x" l- n  |. e5 ]
    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-14 07:54 , Processed in 0.392814 second(s), 50 queries .

    回顶部