- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565639 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174915
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
* [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
|