QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2080|回复: 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 s' O6 o9 L) O2 L" H  z: o! q
    2019--国赛--第一次参加线上赛的自己的整理3 N+ S$ u. E  `" h4 p$ F0 g
    misc第一题:签到
    4 F5 e( l" F; j
    : m* D( d) V& [, `- e' l打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了7 r( m1 z! I& z# x1 i0 e

    : M/ a# R+ Q6 P: c4 D7 v但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的' z; \! k, D) C$ \
    * u- g. V6 Q& b% p! a0 b  f( o
    misc第二题:saleae, G/ H- v! E2 Q/ z) E9 S$ h5 B

    : N  B# A3 X, d下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件# z0 B9 S, y: q

    3 f) o* S$ F5 k4 C% ^1 u下载后,发现其中给的是波形2 d0 a" u* q  C; F+ x  p

    % n/ V" I$ q1 ^0 G; `然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)
    9 S) d/ Y- ?: [" F. Q. L9 I5 a! n7 D9 E4 q
    当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串
    ) w8 L0 `1 a. }7 x5 r# g! l! T' S: P4 Y& w( E; {
    misc第三题:24C, X' y9 E4 s: K$ R( g" G8 C
    + G& R) {8 H! }) ~$ Q8 A% h
    与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了# ~8 }/ l+ G) z1 P5 V

    / p  {+ y" z- Fcrypto第一题:puzzle
    3 D7 H" E6 a8 e; g; T* F3 R/ c9 T3 U1 h% o+ O9 X, f* M2 [3 N- K
    首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧
    0 a3 K+ r3 u4 W  ^- k! e3 e, I
    - U1 R* C( V3 E( Q% |让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦
    8 A; Q7 I- @. j- F0 N2 j( H5 W2 F$ [' L- P6 V
    所有的一切都是从0开始的感觉,于是就开启了自学之旅" B8 L' m. N0 y9 ?& [5 G$ s
    / u+ @5 I0 c# Z% F6 Z) K
    提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)' L( D! d3 M" S- r2 s
    5 `$ @% l; p8 x: ?  v6 H- X
                   2、question1就是分组找规律,与素数有关
    % t8 j/ |$ X# }  v' r: m( _: Q$ O! C  s
    0 I0 j, N  Z  T6 _4 U5 O* [5 ?               3、question2是做的最舒服的一道题,简简单单的高数上的计算
    1 Z6 C6 ?' s: A" [! j/ Z4 p' F- e! l. x' Z4 Z
                   4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了" M# |' k- i' r6 M& a! e% w9 @1 V

    6 V5 {, t0 E7 _* h- V               5、question5是三重积分,与二重积分类似,具体自己去算
    7 W) g' V8 ]* u" O. x& |1
    6 X% X( j  U1 y21 j. {* }% F! E. N# `5 z; `
    35 d  v3 A7 c* }- k4 r& z$ P% {
    4& _, n: S' u1 q9 o' o
    5+ o- I8 v4 F* P+ {1 D; b7 {
    6+ E& e3 x; W( l6 Y/ s9 }3 W8 P
    7
      i1 q# k; x8 u总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
    / N  E5 `# Q6 F% i8 v" G- W, m
    # Q! l6 }! V' t" ]. c) gmisc第3题:useasp" Y* Z- c' V5 x! M% }; u$ O& B
    * _- a% @0 y! x8 T2 Y
    鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了
    7 B- a1 G# y2 a( K5 V) P, ]) B6 B' j5 ?! s# p
    首先,将文件拖入软件中,然后果然出现了波形% e2 g5 J& K( l' S1 X

    ! R! v" {% P5 G6 v% L, {昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”: M  e! G3 D$ b5 K8 @  f% L  A
    * h5 X# j4 D0 H: t/ G
    很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}5 E  z" F7 M# ^

    . {% ?8 R; q2 ~- ^* H于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。# C6 X) d& a' ^0 m- n( g

    1 p5 n/ J7 C6 d5 L7 ?# Y更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。5 O- Y. Y! U* R- c0 u- x

    4 f6 z( p! s0 u! J" V* m6 Pweb第一题/ R1 L; s: |7 @9 B% [/ o/ E
    9 C2 ]8 u+ t, y& P$ o
    Just so so
    7 u, F& `# \9 B8 K: o
    4 c# b2 g; ]1 y/ ^0 `开始时,用伪协议拿到源码,然后就是反序列化利用了
    - ]3 ?2 v' f5 B# ~6 u9 F8 v# A9 Y  A/ u$ X
    <?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'
    5 u, U9 L# G9 s4 _) W'; } 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(); } }
    " J8 h# Y( {0 Fclass Flag{
    # j7 t/ V& W( u" b2 [  s2 Rpublic $file;
    ! i' x# {* Z- B! ?/ Tpublic $token;7 ]3 c7 g/ s# d$ h- `
    public $token_flag;
    3 @+ e. @( W  l% Z& G0 g& m. w4 n% Z
    function __construct($file){
    + ^' g  F3 f& j- E        $this->file = $file;
    % n' K& F1 L$ i' z* I        $this->token_flag = $this->token = md5(rand(1,10000));
    2 X1 j% A6 S5 o2 g6 p3 Q}
    2 h, x) E  _! A
    1 n6 r4 o/ V7 p, W" Upublic function getFlag(){, N+ p6 J# Q0 s/ Z- E8 g9 @4 t
            $this->token_flag = md5(rand(1,10000));6 p: t; F- I/ o( x/ T) Y
        if($this->token === $this->token_flag)
    8 M0 J8 O" W2 r$ {: I3 ]        {
    # t$ M% L- x  g9 e( x                if(isset($this->file)){1 i/ o" G, _2 W& I' y
                            echo @highlight_file($this->file,true);
    3 {' ~/ F9 ]2 h( ?- M        }  
    ! ^- f6 m1 e, B" }$ R2 h. I    }5 A& g' k3 \. _* }% {+ }
    }
    9 i) Z9 N: Z; u6 G- m' M1
    " J7 _* u: P4 j6 O3 t( Q7 c- ?2
    + {9 U9 M! s- R( K: p4 L3 B3
    7 |0 E0 `' t* y+ ?" d$ j4
    ) h7 Y3 p/ o0 S+ G5; v1 k$ {* d8 w3 [+ \
    6; [4 |0 s% K$ @. }/ n4 C
    75 y9 v) M3 g0 X- N. B
    8
    + M- B0 H- ?5 Q) t4 I, ]0 h$ e0 J8 d9$ _0 k; }* `1 e' D8 Y) W; F. v  f$ Y
    10! ?# i: g& d) o* Z$ ]) p! L
    11; o6 Q: F! e. m- l4 N: G8 J
    12
      T+ _  M& S! s0 e136 W( x4 N9 b5 q  h) c
    14
    6 O2 c& W4 f  }& Q  d8 T% o5 i}# y5 A' h' O2 c4 ?
    ?>
    & `) N) }) d7 g! d8 g/ y 大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了
    8 U* @; u5 z6 e1 Iexp
    . K- d, z& o2 w+ g1 y
    ) Z5 \* r4 {  C- x2 U  jView Code, Z* [$ T! ]1 H5 k

    2 \. f/ J3 Q' C" u6 u5 i+ Y, p, E/ J# @4 f8 M. ~
    1 ~6 Y2 M" O. v* c4 |
    https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more
    " J( p1 j8 I- k. ^* U+ _) z) n. j8 J
    总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题
    * [' Q  i$ t% ]/ x8 _$ ^5 l--------------------- / x1 V5 g, B, c; s
    作者:Jeff King
    ( y& V6 c  Q! Y+ k7 r来源:CSDN 9 `- G6 l% B  i- u7 C$ |
    : m& V1 a7 Z$ s

    3 `+ U" r/ K4 o& e* x
    , ^( T0 j: D0 \  t6 f& 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, 2025-9-17 03:18 , Processed in 0.444820 second(s), 50 queries .

    回顶部