CUIT CTF Pentest Writeup

栏目: PHP · 发布时间: 6年前

内容简介:CUIT CTF Pentest Writeup

开始打这个比赛的时候,看到渗透题还没人做,以为是刚开始比赛呢,结果没想到已经是尾声了[facepalm]。

渗透题挺好玩,常规渗透流程即可。

0x01 FLAG 1

dnsbrute 跑一下:

Domain,Type,Record
rootk.pw,CNAME,rootk.pw.cname.yunjiasu-cdn.net
mail.rootk.pw,CNAME,mail.rootk.pw.cname.yunjiasu-cdn.net
ns2.rootk.pw,A,115.29.36.83
ns1.rootk.pw,A,115.29.36.83

NS 服务器,看起来就能日,nmap:

Nmap scan report for 115.29.36.83
Host is up (0.022s latency).
Not shown: 65526 closed ports, 3 filtered ports
PORT      STATE SERVICE
22/tcp    open  ssh
53/tcp    open  domain
111/tcp   open  rpcbind
443/tcp   open  https
8080/tcp  open  http-proxy
40403/tcp open  unknown

打开 8080 和 443,一样的东西:

CUIT CTF Pentest Writeup

扫描目录:

[01:31:15] 200 -    0B  - /config.php
[01:31:15] 200 -    0B  - /config.php
[01:31:17] 301 -  312B  - /css  ->  https://115.29.36.83/css/
[01:31:20] 200 -   73B  - /edit.php
[01:31:21] 403 -  287B  - /error/
[01:31:23] 301 -  314B  - /fonts  ->  https://115.29.36.83/fonts/
[01:31:27] 200 -    6KB - /index.php
[01:31:28] 200 -    6KB - /index.php/login/
[01:31:32] 200 -   73B  - /main.php
[01:31:48] 301 -  315B  - /static  ->  https://115.29.36.83/static/
[01:31:51] 301 -  314B  - /tools  ->  https://115.29.36.83/tools/

但是 443 可以列目录,打开 tools 目录:

CUIT CTF Pentest Writeup

有个 bot.py

import requests

url = 'http://10.211.55.3/program/sctf-web-111/admin_log/index.php'
r = requests.get(url)

if 'action="index.php"' in r.content and 'name="user"' in r.content and 'name="pass"' in r.content:
  print 'Ok!'
  data = {
    'user':'admin',
    'pass':'123456'
  }
  res = requests.post(url,data=data)
  if 'Login Successed' in res.content:
    print 'Login Successed'
else:
  print 'Error!'

10.211.55.3,这个是 Parallels Desktop 的 IP。反正看起来就是个测试服务有没有挂的东西吧。

看了下 edit.php,发现可以在未登录的情况下修改 IP。这里是个预期外的解,但是既然出题人写出来的漏洞,那就不客气啦。

CUIT CTF Pentest Writeup

联想到 bot.py,那么我在服务器上监听了 80,看看有什么返回内容:

CUIT CTF Pentest Writeup

GET 了一个域名 admin_log.rootk.pw。把页面扒下来,然后用 PHP 返回页面内容:

CUIT CTF Pentest Writeup

得到结果:

CUIT CTF Pentest Writeup

登陆不进去,问了下出题人,他说“输入错误密码为了防止钓鱼”。感觉这里有点脑洞了其实。

加上一句代码:

if ($_POST['user'] == 'test') {
    echo "<script>alert('Username Or Password Error !');</script>";
}

然后拿到密码:

user=sycMovieAdmin&pass=H7e27PQaHQ8Uefgj

搞定:

CUIT CTF Pentest Writeup

0x02 NO FLAG 2

这个我没想做了,因为比赛已经快结束了。第一道题做完大概晚上七点半左右。

从注入开始:

http://www.rootk.pw/single.php?id=1

id 可以注入,但是有一个百度的 WAF 拦着。fuzz:

CUIT CTF Pentest Writeup CUIT CTF Pentest Writeup

发现程序过滤了空字符:

CUIT CTF Pentest Writeup

这样就可以 bypass 百度的 WAF:

SELECT -> SE LECT

因为过滤了空格:

空格 -> / **/
CUIT CTF Pentest Writeup

写一个 sqlmap 的 tamper:

CUIT CTF Pentest Writeup

跑了一堆数据,没啥用。

既然是模拟 root,估计是 UDF。但是需要写文件。又因为文件很大,还要分段写入:

CUIT CTF Pentest Writeup 然后导出到 plugin_dir(payload 找不到了,大概就是 concat 然后 into dumpfile): CUIT CTF Pentest Writeup

然后 create function,接着可以执行了:

CUIT CTF Pentest Writeup

然后在服务器上翻到了一些东西:

CUIT CTF Pentest Writeup

登陆邮箱拿到了网络拓扑图:

CUIT CTF Pentest Writeup

然后找到 bakup 服务器是 10.10.10.200,开了 80 端口,存在 PHP 服务。 目前我的进度就到此为止。

0x03 FLAG 2

剩下是出题人说的思路,和我想的差不多,如果时间够的话应该就能搞定了。

  • 通过 fastcgi 打 10.10.10.200
  • 反弹一个 shell,然后代理进入内网
  • 通过 MS17-010 打 Windows 2008
  • 应该就能拿到 FLAG 2 了

以上所述就是小编给大家介绍的《CUIT CTF Pentest Writeup》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

乌合之众

乌合之众

(法)勒庞 / 冯克利 / 中央编译出版社 / 2011-5-1 / 16.00元

古斯塔夫・勒庞 Gustave Le Bon(1841-1931) 法国著名社会心理学家。他自1894年始,写下一系列社会心理学著作,以本书最为著名;在社会心理学领域已有的著作中,最有影响的,也是这本并不很厚的《乌合之众》。古斯塔夫・勒庞在他在书中极为精致地描述了集体心态,对人们理解集体行为的作用以及对社会心理学的思考发挥了巨大影响。《乌合之众--大众心理研究》在西方已印至第29版,其观点新颖,语......一起来看看 《乌合之众》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具