#CTF
这波啊,这波是全国上下共享一个靶机
# 页面的背后是什么?
# 题目地址: http://45.113.201.36/index.html
是叔叔我啊!
直接查看源码,看到
$.ajax({
url: "api/admin",
type: "get",
success:function (data) {
//console.log(data);
if (data.code == 200){
// 如果有值:前端跳转
var input = document.getElementById ("flag1");
input.value = String(data.data);
} else {
// 如果没值
$('#flag1').html ("接口异常,请稍后再试~");
}
}
})
请求 api/admin,得到 flag
# 真正的秘密只有特殊的设备才能看到
$.ajax({
url: "api/ctf/2",
type: "get",
success:function (data) {
//console.log(data);
if (data.code == 200){
// 如果有值:前端跳转
$('#flag2').html ("flag2:" + data.data);
} else {
// 如果没值
$('#flag2').html ("需要使用 bilibili Security Browser 浏览器访问~");
}
}
})
根据提示,伪造 UserAgent: bilibili Security Browser
# 密码是啥?
是陈睿叔叔的生日
很简单,弱口令
用户名 admin,密码 bilibili
# 对不起,权限不足~
依旧靠猜,提示超级管理员才能看到,抓包,发现 cookie 里面有个 role
Cookie: role=7b7bc2512ee1fedcd76bdc68926d4f7b; session=eyJ1aWQiOiI4NjY0MzIxIn0.X5QmyQ.nJVuwtiLPHwl0tdBr-QoXYew0jE
把 role 拿去 md5 解密,得到 user,接下来就是猜管理员的名字了。
superadmin,admin,su,root,superuser 全都不对,最后看到别人的提示,Windows 超级管理员,这才知道是 Administrator。傻不傻啊
# 结束亦是开始
根据提示,把 single 改为 end,得到 你想要的不在这儿~,然后,就没有然后了
根据群里大佬的思路,扫目录,发现 test.php 下有东西,一堆 jsfuck 代码
放进浏览器执行,得到:
var str1 = "\u7a0b\u5e8f\u5458\u6700\u591a\u7684\u5730\u65b9";
var str2 = "bilibili1024havefun";
console.log()
解码 str1, "程序员最多的地方"
,那就是 github 了。
进 GitHub 搜索第二个字符串 bilibili1024havefun
,找到一个 end.php 的源码
<?php
//filename end.php
$bilibili = "bilibili1024havefun";
_GET['id']);
$reg = preg_match('/\d/is', $_GET['id']);
if(!is_numeric($_GET['id']) and $reg !== 1 and $str === 1){
_GET['url']);
//文件路径猜解
if (false){
echo "还差一点点啦~";
}else{
echo $flag;
}
}else{
echo "你想要的不在这儿~";
}
?>
好家伙,真就硬猜呗
根据源码绕过 + 猜路径,构造 url
http://120.92.151.189/blog/end.php?id[]=1&url=/api/ctf/6/flag.txt
然而得到的却是第十题的答案
七八九十待续。。。