- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565631 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174912
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
% m: Z) U& `; W; S6 o: K" o( e2019--国赛--第一次参加线上赛的自己的整理$ f V- x+ y9 H% e1 Q" J" F- Y
misc第一题:签到
0 ~/ g0 n6 `# e; ^& I5 }: c/ Q
4 K& L1 Z8 t; J5 F打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了6 L( C' x0 p r, s" F5 I3 H* |
/ n% j9 O6 q8 E F& i7 e/ @
但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
. G0 B3 W+ Z3 g* `( c6 ]" p+ y2 s3 c: J- U7 K
misc第二题:saleae
4 i G* }9 b6 A8 v" ]# `' n8 t- \! f
下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件0 H- G$ V) G" U( Q3 V, A+ h5 \
. S6 w! b, B: p) ~下载后,发现其中给的是波形
) |2 ?! C' O8 y/ |+ M: U; ~/ Q" c Q. e; n& u% A8 f
然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)
" _0 V* [4 a( s8 F
& P( J9 J9 Y9 o1 C; ?当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串& H) {! W) f/ a( D7 `4 v
: ~) I3 w, N5 L# lmisc第三题:24C
2 [% g+ ^' l9 V8 @, e7 Z$ P& h! ^: D6 H. O( N E# ~
与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
% A7 ~- ~- x6 W2 S% g: Z' E- I
" r6 |6 |' z( R% x/ e% t+ Q, {, d2 jcrypto第一题:puzzle9 _: I B& ]8 b0 S+ \' E
# V+ y+ ]2 r* q; `9 Y+ G首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧* }" K) y$ y# A. O, |
% c! R# H6 [% k5 Y5 _ X0 B让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦# t7 f; F2 w8 Y* P: P" `
6 t H% ?2 U; Q* Y' @所有的一切都是从0开始的感觉,于是就开启了自学之旅4 G7 ?) n% Z+ Y" R7 m7 w
2 d+ N* P; f Q6 X/ E提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)
: l5 t, y% ^2 m7 B- ^+ Q
7 t8 g h6 X5 B 2、question1就是分组找规律,与素数有关7 |2 R* \/ i# J! [" O9 b# |
! \( P0 H: ?- _# N/ P
3、question2是做的最舒服的一道题,简简单单的高数上的计算
, ^# [2 Y* ~! t7 g) D, j! o8 C% b; z u
4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了
% h$ {' ?# C3 H6 |. L# j1 E9 m2 P/ w; m& Q0 E4 u1 z; x5 Y
5、question5是三重积分,与二重积分类似,具体自己去算3 z1 G3 M X+ U: ~; y- Z5 W' i
1' L! H3 x+ j2 J' M
2& S W# i9 T/ W7 J& |' K5 {( n+ ]
3# ~7 K6 [$ V) S' k2 s5 i# j
4
5 S9 ^* _, m, t# @) X: N5
6 k( B v' n$ ]7 A6
; D! s( W: ~3 g. s+ z7& x6 S: u5 v" Y' }/ a+ o: H' j* ~/ z
总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数; ]1 B- P' x) X1 E, B
) R0 i- z9 L4 o- L( P- E; [, ?* Z+ hmisc第3题:useasp. R. k/ ~8 `* w7 L. ]# l' i3 Y
! Q6 r" v+ ^' X鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了
4 |) }; o7 j) z8 K2 m6 S& S2 F6 F$ J
首先,将文件拖入软件中,然后果然出现了波形
: F j' g# ~! I9 L" R
$ i' A! x+ }) r& C# H昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”" B! L9 X5 L3 ]% A6 R/ g8 k
8 ^4 `6 U. `/ ~ X3 ~( V( W很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}* Z) q2 L0 W$ b
+ D- v6 ^8 T2 B" O
于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
- ]/ `' w# v, u: X' ?, C/ p$ u, U- p
更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。# v9 @) B: H5 A3 p) f
$ |4 m$ V% F q; R! z+ ~; d
web第一题
8 ?) R# q- i8 g2 r1 o5 B* d$ n; N9 C2 W+ T3 ]) w Y$ q
Just so so
3 h" Y& I1 ]8 q' a) P- H8 N# [2 R/ ~
开始时,用伪协议拿到源码,然后就是反序列化利用了( Z$ |# I3 z) o' y0 P
& V: G6 \# L' v0 V<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'
, {& a$ D1 P6 x( t' [9 T- k' E7 {2 ['; } 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(); } }( M) A* x- z# w% i' {
class Flag{) I( [# E0 l; \% `1 S* j8 W
public $file;
* B3 Q' K5 F1 B1 bpublic $token;3 d V. Q% @) j# [
public $token_flag;% a9 H1 F K6 y9 M/ O, Z
+ F k) E5 L/ }& M& k+ k7 v8 Q: k
function __construct($file){# z" A- p- A; _8 P- o- f X+ _
$this->file = $file;
" i+ [2 c5 {; x" Q( [4 S $this->token_flag = $this->token = md5(rand(1,10000));
9 |: }3 n5 H# K& a. v}6 \9 `$ i0 i% s* X# M$ H1 r4 G |
& u9 a) I# w* n% _public function getFlag(){
* P3 I1 U% s1 V1 M $this->token_flag = md5(rand(1,10000));, a4 |/ n3 c1 n
if($this->token === $this->token_flag)
7 h$ { b7 e `- h {2 c- j6 ]# m0 R. `
if(isset($this->file)){
9 X* X2 s/ e' w/ F2 e( r echo @highlight_file($this->file,true);
7 V$ F5 z3 K$ J( ]) V8 C }
% K4 G: W& b6 |3 ~2 {: } } e" n0 V4 o. u
}
/ Z. u- O' J3 X7 d/ A( }1 N' x5 {) ~. Q$ P7 r' N
26 V0 F/ v; `9 W* b# j: a4 s
30 ~1 T$ U+ a. W& g. B4 j
4
$ W) [ } D( a2 }5
- l4 l/ N2 m3 U0 O, x: v6
1 S# k7 p/ i. J' s L) x7" D7 x E- Z" L- y3 ]
8" U5 y9 a/ h3 E! U4 ]9 K }( y
9
& j# u8 h9 @" x2 V4 D+ f* Y106 I- r; {# ?5 F
11+ f" ?- ~! F. {/ O6 k1 F4 M
12: r( G8 p W2 g$ E( a9 c
13
' Z }$ C% P1 I# j* `145 [ U; K5 d! Y1 {3 k. ~7 a7 L' y
}0 v7 z8 ]( I- Q' L* _" P
?>
0 u& @+ f' B! O" A P 大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了( h; O% C5 `# ^" g/ e
exp
) N' | t, q h0 w* r- h; N& r J- j4 X! t
View Code
; t2 s& n7 `3 @& S3 j
+ _! P' b% V/ j' R- {% h+ c/ z: `
$ j; R) f# I+ M) z% _) q: ]
9 c- H- Y/ W6 o8 j4 |5 Rhttps://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more: `7 T1 D2 d1 ~% J
7 b! r/ g9 z# r& [: Y/ i
总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题7 q' y1 F7 L; S# `# a
--------------------- - b0 U8 f4 P1 f0 b G
作者:Jeff King 1 u# J0 R( H0 E Z; N/ ]
来源:CSDN 2 S) N) l% g, U( x
R3 W; T1 Q4 S2 S( v1 ~
+ G- @0 m, W9 M/ `7 K( t+ C
6 x2 G( b0 f' u3 r- E g. x$ |8 C |
zan
|