QQ登录

只需要一步,快速开始

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

    * [3 m# X; {4 Z3 i! f2019--国赛--第一次参加线上赛的自己的整理
    ! B. W& F# Q" w4 B- \) Gmisc第一题:签到
    $ \5 E. {& D' T, N/ s0 N/ L, V" _- ]+ r. H- m* n
    打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了% v' B1 L1 `# O6 e& q" e. a( l1 `/ b
    6 Z$ B  P$ L( Q( @0 l3 j
    但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
    7 D1 M  N! w+ l9 K3 s: P3 v* V% g# W1 U+ ?* n8 c, g
    misc第二题:saleae, C- U( g* B! A7 x# Y

    % C+ ~$ p. h  h$ R& O+ Y/ y0 X下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件
    2 s6 v7 t" r! m+ s: d5 Z$ C7 m6 ?$ V" [) l. b) D
    下载后,发现其中给的是波形
    3 \  f1 A5 O5 D' X3 `+ b
    ' m* Z9 F7 Q, g0 F+ C5 p2 W; h然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)" q. x' g8 `8 [5 q6 B3 O8 l

    $ `# t* ]' V2 l9 K; t; H% {8 O' p; {当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串
    " Z8 y& T" f! e* j' I2 h% F
    / }9 L$ A! Y" g" gmisc第三题:24C- o& q7 {- M- _
    8 F: ~* ^/ S2 i! B# l* W
    与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
    $ Q  C9 q; V4 z9 C5 w/ D5 J$ D
    ( E5 m2 d5 d2 ]* [! |6 _crypto第一题:puzzle4 g; b; Q6 C0 Y5 J, v; M

    " l7 i) t7 b0 e! v% d首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧
    1 a/ s% ]3 P- O0 ?* Z2 v9 ?- z% @4 j3 K3 L
    让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦
    & k1 k5 U/ ?7 V9 r1 }, J; }8 u" O" p1 R& c- s/ O6 E
    所有的一切都是从0开始的感觉,于是就开启了自学之旅6 h  i, x3 q$ D3 l! s$ F( F* |

    $ I# v6 b0 N7 Z3 ]提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)
    " D+ P; C( o  Y0 f3 V+ d* I6 }
    7 i* c* u4 h: x               2、question1就是分组找规律,与素数有关2 p. Z" O2 {$ \. g& N8 y
    ' V: N/ @0 L! _$ S" D
                   3、question2是做的最舒服的一道题,简简单单的高数上的计算$ m% {: e* S* _
    # g$ `. O! G! \
                   4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了
    3 b6 e2 N$ _5 a. z
    & a" p" J" |( y               5、question5是三重积分,与二重积分类似,具体自己去算
    / w3 Q6 `- O4 ^# r8 f3 p1
    0 N7 d$ X, E( N: ?, r2
    8 }- c! S4 u( N- X" l+ Z9 a0 g3
    1 W7 `+ v; t* z4' l: _- ~$ q+ z9 B
    5: ]% c0 F! F( A' p
    6- y# j) j5 I2 L
    7
    ) a, S9 }! R6 G3 h- b* {& m总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
    $ P0 u" L% a/ x( I- d
    9 s- m! }, s. Amisc第3题:useasp
    ' w0 T- ~) M' y, O# o9 W( v- D/ I) ]* C  L- Q; m6 ^3 l- T4 r4 f
    鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了
    / a- u% t( u/ G! W" P
    ( u" _" ]" [% S! a8 G首先,将文件拖入软件中,然后果然出现了波形; v' Q, s" n: L& ^0 M9 b
    " A3 l: d! S" e! @! |* K" X
    昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”
    ' S  z# R3 [4 Q- j* R% Y+ a
    ( l# }% [5 ^+ K! @) B/ v3 z很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}& {' M  ?6 Z6 w8 g. |, @- h

    " w9 Y5 ?0 Q8 k1 b% V于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。0 _0 @0 ?5 y1 Q1 ~/ {: i( B

    4 s& w; Z* M, H) w1 V1 B8 m* s' z更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。$ f2 b' X) ]! [. y7 j( z0 x8 S
    1 ^4 g5 }3 ]2 n* ^
    web第一题; w& K, W. k" V) s$ D5 w
    $ z4 f$ j" U& ?
    Just so so; B5 G0 D5 \4 e0 p9 W- E
    ( }8 M' @4 C& k+ N8 B
    开始时,用伪协议拿到源码,然后就是反序列化利用了
    2 ?( {7 \1 r9 |; p, m
    * A- \" o' k: D' j+ O) B+ v<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'7 ?+ C4 U9 x3 b6 `: d
    '; } 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& [  K  Zclass Flag{
    # f: U9 Q" _* r8 ipublic $file;: g3 n; A& C' H) t0 s& z. q* n5 h
    public $token;
    1 U0 F5 d0 D& a' J: ?! apublic $token_flag;* g( B$ y. Q! A5 W& A% L+ @( w/ \

    / S, T. H4 S; Pfunction __construct($file){
    0 x! @9 j8 L& V: A        $this->file = $file;8 o+ F/ u9 G2 e; p$ X" X
            $this->token_flag = $this->token = md5(rand(1,10000));
    : i- R8 A$ a* n, }$ {8 ^}
    8 u6 w. |3 y7 k( i, E0 z4 l- Y, Y5 ~" ~1 z8 Z1 d( P
    public function getFlag(){
    ; K* s& @  @* p- Q, H        $this->token_flag = md5(rand(1,10000));/ r# Q( r( K4 E
        if($this->token === $this->token_flag)
    $ f0 x, w  n" w- r; {% f6 n        {5 M7 p' O& S/ M+ d
                    if(isset($this->file)){
    + K: S' m) C0 x$ T# W. Z: K+ S                        echo @highlight_file($this->file,true); " X3 m& v! |1 N0 B, \
            }  & S4 P- J0 G4 u5 ]9 `2 I# V
        }
    6 A0 `/ X+ O+ g* I' X* E1 L. g}
    / U! C; O  g0 `8 z0 Z1
    - i$ ]6 U# f# a2 f  W2# k- a( a3 V1 _. L7 K! D
    3
    . o. c/ [4 k9 |8 a# b4
    ' F" B$ \7 X0 k/ C0 K8 {/ p5
    7 M. Y1 l& p, c( h+ d) ?7 H% b62 g8 o! n' ]* C
    7
    * U5 i7 C) Y% d9 c* }( s0 Q8 ~83 K8 K7 c1 B3 B) q
    9: G* }( @! N! M' }; ^* S8 Q' D
    10- N, ?, |8 _6 p3 A
    11
    0 P7 |7 v6 N9 U2 h- ]+ a% _+ P12
    3 `" p( |% P) e* D  I: G13
    . D0 Z6 |) p7 v# i2 Q14
    ( M* X6 ?7 w: E( c) K}
    " K, {( A/ M& ]/ {0 n?>) l6 e  b( S; [* Q, D0 R  g0 g
     大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了$ f1 l0 Q& z6 p8 d' K2 `# g
    exp! S3 {  q  L+ G) ~- U
    1 f' a6 c( N! V0 f' {% u4 Z) ]
    View Code5 F9 N0 @# C. c  ~) P3 ^! Q% }4 N

    / P8 D% |4 I- v. I3 h
    5 h$ Y0 U( O1 G. G
    & M2 x- a5 R  F/ w3 q# U3 Yhttps://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more( }. c: X  I- P! q
      A2 h4 o7 Y- N: G
    总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题. q6 I% J$ j' `/ H, l; x' [
    --------------------- . a  g: i4 J" b/ I4 @9 w
    作者:Jeff King 2 d/ `2 j/ B/ ]# l( E9 [# `/ t
    来源:CSDN
    4 m( g+ o& A: o3 C9 O
    " d: m9 ?3 j+ z! ]4 o/ k
    0 o+ L8 \7 h1 I' d5 S( O. b" V/ t0 i! R5 y* j& z
    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-7-30 00:49 , Processed in 0.408218 second(s), 50 queries .

    回顶部