- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564680 点
- 威望
- 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年大象老师国赛优 |
4 T; ^* z9 x# ?# @8 c
2019--国赛--第一次参加线上赛的自己的整理
$ x# m+ f6 e' Imisc第一题:签到
4 {5 N1 ?/ r! @$ Q8 w, B3 V, l# c) w
打开压缩包,发现一个exe文件和一个txt,要三个人一起站到摄像机,然后等软件识别,就出flag了9 R. U* u- V. U. N
' ?* }+ E6 B/ z5 {1 R8 k3 X& p& x' N
但是我发现,你拿手机放一张照片(有三个人或比三人多)上去也可以出flag,所以推测出,该软件是甄别像素点来进行识别的
& _& n5 k% J0 z% x3 q" a: I6 V' r! i6 l7 N4 b4 s9 [
misc第二题:saleae
* i6 \/ `' P/ S3 B: ~& \, t+ j: P! f
下载压缩包,得到一个.logic的程序,都是新东西,没人知道这是用什么软件来打开的,我发现这个特别考百度能力(捂脸)就是需要logicdata软件6 g$ G. p, T8 k" d; q: y
# v* {% ~2 D$ i! ?- e a
下载后,发现其中给的是波形
. `6 f2 ~" K" r1 j5 O) A) K1 z$ }$ r# R
然后去百度,发现这个软件是与芯片的输入输出有关,(后面是可以利用旁边的软件来读取flag的)
8 _6 @, A ~' }7 d( Q3 \' K) [, Z1 h1 F% J- T$ d+ M
当时的我们没发现这个好办法,只能是0101010101的将flag读出来,然后进行转换成字符串
9 m' T' h) m( D9 }7 R0 E% K+ i
" b2 `1 r. J1 ^4 }( kmisc第三题:24C% _: F/ _: ~7 E3 q0 e
7 c( L8 @0 p: [9 ?: P7 Z5 g与第二题类似,但是需要一点脑洞,就是记得改变它的读取顺序就好了
# E" `- g3 b+ }& g4 }3 O3 E1 r0 Z- r9 v& R1 t8 \5 E! F
crypto第一题:puzzle
. M e7 `0 A7 I+ \$ k
; E. @ _+ w7 A9 f& F. X首先是给了一个网站,心想还是不是web+密码,那就有点…舒(zi)适(nue)了吧
! m* P+ I6 c" h4 n- O' S; q; _- H# l0 n% d0 h& O2 z8 Z# |
让我深深的感受到数学的重要性,三重积分还没学的我,简直看的如痴如醉,第一题的素数来找规律,让我懵逼好久,这是什么题哦
9 c# O0 k1 c5 I3 @$ n6 G$ X
9 u: L& p% z2 H- Y2 p s所有的一切都是从0开始的感觉,于是就开启了自学之旅/ ~" r. C2 N# t9 d8 M% ~. M
5 c, ^# o3 I6 R/ g1 G, _6 m( j
提示一下:1、question0 记得化简运算,当然网上也有计算器(当时死算到无奈,后面还错了)9 ^( [ P8 R2 h
3 `8 u# l' e$ Z
2、question1就是分组找规律,与素数有关" O$ d" v3 [ I" e8 X- t
6 u' G+ ?- B, b# f( M- q 3、question2是做的最舒服的一道题,简简单单的高数上的计算: @! u# |: @! J; y
& m I9 q2 L& L+ ~2 `
4、question4是高中的知识,不过用一下大学的思想就就是大物的东西了,记住公式就没啥大问题了
0 R6 E' s$ v' n7 \+ w# S
+ K$ g% m$ k! e ^( U( \3 |2 W 5、question5是三重积分,与二重积分类似,具体自己去算% h; o. g' k6 }( I$ ^* I! E
1
" m( A8 y% O A7 D- s6 w2% E1 ]) D4 Z' j! Q. J/ D
3
( X x- M F+ l: _+ K4 z# o# w, R0 }7 H& R2 D7 o
5: V& o2 h, n3 i I' S4 r+ {; L
6
9 W" [# b- f: j# A4 B7, r* J' m, o4 Y
总而言之,这一道题就是叫你好好的去学习高数,一定要认认真真学习高数* |6 G- w0 e5 i( v
0 F5 R( u7 K$ @1 k, x2 t9 E8 Nmisc第3题:useasp( V& X$ N# u$ h
% F5 x/ X, u c5 O/ X# n8 P" ~
鬼知道这是东西哦,不过经过昨天的一道题发现,继续使用那个logicdata的软件,就可以了
+ u$ w# O4 o4 y1 Z- n+ S; h( I- M2 X, B9 E/ I
首先,将文件拖入软件中,然后果然出现了波形7 c6 b. L1 M5 P/ \$ g
" W0 {: b$ x- W7 i. W( D
昨天那道题,是对照着题目一道一道念的,010101010101来着,结果,今天发现了一个神奇的地方,在logicdata的右部分中间,可以发现analyzers右边的加号,点进去,有个SPI,根据芯片的一些特性,确定时间线,MOSI和MISO的行,点击确定,就可以得到一个特别长的“flag”2 l: ]' c4 ~# p
' t9 L+ u: C2 o* N1 z很可惜,这是个陷阱,就是假的flag,flag{you-know-it-can-not-be-such-easy}
% m) f1 y0 Q& s9 `& n; _- T) c X; d E1 k! l; U+ }
于是我们进行了多种尝试,利用这个软件其他的一些工具进行解码,结果一无所获,但是,后来我们决定修改参数,因为之前的配置是可以得出flag的,于是猜测要更改SPI的某个特殊点。) Z6 Y; H c+ [! J
. W2 N& f. U# J$ y' l) Y
更改SPI的某个特殊点后,进行一个对照,发现只有将setting中最后的一个参数,改成high值,原屏幕的右下角就出现了flag。
/ ?: ] [/ ]! Q% {8 g6 y( U" t0 L2 D/ [: G* {: q4 A Z0 e; ?7 u* Z! {
web第一题
+ g4 @* s$ K. m7 i0 W: i+ T6 w9 F# z4 x! D, y: \
Just so so" X, |4 I0 ^4 y3 q7 F1 n
9 X: k. N' L2 u- [
开始时,用伪协议拿到源码,然后就是反序列化利用了! j9 ~. u3 h8 N! a
' v" i( [; }: K<?php index.php error_reporting(0); $file = $_GET["file"]; $payload = $_GET["payload"]; if(!isset($file)){ echo 'Missing parameter'.'
7 u. E% \9 A# B& {# C& R'; } 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(); } }) h+ L% }9 O' m. u
class Flag{
+ \* ~/ ^$ x4 `public $file;
3 |9 s. Z% l( h- Epublic $token;
' k* W% q6 n& e% Npublic $token_flag;
9 B! S( U, b% y9 J$ W' ^# x+ o. p% X: s0 v" Y, g5 J! @: P; r I
function __construct($file){2 h/ ~( b6 ]& m
$this->file = $file;2 [0 s" E. b8 W* O+ s; V
$this->token_flag = $this->token = md5(rand(1,10000));
; x' S# y! Q$ r# [8 T3 T}. v+ H; H4 c" Q5 d- Q: ~' X
j$ e! b: F, H& ]public function getFlag(){+ F; j/ Z& ~# J( X! M
$this->token_flag = md5(rand(1,10000));. `2 R8 ]& H+ _; t
if($this->token === $this->token_flag); ]5 w/ z) b1 m0 m
{
7 H, h w, A7 W; V" Z8 v if(isset($this->file)){4 H- e1 h( Z( p: ]: n3 c
echo @highlight_file($this->file,true);
B$ h# D" Z6 E7 Q- | } / ]1 A2 m& D" R( d$ C
}
* O, W: ]7 D/ |( ^$ u}$ X3 |; U3 j6 D d& n+ j& L9 X
1
}3 H+ t1 A9 R' G, H2. q* H, R* g0 J" P
3; a- j# V$ D# Z! q% S) T% z. t
4" z# m' D4 o$ S+ Y
5
3 n, u- e8 g% u. k. \5 l' F6$ u- @* l: H$ y7 y
7
8 v9 a9 p' w$ ~8* t) q5 Z: y) g4 S/ D
93 s9 }2 y! a4 y* A7 l
10
& I/ M. C# A) E; x4 W11) T+ p+ g }7 F# [2 P
12
2 t0 [" A4 g3 k137 h' q& b" G* z, [+ m
14
, J7 i( B$ o0 M. }5 X; {+ s}
9 U! P+ }2 l" E6 \3 I0 _?>2 y8 Z& v$ }& l& F6 \5 g9 [$ H$ |
大佬说: 可以看到Handle类有个__destruct函数,该函数可以触发getFlag函数,但是__wakeup函数会将所有东西清空,这里改下属性个数就能绕过,参考SugerCRM漏洞,然后getFlag函数的条件可以用指针绕过,以前安恒的月赛也考过,最后flag的匹配可以利用parse_url漏洞,三个斜杠就能绕过了# {/ R, D* W6 C& a
exp
' @1 q% B4 k0 m% v. F# \% g) p* |
: k$ ?: p$ D EView Code
' e3 o. T! T/ A, ]8 V/ j; H
4 X9 B2 T7 w9 r. g$ ^. O/ q
+ J* k, V* U6 X6 \9 v% n- R* Z# Z7 Q& T; }0 q. s/ Y1 Q( h# u
https://xi4or0uji.github.io/2019/04/22/2019-4-22-2019-全国大学生信息安全竞赛-writeup/#more
' m5 _0 B& M/ z# F1 {" Z, b' Y" s Q( I5 ~5 {$ N% N
总结:本次比赛只是做了misc的题,web的题目打的也太少了,要继续加油,多进行php的审计,同时多做一些web题总结经验,下次争取多打几道web题. [9 S9 z5 _/ t4 X+ n9 D4 M
---------------------
S4 A, h) |: J! u1 D3 I' W作者:Jeff King 2 ?# E1 j+ K# j8 p# u5 \# J0 Y4 x, O
来源:CSDN
" N% Z5 O5 a# R! e. D" E
% R% d3 f/ ], }7 [6 U
/ m( V; J9 j8 Y8 e
+ s5 j+ j7 |' M0 p1 u7 Q |
zan
|