- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564679 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174627
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
3 `4 M- T9 ?9 i; g2019--国赛--第一次参加线上赛的自己的整理# q0 {" F+ O. R. j) r. ~ |# d, Q
misc第一题:签到+ H2 z- U. K) L! v
9 r# A7 i, u+ i( B
打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了9 @/ T; {6 I! u3 q. Z' j
/ D* C3 O9 v2 }/ M3 ^但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的# O9 Z2 j( v* p2 D3 q: h1 A) Z
9 ?# A# F) L" f# }9 m( p' Bmisc第二题:saleae4 V6 P% @8 j8 V! f( m! n
0 }/ `( k m0 t下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件% g1 T0 L# M7 s- d+ l P- c; U2 M% }! y
9 |* z4 j; P4 s% [
下载后,发现其中给的是波形
( T0 T7 e8 z0 }! B( e; z! ~" F. s9 u' w4 _
然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的) j% i! ^7 c# X+ ]$ R& C
! T' }! ]. o$ W: S) W当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串6 a6 F! V; ` y4 j" u X- \$ }/ E1 |
w" U$ Z7 s% j0 Q0 mmisc第三题:24C9 H/ @' Q) B# j+ t
6 k, A& P* |# b" b9 f; @1 ?与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了. [* k/ Q; V; {, s- R& M" P
8 t2 \$ Q% U7 ecrypto第一题:puzzle8 q1 B% i6 q- n4 V$ S4 p% D5 b7 ?
5 s$ g N0 c9 T' t- a9 ?4 M
首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧7 @' i/ w0 C% {9 @! T( O; U# H, n: O6 l
* s9 T# Y, V; g. m% M5 A2 m
让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦+ T( M/ { j% o" X( r6 |
: m- t; r) t9 m所有的一切都是从0开始的感觉,于是就开启了自学之旅
5 e4 l2 U6 a7 T
+ e7 i" ~( p" t- S提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)
' H! Z' O! u/ W9 S4 l$ ]
$ R$ v7 _; t# D1 e3 s- J 2、question1就是分组找规律,与素数有关
! s+ @( Y( a3 E. |
( U+ z4 ]& C1 t 3、question2是做的最舒服的一道题,简简单单的高数上的计算; ]1 U' } q% v0 G; Z* h9 V
* l$ t7 J/ s0 M3 \ 4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了: K8 u8 S' M8 Q2 S6 |+ E- Y
. w2 [ h6 B5 h3 U* X5 r8 @
5、question5是三重积分,与二重积分类似,具体自己去算* q I; A3 C1 I, ~& ` N+ n
1
- t+ k7 A( _2 r/ E2
& [& i; k7 ?' M: a( N) d4 Y* u5 @7 ?; |3
; u) A1 \1 D" T) Z, h41 P& q! V) g9 H' `# d# f0 c
55 p1 B y1 y/ P! I8 o w
69 h- ^7 [6 B- S2 k1 P# M
7
$ T" d2 B9 \7 W! F0 K" f总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数
- r8 W" h! F. R' S+ k
$ a4 s% M. H0 V$ `. }' Hmisc第3题:useasp; _7 U+ {2 @ @5 N! A5 N
@$ J8 u O ^ W1 q _
鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了4 D0 ], T' R' j5 q
- \7 H% q+ f7 n! D. H) K
首先,将文件拖入软件中,然后果然出现了波形
5 C" x l2 [3 ~% N8 z) {7 B; A2 L" L
6 S8 t! d8 A5 j' Y昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”3 |) E( L* n! e9 Z
$ K. F) n& @6 g/ T- v! y4 b0 M' B; R
很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}0 q; K# i9 n) I/ l) J) } I
5 j9 W0 E5 d9 _& R( A& w1 p7 \于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。
! i: I' [9 T$ q) ]( q' I3 v' o: W
1 K* r9 E+ N9 E& G7 e$ l/ l( ~更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。 G8 C$ G2 L& ^$ H" X7 ^
, `) V: L8 t& V6 N, P2 Uweb第一题$ Z. s1 w/ j3 T7 X y6 a
; I- l/ h7 p' D1 O) e
Just so so
8 `6 j! S' m+ t8 ^0 n s- I* q2 v8 J3 t( S
开始时,用伪协议拿到源码,然后就是反序列化利用了' i/ K4 u* ?$ @* s9 Q* a
6 V7 T" g4 ?7 R. J
<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'
0 w" q7 H8 j3 C Y5 u7 w1 i'; } 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(); } }, ?' R9 `' a. |3 f0 J. g
class Flag{7 d4 M" a3 B9 O; S [# J
public $file;
) E- z) s- u9 `# z+ x) G- g, }public $token;
8 d( w j9 x$ I( Y/ m. dpublic $token_flag;
5 v# I b3 ]* S9 Q# d; i }) Z C
1 V8 E) F! A; M) Jfunction __construct($file){
* C1 o* O) l6 r $this->file = $file;
( X% _+ L7 [/ c A, E $this->token_flag = $this->token = md5(rand(1,10000));! }, P s) k0 Y) { q3 v
}2 s- P: |3 O" f* s
7 |$ Y7 n: z( Hpublic function getFlag(){
6 H' i6 z, d; k/ d $this->token_flag = md5(rand(1,10000));5 g# m9 Y/ f1 V4 a
if($this->token === $this->token_flag). r$ i, N! b- q7 ^5 g! k" J
{
( p) g+ ~; e0 _ f. u* i5 M if(isset($this->file)){8 p& p4 y. c: x! ^: `9 Z
echo @highlight_file($this->file,true);
# e' c, J1 x' j2 u }
- @! H9 x6 |+ b" Y2 ?0 T }+ }; d) I: O2 c; d4 G; B/ A
}
3 u, w2 j$ ~7 F) w" s1
n$ D: R% l8 W: ~8 r7 I2' y5 G# l- h3 I) Q3 ~" I
3
! r4 U4 [" Q( `3 W+ }4. F2 L& G% t9 p2 }
5
/ U( Q; ? S8 J' Q' B' A7 [3 y- L6
; T$ I) {$ s' o5 R& F E' t6 k7
4 ~' |/ N1 h4 _; Y1 {: y1 s- @80 l. A2 L3 X9 _/ i# M) u. f# p0 i
95 D" C, ~+ E: A4 U2 K# I; a
10
E: Z" ?7 j7 i9 Y `% x( m$ I11 z! Z. |6 W( B z8 B
126 B% B1 H$ O& e8 J0 K. B$ M
13( ^' T8 C" w" U. S
14
: T! ]) b4 X3 i) U}) O1 C, K2 |( R! Q3 D, u. j5 {# E- _3 r
?>
# G( ]* w' b' e0 A1 ]% d 大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了6 J, m; j9 m" O$ D6 r; m+ Y
exp1 V+ @3 d+ _& G$ N7 ?6 f
6 u; n. `; f+ @! K D. ]) L
View Code. }6 h9 f) P3 f# K' P
4 h# }9 q. K- Q4 h: q
6 v/ v$ z, U- G- r* M& T! |) {5 N# `* }- T
https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more
+ M1 X1 m, F& H( G! ^" ]2 J. h' G1 ]8 J, t
总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题
. {# S% u7 I8 {) ]---------------------
% V8 `; |% ]* Y6 A3 H作者:Jeff King 0 c G& ?& Q% s2 S
来源:CSDN
' S% U9 p4 h! {" a% V; c( [( H* I/ L G7 i$ y* @
$ Z$ W0 d9 m" d- u' g/ D5 ]5 R3 K) ^/ k! e
|
zan
|