sqli-labs学习笔记 DAY7
DAY7 sqli-labs阶段总结
基本步骤
- 判断是否报错
- 判断闭合符号
- 判断注入类型
- 构建payload
- 手工注入或者编写脚本
基本注入类型
- 报错型注入
- floor公式(结果多出一个1):
and (select 1 from (select count(*),concat((payload),floor(rand(0)*2))x from information_schema.tables group by x)a) - extractvalue公式(首尾各有一个波浪号):
and extracvalue(1,concat(0x7e,(payload),0x7e)
- floor公式(结果多出一个1):
- 布尔型注入
- 联合查询语句
- 回显点查询:UNION SELECT 1,2,3;
- 延时注入
其他注入技巧
- HPP绕过WAF
- 宽字节注入绕过引号过滤
- CHAR函数绕过引号过滤
- ||与&&绕过and和or的过滤
- 分割字符绕过一次字符串过滤
- 二次注入
- Linux特殊字符绕过空格过滤
- 括号法绕过空格过滤
常用SQL语句与函数
- 取子字符串:
mid(string, start, length) - 取子字符串:
left(string, length) - 取ASCII:
ascii(char) - 查询当前数据库:
database() - 查询当前用户:
user() - 当前数据库版本:
@@version - 数据库文件路径:
@@datadir - 爆表:
select table_name from information_schema.tables where table_schema='database' - 爆库:
select column_name from information_schema.columns where table_schem='database' and table_name='table' - 字符串连接:
concat() - 字符串按组输出:
group_concat() - 按照分隔符连接:
concat_ws(char,...) - 字段数猜解:
ORDER BY x
sqlmap使用基础
- -u指定url
- -p指定参数
- -D指定数据库
- -T指定表
- -C指定字段
- –current-db当前数据库
- –current-user当前用户
- –dbs查询所有数据库
- –tables查询所有表
- –columns查询所有字段名
- –dump查询记录
- –techniques X(X=B布尔型,E报错型,U联合注入型,T延迟型):指定注入类型
注意点
- 一些特殊符号需要编码,如&
- +在GET参数中会变成空格
sqli-labs学习笔记 DAY7的更多相关文章
- Sqli - Labs 靶场笔记(一)
Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...
- python学习笔记-Day7
class Province: # 静态字段(类变量/属性) country = '中国' def __init__(self, name): # 普通字段(实例变量/属性) self.name = ...
- JS学习笔记Day7
一.ES5扩展方法 1.严格模式"use strict" 1)必须加在作用域的开头 2.数组扩展方法 1)indexOf(元素,从哪个下标开始查找) 作用:在数组中查找指定的元素第 ...
- HTML学习笔记Day7
一.position定位属性,检索对象的定位方式 1.语法:{position:static(无特殊定位)/absolute(绝对定位)/relative(相对定位)/fixed(固定定位):} 1) ...
- Python学习笔记 - day7 - 类
类 面向对象最重要的概念就是类(Class)和实例(Instance),比如球类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同.在Python中,定义类 ...
- 【目录】Python学习笔记
目录:Python学习笔记 目标:坚持每天学习,每周一篇博文 1. Python学习笔记 - day1 - 概述及安装 2.Python学习笔记 - day2 - PyCharm的基本使用 3.Pyt ...
- python笔记 - day7
python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblog ...
- go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE
go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...
- C51学习笔记
转自:http://blog.csdn.net/gongyuan073/article/details/7856878 单片机C51学习笔记 一, C51内存结构深度剖析 二, reg51.头 ...
随机推荐
- linux下10款markdown软件
原文:https://linux.cn/article-7623-1.html 在这篇文章中,我们会点评一些可以在 Linux 上安装使用的最好的 Markdown 编辑器. 你可以在 Linux 平 ...
- 多线程之线程间协作的两种方式:wait、notify、notifyAll和Condition
Java并发编程:线程间协作的两种方式:wait.notify.notifyAll和Condition 在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作.比如说最经典的生产者-消费者 ...
- TortoiseGit需要重复填写用户名和密码的问题
命令行执行: git config --global credential.helper store 即可
- mac下git安装和使用
1.下载git客户端,下载地址为:https://git-scm.com/download/mac 2.打开安装包,可以看到此时的界面为: 我们需要把.pkg的安装包安装到系统当中.我双击了安装包 ...
- Kafka设计解析(十七)Kafka 0.11客户端集群管理工具AdminClient
转载自 huxihx,原文链接 Kafka 0.11客户端集群管理工具AdminClient 很多用户都有直接使用程序API操作Kafka集群的需求.在0.11版本之前,kafka的服务器端代码(即添 ...
- 详解 Python3 正则表达式(四)
上一篇:详解 Python3 正则表达式(三) 本文翻译自:https://docs.python.org/3.4/howto/regex.html 博主对此做了一些注明和修改 ^_^ 更多强大的功能 ...
- x01.calc: 编程语言
想写终极程序,大都去写操作系统或编程语言了.编程语言可以极其复杂如C,也可以极简,只处理加减乘除如 calc. 1. 词法分析 %{ #include <stdio.h> #include ...
- C语言学习记录_2019.02.07
C99开始,可以用变量来定义数组的大小:例如,利用键盘输入的变量来定义数组大小: 赋值号左边的值叫做左值: 关于数组:编译器和运行环境不会检查数组下标是否越界,无论读还是写. 越界数组可能造成的问题提 ...
- VB6 Access 事务(Transaction)
VB6 Access 事务 On Error GoTo err_trans intTrans = conn.BeginTrans '开始事务 X = count For i = 0 To X sql= ...
- 最新的Veil3.0的安装和使用
首先安装 ┌─[root@sch01ar]─[~] └──╼ #cd /sch01ar/Veil/ ┌─[root@sch01ar]─[/sch01ar/Veil] └──╼ #cd setup/ ┌ ...