- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563323 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174220
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
8 T" V. C. d9 t% w) Y' y
2019--国赛--第一次参加线上赛的自己的整理" g* X# e" X* _( b0 A, g; m
misc第一题:签到. f5 i/ `: m: U, _% v) z( p9 T
5 B N& K% _" D) L& i
打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了
/ E2 E$ J' [' D5 ?% O; G! e
! @5 i5 C7 i' {7 D+ |$ L! V. W. s但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
% ?0 w9 I8 V4 E1 H N9 S+ L
# J3 p+ c5 j& W9 vmisc第二题:saleae
) {5 R1 k) O% `% |2 `( b6 {( c8 @) T( ?, v5 I
下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件2 C) a9 d1 r, h; Z
) M5 s; p5 J6 O( }3 t# K
下载后,发现其中给的是波形7 |) y+ b' r2 B- O) O+ u
1 K N. n4 L: X7 l" P, t. V7 b
然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的): ?. E! o# \) i
8 o; w2 w) f: H$ t当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串) t2 r) G$ S* u$ S- d( r
" u! Y1 ~9 b/ z- J% k. ]$ {% F
misc第三题:24C
- o) e7 G0 ~+ [) N# q& E8 V6 ~) w" ]/ P" Q9 Z( r
与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
' ]- M- k, |! Y0 q8 P
% a6 a5 t9 R" Q5 \crypto第一题:puzzle
+ a% S3 f- q" I2 A; K
# h$ Q9 B% @5 z# U$ m首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧- i* C9 L1 B, y' X) o
4 b5 t9 k; D: x1 n* g让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦6 A+ c ^* W( }
/ i) M9 R% _7 z r3 B$ j: {4 N所有的一切都是从0开始的感觉,于是就开启了自学之旅" f: u: v8 w J
' J0 V8 H2 x6 C* t$ f2 l+ n
提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)) j. N) Q2 }) |
& a( ~( f3 x/ } 2、question1就是分组找规律,与素数有关* {# E, q" S; i/ M
; c( @1 A" Y% X2 i0 _
3、question2是做的最舒服的一道题,简简单单的高数上的计算+ g" E% I: E) U' I H5 g
9 r1 T3 ^2 s* E/ O7 H
4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了* x8 H' R/ {7 w& y4 f
" y- `6 t% I) r; { d 5、question5是三重积分,与二重积分类似,具体自己去算* t9 j& `0 L o: e
1( q9 E, }, F4 y @" q
29 c! s: m# |( L# s' i; a
3+ }2 J% B/ r+ i
4/ }% D) P, g {/ r! g$ i
5- S4 j( n4 j# K" Z6 N
62 P1 {/ ?1 [0 z% U
7
7 }0 b; C6 c9 ?* k' L总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
8 x+ h- M7 [7 o( h1 n. e
8 O* F% _1 e: i$ v# K7 Amisc第3题:useasp
; `+ T# t! ~+ F/ S7 N; J5 C2 i
( s8 C: q3 H7 F3 c鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了
" j o" }3 v* s# |) `2 u4 ^! d) I0 A2 g5 d1 F" F
首先,将文件拖入软件中,然后果然出现了波形
8 O! D" |# @; }: K/ O! g/ |. h4 S! D" ~' R3 c- F7 z5 \& d0 W
昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag” Z; b! J0 p/ K( E3 A. m" J4 e
# }% N$ h9 o T# |6 f4 y! q% T很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}
* Y4 C% }' y, T& y
5 p' u' Q& U" o: y; o! j6 H& K于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
; i$ m) p" s. F
' p1 ~$ x& ^+ X3 W B更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。$ }0 c2 p9 |" i1 M
5 S% Q4 c5 D' W" \% ^1 mweb第一题6 m! c4 `" P9 S+ d( j& l% J" v+ a
3 T; C3 w+ U7 P7 wJust so so8 U* ]+ K. e3 H( L% m/ j* b% M! _% w
6 ~/ `' @# p D+ P& U开始时,用伪协议拿到源码,然后就是反序列化利用了
6 v7 {' U6 G+ C- {0 r3 y. v# W) o
<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'1 M" z d3 C" O' i" V% B+ ~
'; } 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(); } }: @- R7 B" C* o$ W
class Flag{
: @8 B( G6 B$ S2 wpublic $file;
_; X7 c C4 x3 q! L. {public $token;1 S+ U) N9 M7 T: j
public $token_flag;2 }4 G: _) X v& Q
; }* i& {1 H- rfunction __construct($file){- Y* a7 ? c! ^1 o
$this->file = $file;$ {7 s" \1 ]+ k/ B! M5 N5 V. l
$this->token_flag = $this->token = md5(rand(1,10000));
- Y n& ~0 l5 i, n) S}
( Z; A; I, o( T" t8 M8 K1 f# g$ l1 N' e ~# b' M5 ^7 r* W) P0 B
public function getFlag(){
5 X$ b7 n9 ^( f, ~% C2 I$ k $this->token_flag = md5(rand(1,10000));4 x+ L- F4 G" c7 ]
if($this->token === $this->token_flag)
$ Y. b' I$ P! b/ L) V9 o {1 d' l H. N4 t' e# w7 B7 b
if(isset($this->file)){
, Y' D& t8 J' L- n& g m, ~7 n2 m echo @highlight_file($this->file,true); , c: M7 Q q; }& l" p3 o* _( f
}
) y3 R5 q4 Z% D, } }
) i0 D g: D- Y0 G" K$ i% o8 @3 `' R}6 H! r% X) X9 } z+ G
1
8 T; h" [! B6 G- M2 @+ G4 z2
; i+ Q, d1 I+ l32 v. a* W' U- A4 m3 U' r
4
8 Z2 _3 L: z* b! p. N; F! E5 {50 b) J( P2 ?( s# y' U1 }& C
6, p% \1 M' H _# Z
7
# u" }' a9 ~6 X. z82 r3 f6 H' q1 N; g5 H
9
5 x) B: Q7 i9 Y( S. _* W# `10
" B- z, j# u5 {: R117 `( o# u* {$ \, J9 ]
12
& A5 x! k) j- I8 c13% |! a+ G# l% P0 T
14
( C& \2 \1 m1 Z0 ~- X g' H}* S; F1 ] u. ~% c5 o9 V2 Y
?>
v9 e' w& _' |( k, y& F% D% x2 @ 大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了
) I% p! ^* u2 M; s; a, o+ \exp U6 k; l4 j* Q& w
- N8 J) T1 C4 [& b/ U2 D4 gView Code
6 |" X8 c2 n% c6 a2 `+ ^) M
( W" }1 a2 G2 L+ X/ i9 |
4 ~7 w7 T l7 q( _
# Z* {8 E! v( ?, Phttps://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more0 k) ~: f% x& j; z
1 f* P9 e x0 |/ p8 G总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题
5 O5 k4 s& ] e+ y--------------------- 4 J4 [- ^& J4 _* s7 p
作者:Jeff King
- H, @! g. m6 H, i6 ?9 Z来源:CSDN
4 n: G+ D/ d* o5 E3 S4 N" F+ H4 ~: [9 u/ \0 i/ w2 h* R4 I. @
- b3 G1 G8 z8 ^
: \9 x. }" D9 x" l- n |. e5 ]
|
zan
|