得而不惜就该
--小阁老
新篇章的接续!
一、实验准备
1、ctf网站:ctf.show
2、工具:chrome浏览器、hackbar插件
3、burpsuite抓包工具
二、实验技巧
(一)域名与子域名的dns解析记录
(二)网页信息泄露 账号口令
(三)技术文档泄露 默认账号口令
(四)源码泄露默认配置
(五)邮箱泄露
(六)信息探针泄露
(七)sql文件泄露
(八)js文件逻辑分析
(九)aes加密密钥泄露
(十)mdb文件泄露
三、实验操作
(一)第11关
先使用下前10关的技巧熟悉一下使用。
查看暗示,给了个子域名,咋回事?先访问一下,发现无法访问,且5xx错误,这表明错误出现在服务端,到这似乎思路又断了,咋办捏?
此时我们引进一个知识点,叫做域名解析
域名解析是把域名指向网站空间 IP,让人们通过注册的域名可以方便地访问到网站的一种服务。简单来说,域名是方便人们记忆的网址名称,而计算机在网络中是通过 IP 地址来识别和通信的。域名解析的过程就是将用户输入的域名转换为对应的 IP 地址,使得浏览器能够找到相应的服务器并获取网页内容。
例如,我们日常访问的网站如百度(baidu.com),当在浏览器中输入这个域名时,域名解析系统就会将 “baidu.com” 这个名字转换为百度服务器的 IP 地址,如 110.242.68.4,这样浏览器就能与百度的服务器建立连接并获取搜索页面等相关内容。
通俗的讲,域名与ip是一对映射关系,所以我们试着对flag.ctfshow.com进行dns域名解析
dns域名解析网址:DNS记录查询_DNS解析查询
不过奇怪的是,我没有解析出来,并且该域名确实是废弃了,连ip都没有。
但是我们学的是思路,知道为什么这样做和怎么做就好!
(二)第12关
查看暗示,公开的信息?喔~,应该是泄露了啥东西,我们试着找找,此时可以使用之前所学招数来检测。
测试url路径时发现/admin/可访问,但是需要账号口令,我们尝试在原界面寻找。
尝试:eflyer/eflyer 错误 admin/eflyer 错误 admin/372619038 正确
但是大家依旧会有这样的疑问:为什么你就能找到?这其实是一个概率问题,首先你需要找到/admin后台地址,其次你的经验告诉你可以去尝试寻找到得账号口令并验证正确性,最后你得有面对可能不成功结果的心态。所以即使没能够找到也无关,还是那句话,你得掌握思路!拥有在没有头绪时去尝试的心!
(三)第13关
抓关键词:技术文档和默认账号密码。行我们先需要寻找泄露的技术文档,在其中找到默认账号密码并且寻找后台登录进去。
有了目的后,我们开始测试网页功能点(就是随便点点看网页反应),很巧在下方点击document发现泄露的技术文档,再往下翻发现账号口令和网站!
访问获取flag!但是很不巧,一直访问失败,难搞。
(四)第14关
源码泄露默认配置。
依旧开始测试功能点,但是这次没有反应,咋个办?再次看暗示源码泄露editor,F12老伙计上场!发现有图片是通过“本地路径”上传的,既然在本地目录,就可以访问。我们试着访问/editor,成功,得到一个编辑器,咋办?一般的编辑器都会有一个与本地文件交互的功能,我们找到点击。
开始寻找flag,linux网站存储目录:/var/www/html,成功找到,访问/nothinghere/fl000g.txt
还是那句话:思路!思路!!还是tm思路!!!
(五)第15关
邮箱泄露
依旧测试功能点,未果。开始测/admin/目录发现有后台系统,又联系到邮箱泄露,试着把邮箱作口令测试,但是一直出错,怎么回事呢?
世界上不会有无缘无故的爱,也不会有无缘无故的忘记密码,测试后要我们输入城市,我不管我就要输入邮箱!失败......哎qq号,我们试着搜索qq看归属地,发现是西安,输入,正确。使用修改口令登录即可
(六)第16关
信息探针泄露
PHP 探针是一种用 PHP 语言编写的工具,主要用于检测服务器的各种信息。它就像是一个服务器的健康检查器,可以快速获取服务器环境、PHP 配置、数据库连接等相关细节。
知晓探针为何后,我们访问tz.php,ctrl+f搜索phpinfo进入,搜索flag即可
但是依旧是这个点,你怎么知道要访问tz.php文件?这就是被泄露的文件,你首先知道才知道怎么做后续搜索phpinfo和flag
(七)第17关
备份sql泄露
由于sql文件泄露,我们试着访问backup.sql(backup 备份),直接下载了sql文件,打开查看发现flag
继续提一嘴,你怎么知道要访问backup.sql?这是泄露的信息!
(八)第18关
玩游戏?玩了下确实太难达到要求,这时候咋办?之前方法梭哈!
F12查看,发现是本地js文件调用,既然是本地那就可以访问,看结果搜索flag,发现逻辑确实是达到100分给flag,但是flag被编码了,试着解码即可
(/u表示unicode编码)
unicode在线工具:
Unicode在线编码
结果:你赢了,去幺幺零点皮爱吃皮看看
我们再访问:/110.php,出现flag
(九)第19关
密钥,前端?直接F12查看
前端接受的两个值直接显示出来了,我们直接复制粘贴即可,但是报错。
喔~,原来这里还有个aes加密,我们将密码进行逆向aes解密,我试着解密发现不行。
再看发现对key和v也进行了加密,狠!一起解密!
latin解密:在线Base64Url编码/解码--支持Utf-8,Latin1等编码
aes解密:AES加密、AES解密 - 在线免费AES加解密 - 极捷工具
function checkForm(){
var key = "0000000372619038";
var iv = "ilove36dverymuch";
var pazzword = $("#pazzword").val();
pazzword = encrypt(pazzword,key,iv);
$("#pazzword").val(pazzword);
$("#loginForm").submit();
}
function encrypt(data,key,iv) { //key,iv:16位的字符串
var key1 = CryptoJS.enc.Latin1.parse(key);
var iv1 = CryptoJS.enc.Latin1.parse(iv);
return CryptoJS.AES.encrypt(data, key1,{
iv : iv1,
mode : CryptoJS.mode.CBC,
padding : CryptoJS.pad.ZeroPadding
}).toString();
}
<!--
error_reporting(0);
$flag="fakeflag"
$u = $_POST['username'];
$p = $_POST['pazzword'];
if(isset($u) && isset($p)){
if($u==='admin' && $p ==='a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04'){
echo $flag;
}
}
-->
(十)第20关
脱库!
至此思路讲解到位,只要mdb脱裤,这个技术太老了!所以意义不大,如果想知道可以私信,我看写写,或者看其他人的。