QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2218|回复: 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
    7 Q% |, j+ V" |+ X3 S( T, \) w
    2019--国赛--第一次参加线上赛的自己的整理/ [$ S, l8 N# P. q9 A
    misc第一题:签到0 \% `0 @8 r5 K1 x$ u8 r7 I

    / c9 Y  w* D4 m% p打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了
    8 i7 c! f+ Y0 e  b3 m& S  h7 ~# M+ a  w# N% E* j
    但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
    . K, I1 X1 q' i/ u3 W4 `/ V
    5 m: g4 o/ x8 J8 h0 T/ gmisc第二题:saleae9 z. h9 n5 R4 K; s3 ~

    5 c) M9 S3 Q- ^# V0 @- s下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件
      l0 f) A4 B* R5 L/ i/ o5 l: ^& H' z" ]* G) P% r+ W
    下载后,发现其中给的是波形
    # a! L5 N; a: |# O" K9 t' \3 v6 I1 E0 W+ |
    然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)2 z& }4 `( a$ v5 n
    ) r$ ^8 w3 f& t8 I5 ^
    当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串, @( ]7 E: v8 p! U$ R3 k1 r
    * O- u% K: Y$ Q
    misc第三题:24C" m* K8 @3 T3 }- C5 e# A( [, d

    * ]6 v& R3 m1 x, D, {9 G& E与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
    5 z2 A- m) r) l0 B3 ^% ^
    - v7 h2 W# ?" q# L% \" acrypto第一题:puzzle
    # g" t) e0 T5 Q6 b& o. U; `+ t( u9 Z9 B9 J: S( s1 ]
    首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧+ T0 F5 C: w" g0 m
    / u$ I9 Q) s9 y4 D4 i. z
    让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦
    / z2 y2 s! @& E2 |  S1 C3 h) C+ |+ B: x$ V* l; h+ w+ T& V
    所有的一切都是从0开始的感觉,于是就开启了自学之旅, C- U2 u1 K/ U7 S! A/ j
    ( N) O# k3 e' v3 C) v% [" r; d
    提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)
    2 i4 H  Z7 Z6 j- L: G
    & P( z& k" W! A  u5 K/ w& g2 ?               2、question1就是分组找规律,与素数有关
    , g# F7 h- O6 w
    , h. K9 o1 J" x' M$ \/ J3 {               3、question2是做的最舒服的一道题,简简单单的高数上的计算
    ' V) q& u$ E+ b) G9 \: y' ~& C# s$ o
                   4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了
    $ C- d, Y# P' h- N1 l! S& E
    3 ~( B3 {* Z' w" B               5、question5是三重积分,与二重积分类似,具体自己去算
    % Z/ U( U, A) h1: d2 V0 ^) `, W7 \
    22 p4 H3 w# j" O/ \- j! L+ R) [; }
    3
    4 Z- b/ F- ~# [4
    * j3 s) }# @) `7 U* S$ a5 t6 k5
    ) `6 Y* P  X9 ]- r6
    . S* e7 ~3 [1 P: i% \9 _8 f7
    . y! L; ~+ d; i; o' c% t总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数6 {( c8 s0 d3 m: Y3 i
    4 B  x. N  |, v; e6 {& I
    misc第3题:useasp5 w  l/ Q4 c5 H; h( C

    ! q, m/ }1 |" n5 j- G鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了
    # ^! x5 v  O7 M. m7 e* b/ R  q2 K6 W
    首先,将文件拖入软件中,然后果然出现了波形; o, ?# U: e, X5 y
    1 b0 f0 Z: \# c8 F% w
    昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”
    ) S; d* u5 X! a1 R9 n# c! S7 n8 p; n5 I( ^. Q: ?2 Y. n7 Q
    很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}
    : j7 j% h+ b8 |7 Z4 ]
    " C! h# d) o) S  I于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。% e2 k( M, A; X0 p& ?

    ( T9 `0 d9 Y. U) r  e  M更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。
    ' S3 B; m5 o5 }
    : ]4 Z% L8 ^. o0 P+ Jweb第一题
    * }6 @7 k: p/ P+ V4 n: g
      P# Y8 z1 {0 n/ M! sJust so so
    7 n  `/ ^* v  F, w& X1 Z
    ; c8 A+ B5 a" Y6 q开始时,用伪协议拿到源码,然后就是反序列化利用了+ \4 ]- n: d, e/ S" ]2 u( a) U3 a
    * H+ b9 K+ r( C9 b0 j- {& R
    <?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.') v. Y" H( w' J4 Q# N2 R4 ]5 U
    '; } 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(); } }/ H, U4 A( x# @' N
    class Flag{
    ! A) j; f# x1 n/ y. apublic $file;- c" }! u: G/ l3 c  ~
    public $token;
    , s, j, w# r2 `! I. k: h8 apublic $token_flag;. v  w7 K/ N3 ], ?

    5 r( G9 K# X/ j; A* \function __construct($file){
    9 M, p# _5 [+ R; V7 u, W6 h        $this->file = $file;
      e5 Q6 J" \1 E2 v, e. R/ Z        $this->token_flag = $this->token = md5(rand(1,10000));
    : ~1 ^" d' W- ^# T8 c( ?/ k}
    9 W! f+ k% e. ?0 c6 S, y! v4 O) a' W/ x1 m9 \( Q
    public function getFlag(){
    , V( u$ S: E, N8 Y3 I        $this->token_flag = md5(rand(1,10000));
    ( B7 H* N/ ?: k# F& y9 g3 K    if($this->token === $this->token_flag)0 f6 X' X/ J5 y6 B2 Y1 P9 r$ i; G
            {8 B0 R! S, G- O0 O* Y6 f2 e
                    if(isset($this->file)){0 `' x- W$ A/ u3 J1 J0 x
                            echo @highlight_file($this->file,true);
    ' s. B3 Y9 _9 i        }  
    , ~% B+ F1 }4 B! l" \; H    }; n+ k% h( U" G1 J1 h4 e* B8 k
    }2 U$ p( d2 V: v
    1
    % N+ k( H9 r: [2
    5 \) V2 y3 F8 q* t3
    9 o4 N: j: Q: Y7 q9 X. P* ?42 J6 D) f" q+ m) _  P6 ]
    5
    5 B4 V& y' f* A0 T: A& _% m  h- e6
      S& J6 ?- J5 f7
    6 ~2 Z' Q0 d' K( X* c8+ ?4 {" `3 \& N! [4 L6 _; e6 k/ }
    9
    4 ?1 ]; c* h' Q# R10, s7 p5 Q  `3 W7 i0 b" a4 ~
    11
    7 q/ ?' K& j: E& X/ i- b12( q% H( b: d( l7 f
    13
    7 W7 P8 C! i# C# J1 n' J148 _8 F+ ?0 Q4 a3 M
    }5 Q. w/ J, w- c% R0 Y; E% h" y# r
    ?>0 Y' t% N4 v/ Q4 G6 [, w
     大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了
    0 g8 v! Y! D3 zexp
    ( d4 Z* h2 h0 q& D( b" X
    . D, _7 V5 {/ ]4 gView Code
    " @5 ]6 R$ _6 a8 d# n$ f- f& L9 ~5 n8 T: J: e* N

    7 F% d8 ~! [* A3 d) o: {1 i* D2 z& D( J/ z, F3 G6 D2 w
    https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more
    9 Y! q/ t9 i- e
    ! L6 T' c7 I* {, A9 F$ \总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题8 @' h$ G$ e# C8 e" F  |1 r; H
    --------------------- & t$ F9 _! P. O3 V& ?
    作者:Jeff King   H# K5 n" y/ ?: L( F
    来源:CSDN
    * Q* M9 }+ e4 [0 ^7 X' L( X9 Q0 q1 q" Z! S# D
    0 z7 f; s( [0 d( @2 L% H
    ( m! y( I, c' d' n- T6 u% E, q# ?
    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 03:31 , Processed in 0.355702 second(s), 51 queries .

    回顶部