CUIT CTF Pentest Writeup

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

内容简介: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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

马云现象的经济学分析:互联网经济的八个关键命题

马云现象的经济学分析:互联网经济的八个关键命题

胡晓鹏 / 上海社会科学院出版社 / 2016-11-1 / CNY 68.00

互联网经济的产生、发展与扩张,在冲击传统经济理论观点的同时,也彰显了自身理论体系的独特内核,并与那种立足于工业经济时代的经典理论发生显著分野。今天看来,“马云”们的成功是中国经济长期“重制造、轻服务,重产能、轻消费,重国有、轻民营”发展逻辑的结果。但互联网经济的发展却不应仅仅止步于商业技巧的翻新,还需要在理论上进行一番审慎的思考。对此,我们不禁要问:互联网经济驱动交易发生的机理是什么?用户基数和诚......一起来看看 《马云现象的经济学分析:互联网经济的八个关键命题》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具