- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565745 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174946
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
: m& @6 Q% @+ j2 z2 ]0 z# u" |2019--国赛--第一次参加线上赛的自己的整理, T& }8 S; G4 i0 C; c; g
misc第一题:签到; a' t) x8 S) A+ n$ g+ L& T
$ n2 l; `& c& y, b4 D v打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了
2 t; y4 y/ w% T; d6 x3 m# I7 Z3 e
- |. m) B! M' J! h% Z但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的7 K9 f- I& v1 Z0 t- a; g, n8 Y; Z% r
+ _ {1 R8 M' E4 ^' Q$ p
misc第二题:saleae
9 p; F8 v, E3 Z0 w: }+ j! u3 b5 }6 l- [
下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件
; ^: }9 v# b$ c# c7 V4 ^! F0 w
: D7 H7 } O$ ^2 \7 u6 R! S下载后,发现其中给的是波形* Q1 B' j0 n6 L# r2 }3 X
4 h( `5 c, o. d/ ]) j' N然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)/ P. L0 D' l! U6 L1 H
: m+ E7 F8 b% A- l% @: O; u% I% R* I当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串
) f0 k D0 o7 U% t9 G+ y2 m- C* m7 q1 V8 V. q C! Q
misc第三题:24C
f! ]/ R- w1 l9 j% s7 o: [5 R9 a9 i4 k1 w
与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
8 N" B X* J% @2 v; }" ]5 a9 v: g9 y2 x9 f3 D& U
crypto第一题:puzzle
8 }/ m4 |2 X0 A8 i5 c5 b: ^' ~! u6 T' v" z) t' B
首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧
5 U+ Y0 G8 o# k6 |& ]' ^
4 s+ k$ F3 N- k2 O' e让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦
2 t J! |2 ], s; e d; I( T, D# T, T5 U0 R1 h0 @( y
所有的一切都是从0开始的感觉,于是就开启了自学之旅+ F. V- \$ @4 ], m+ A' @
8 I' L |- {. H! W9 P% g- I8 f提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)
7 y' A( h# t: T; F! a# B
[- [/ ^3 X' o* D: { 2、question1就是分组找规律,与素数有关0 c. C; ?5 w1 c; W1 T- |7 ]$ @
E- }- Z8 G2 l: ]
3、question2是做的最舒服的一道题,简简单单的高数上的计算. q6 B8 x9 X( Q9 k: r
% { A# O- \& P4 U 4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了
! e) ~% c" K3 x8 h
& P6 e! Z2 R. x) U" m& G: | 5、question5是三重积分,与二重积分类似,具体自己去算
2 W- j$ E, u% }) `4 p1
$ s' ~5 Y4 _/ N& R7 ~7 {6 d8 {: I2# y- a; a) p' }7 W1 {
3* u/ L8 z+ e5 ^ c |% S, e, C
4
, M9 \" u& Y! n, E% T. l1 j' N57 R8 i+ c. V, P# \ T. w" _
6
, i, ^. `7 n: |8 @; e K, u7
6 ^ p6 y0 ~- m& w, G总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
9 D, A+ J4 j( w/ |; r$ E: R& G3 C1 T
misc第3题:useasp, H. P2 w5 _2 w$ N; z$ Y6 U+ q" o( V
3 e+ z" G* k% F% k) w6 B
鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了* c0 {" W' \& [/ ~) b0 }1 i% a
6 J( o/ ~9 }2 q! O8 S' i6 J& q
首先,将文件拖入软件中,然后果然出现了波形; o- p* n( U; p2 D$ p' c
% c; e" w6 Z5 `# K昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”5 x8 p, U. p! [5 J# {5 _- P6 C
8 L$ ]2 i. R/ S; k$ w9 @
很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}
+ G: |6 ]; L) ~* f3 C( z
6 I& R4 M( O% N1 k: q于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
l4 c1 l% Y ^4 h( D1 M1 i* L, o1 A# f1 d9 w
更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。
& Q! o1 f0 _. N5 P0 `+ V. [# G9 @+ G, a
web第一题
. E$ K0 i [: }$ y4 j' c R$ v: @( i
Just so so
; d: z3 T5 q% t5 A" ] z1 M: Y7 G3 K1 l9 _
开始时,用伪协议拿到源码,然后就是反序列化利用了
% E) B$ Y* K$ E- p# s4 V9 i" D7 Z$ Y# r) J D2 L! ?4 n
<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.') P2 h; B) t# f g' 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(); } }
3 l( w5 I& ?- {9 w# j+ Xclass Flag{
: I0 }9 _, \5 @4 }' [3 Y/ E2 R4 Vpublic $file;
: s3 G1 Y$ a; { `public $token;( o l/ O3 U8 h+ I9 x
public $token_flag;/ h1 t3 P' x" r, X( u5 N
) {" A# x/ [- P$ `; gfunction __construct($file){3 B% c. ~6 z* o! f; P
$this->file = $file;7 @8 w+ Z! G! [) F6 [/ y( T
$this->token_flag = $this->token = md5(rand(1,10000));
; f$ r- S; r. M) V/ b! r}. }5 W9 K) t6 R: R0 O$ h
6 m/ n* _" S5 _9 }; Upublic function getFlag(){
8 l: J7 G& q0 y* l $this->token_flag = md5(rand(1,10000));" ]" n2 }% s. y+ |& c( s/ L) B
if($this->token === $this->token_flag)( O, \5 I F: H; Y+ r7 }: Y+ x0 e
{
0 ^1 O& s6 E3 a1 ]! ~' S if(isset($this->file)){
# l* v) c! r7 o7 K& d& Y echo @highlight_file($this->file,true);
( e. d+ {- F: _' a8 `" H }
4 c R7 R Q: n, m" h5 R } N( ~3 z, m8 N/ i5 A& v: }0 A
}
2 W$ C6 H' j0 D$ h1
* Q# J" `8 p" e' l9 g. n2
1 s& u Y+ M' _& `3 O8 U" d3, l( N7 d, Z2 T5 B$ H/ T- Q% \; T7 a
4. ~$ Y" k8 H! n, |: K* Z, P$ O+ w' l
5) m8 {3 x v5 L7 {' m9 L
6
! w6 @# a0 h8 Z4 S" D7 @4 z9 ~7- [: e) Q, M! H# w# @* n0 p
8
: E3 U7 N) X" [+ g8 g1 e2 f9
5 T1 X0 A9 _( a$ Y' p$ c' B6 s108 W7 ~. U+ g' F# w& ]
11
# t3 z4 i; E3 N h" d12
6 F; H* R# S+ h0 ?% r- L8 k13
1 U% E6 V2 `9 w# H5 f14+ X2 \& d2 l5 u$ \$ B( W1 z8 h$ w
}
' [: T* w1 m$ D, V$ K. M3 N?>
) L' S- L, v2 G; y5 D 大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了* Z# M/ p( G) l, @" X
exp- Z" F+ [3 C6 _7 E- g4 h G
7 G; a3 {! l+ o" i! nView Code
; K8 a8 [5 S$ L$ m1 d" J1 g# M1 G9 v4 O6 ?* w/ X, J+ F7 f
! T3 o1 ~9 H% b! A
% K; T# R8 j' |9 Thttps://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more
( H% H1 @, n1 R. V
) g, `# s$ x- @2 m总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题- x7 j; s, k1 j) g4 N3 o! H
---------------------
% B- B- ?8 }) Q6 o作者:Jeff King
8 F: M% o- \2 _- |4 l来源:CSDN / y$ s- }' p- y0 d1 P
1 | Z4 K+ J' Y$ a% v; N' X3 P' t N; t) ~
. c) V- {# W# Q |
zan
|