-
-
[原创][CTFHub] 2021-第四届红帽杯网络安全大赛-Web-find_it
-
发表于: 2021-5-12 19:31 6957
-
看群里说CTFHub上复现了, 我来看看
本来想按照红帽杯的套路来试一下,发现phpinfo里莫得flag了
只能想想其他办法咯
preg_match()
过滤了eval
但是!!!!!
Eval
它没ban
所以我们可以写'大'马
构造payload:
蚁剑连马
拿到flag:
但是作为菜鸡
我还是要重新思考一下这道题的思路:
代码中有几个函数需要注意一下
比如fopen()
,fwrite()
,fread()
也就是说,这里已经读到了flag
所以也就是说,我们再绕通配符写马的时候,flag也被传进了hack.php中
但是为什么看不到呢(具体我也不知道,知道的大哥哥可以告诉我学习一下)
但是我想到了另外一个函数show_source()
随机构造payload:
然后访问hack.php
flag他就出来了。。。。
同时还有我传入的payload
搞一波骚操作!
所以,今天又学到了新姿势~~~~
<?php
#Really easy...
$
file
=
fopen(
"flag.php"
,
"r"
)
or
die(
"Unable 2 open!"
);
$I_know_you_wanna_but_i_will_not_give_you_hhh
=
fread($
file
,filesize(
"flag.php"
));
$hack
=
fopen(
"hack.php"
,
"w"
)
or
die(
"Unable 2 open"
);
$a
=
$_GET[
'code'
];
if
(preg_match(
'/system|eval|exec|base|compress|chr|ord|str|replace|pack|assert|preg|replace|create|function|call|\~|\^|\`|flag|cat|tac|more|tail|echo|require|include|proc|open|read|shell|file|put|get|contents|dir|link|dl|var|dump/'
,$a)){
die(
"you die"
);
}
if
(strlen($a)>
33
){
die(
"nonono."
);
}
fwrite($hack,$a);
fwrite($hack,$I_know_you_wanna_but_i_will_not_give_you_hhh);
fclose($
file
);
fclose($hack);
?>
<?php
#Really easy...
$
file
=
fopen(
"flag.php"
,
"r"
)
or
die(
"Unable 2 open!"
);
$I_know_you_wanna_but_i_will_not_give_you_hhh
=
fread($
file
,filesize(
"flag.php"
));
$hack
=
fopen(
"hack.php"
,
"w"
)
or
die(
"Unable 2 open"
);
$a
=
$_GET[
'code'
];
if
(preg_match(
'/system|eval|exec|base|compress|chr|ord|str|replace|pack|assert|preg|replace|create|function|call|\~|\^|\`|flag|cat|tac|more|tail|echo|require|include|proc|open|read|shell|file|put|get|contents|dir|link|dl|var|dump/'
,$a)){
die(
"you die"
);
}
赞赏
他的文章
- 牧云·主机管理助手测评 6654
- [原创]JAVA安全—反射 828
- [原创]CISCN2022-东北赛区半决赛eztp解题思路 13063
- [XCTF]第四期个人能力认证考核个人wp 9679
- [原创]记录一次对某CMS漏洞挖掘 1488
看原图
赞赏
雪币:
留言: