- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565673 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174925
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
7 Z7 K# W' c& c( _3 T2019--国赛--第一次参加线上赛的自己的整理
: M9 h$ G* x, _2 p. F7 `misc第一题:签到
$ [( S1 u" j* |" \* s$ l5 d
+ s( w+ a% \, ^) j' ~9 A打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了* H- ^5 }0 g5 P3 \" o3 |' i
; p2 Y& Q, m/ D: j但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
) x! r, ?" K: J8 ^# X; ]& T4 v( Y& ?
1 D6 y3 \# M8 S: l! u/ dmisc第二题:saleae
. U1 P6 |- b" T4 v3 F8 _
7 b1 G3 U" ~1 K% t+ g; e# T下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件
+ R$ M. I# q( \+ {0 o
: U7 L6 q7 j1 ]- I1 ^下载后,发现其中给的是波形: w0 N2 D: p% f5 F7 q# e' |" Z
) N; t$ k7 W; f- m- d( l然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)8 Z2 p9 M' c9 b
2 x* [4 m/ }# k [4 e) B' K8 R当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串) s) }, z2 x- E0 D
, i; w8 o. c/ I' h8 l( I5 v Omisc第三题:24C
2 p. _( @; E( Y: i! S5 H
7 @8 k. Y8 w, B与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
' N- Y5 |. u' V* X* w
( g4 |2 a. e$ j# b1 M4 s+ |crypto第一题:puzzle
- M* \) O9 _. ^5 V3 U" ^/ `8 S+ q0 x/ ~0 O) h9 \
首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧! O1 S' a o8 |6 Y( V* ^9 `
|; W* M3 `5 q0 w& H N
让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦
1 j( T8 j, s& l/ o) C3 U# p! i; q. X
所有的一切都是从0开始的感觉,于是就开启了自学之旅$ x: s" P/ x2 V+ V* r( @
1 G5 C2 ~1 a3 H0 h1 ~
提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)
4 f. A! V0 c5 v9 ?% K$ A1 @4 i7 i, n: B/ C/ X- p: y6 U
2、question1就是分组找规律,与素数有关: U0 `. ~0 e! |" Z
1 t3 e: F" p( ^0 U/ O$ P* r 3、question2是做的最舒服的一道题,简简单单的高数上的计算6 K" b% w2 Y* F2 M! |# X% N: L1 \
; G: k2 f' L* A$ I1 F, c 4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了8 f4 v, a S* I, c' Z) ?" X) b
+ H, _- ]& j9 U) |$ @' s9 K
5、question5是三重积分,与二重积分类似,具体自己去算% f6 u" \ G1 D
12 ?8 i, O9 i9 n/ k' u( B" K
2
8 g3 ~9 ?, v' b! j% Y' D3 T3" c, ^# g. S! G+ ~: X
4& N" o ^) [ L- f' U4 @8 ?: G5 I
5
" U4 D: z" h/ f) f6
( N& ^+ x+ V! f1 ~. s% t% U7
7 S m- d- f7 G; v8 C$ N! m# i总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数# A& P# G$ m) ^/ p
7 B% i( b& m$ M! Jmisc第3题:useasp
9 I7 h. t/ ~- n6 ?; `) g7 p6 p1 n" J& |4 f
鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了
1 n6 p- z! h4 d) b9 ?2 X2 W$ }! M. u, f* S2 v X7 @1 n4 Q2 @; h7 y
首先,将文件拖入软件中,然后果然出现了波形( c1 o$ g+ @+ T* b- K1 V" s
4 X: A0 d- g: s$ _$ f昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”' m. T: p8 J, F: l9 R- `
) a2 b1 X, }7 r
很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}; G6 V c: ?: }. Q; @( S3 z) @ }
) j5 ~/ i4 e B5 p5 l0 [于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
/ O; {% l+ v/ L4 L- v0 M
# c. o6 |4 q6 j更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。) H; |) j: r# R& f$ G8 V% k
8 {/ v3 Q9 A6 l& G& a8 c
web第一题
6 j9 W- K; V. A- g8 U
$ y$ C h9 W/ F0 |0 ^/ Z. E! T5 mJust so so
" W8 @5 B5 I9 ^
3 [$ ]. R7 o- _开始时,用伪协议拿到源码,然后就是反序列化利用了
: ]: V- T( r6 |. h* P
, _( `- U" a6 t5 ^: C1 [& p3 n<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'7 K+ S1 J! b5 F9 ^- s A- f! q
'; } 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(); } }
2 f- R- y) ?. n' ], jclass Flag{" D) X( B+ } Q! A7 ]+ ?& L
public $file;, ?1 B& Y! [) t
public $token;; Z* ~: ^0 T7 \9 w
public $token_flag;2 l0 k) G% |. O8 h& r3 U' P
+ _$ Q4 B7 W6 ~4 l. b" m5 n( x9 E
function __construct($file){
- C" x+ Z; {4 g6 `9 D0 N $this->file = $file;
% n R0 l% M! N. }! X+ L' V $this->token_flag = $this->token = md5(rand(1,10000));
9 \. d- D7 h. n/ v) W8 U, @}
% I: y9 J2 E P
+ Z4 j( ^5 o! b! d( a" m3 ipublic function getFlag(){
2 C8 s# C5 c$ {4 T $this->token_flag = md5(rand(1,10000));
! L5 }$ { u* r, l- X& ?* O } if($this->token === $this->token_flag)
. ^: Z$ D, X5 k8 O* f b {2 i' g9 ~; @/ t
if(isset($this->file)){
/ Y8 b4 T! n5 S/ z* } echo @highlight_file($this->file,true);
: A% h6 S$ Z; p% F } : @: z. C# a/ w$ [" ` F |
}9 \2 c a& [; _1 z- A
}
e; C+ e9 P+ C, n# N8 o1 H* q18 t& w3 B9 J. `0 A, `' [
2
E/ i# x& C+ {% y4 Q2 l) v7 K$ m( x36 E/ n# Y& x7 a: _5 W" `$ {6 T7 N
4
4 e8 H, T- H& o1 U5( J% b7 c$ R# M) F+ i
64 Y- E+ B& Z+ L& o8 O
7
+ t# m5 u) S: @% g9 ~. F8
; u9 Q5 E. E$ O9: ?3 H2 P9 H" r7 I2 ]6 |. N$ |
10. Z) J6 J& h( [7 o( \. @7 {/ K
11; i3 a# Y* j0 r& I
12
& r+ _6 M' |; h+ z* a13. J3 s% j, s$ y* L c% S9 S
14
; I' p) }% Z9 \4 y+ e}
4 @* }. }# P v P$ f( D# D?>% v! f- `5 A7 l' ]$ u9 {' M: t
大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了
1 U& | Y9 s* y1 nexp- U9 W2 V" @ ]# K: O8 T
1 Q* ? }. s( Y( l9 ^; [View Code; p( L; H3 y3 {+ x
! `, [3 y% x3 I, y; m0 _. i
) X- \% I7 K' Z+ r; J; S
; ~9 J$ l2 {* q) hhttps://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more6 S2 U* T8 G* t$ Z3 }9 r+ |6 O
/ e8 l- g" \' S& H/ l. r
总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题* p( o2 G3 c( Y; h$ ?
--------------------- 3 l' _9 o2 {0 T. K, H
作者:Jeff King
) i. h: E9 B. y- S9 w( y( d+ B& u来源:CSDN
]: R3 X9 p( h
5 e5 v( f. D) _1 v: v- w% f
- f! E. J3 P! t6 g- L$ T
/ a$ ^: N: H$ ]1 Z0 b+ ^ |
zan
|