DAY7 sqli-labs阶段总结

基本步骤

  1. 判断是否报错
  2. 判断闭合符号
  3. 判断注入类型
  4. 构建payload
  5. 手工注入或者编写脚本

基本注入类型

  • 报错型注入

    • 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)
  • 布尔型注入
  • 联合查询语句
    • 回显点查询: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的更多相关文章

  1. Sqli - Labs 靶场笔记(一)

    Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...

  2. python学习笔记-Day7

    class Province: # 静态字段(类变量/属性) country = '中国' def __init__(self, name): # 普通字段(实例变量/属性) self.name = ...

  3. JS学习笔记Day7

    一.ES5扩展方法 1.严格模式"use strict" 1)必须加在作用域的开头 2.数组扩展方法 1)indexOf(元素,从哪个下标开始查找) 作用:在数组中查找指定的元素第 ...

  4. HTML学习笔记Day7

    一.position定位属性,检索对象的定位方式 1.语法:{position:static(无特殊定位)/absolute(绝对定位)/relative(相对定位)/fixed(固定定位):} 1) ...

  5. Python学习笔记 - day7 - 类

    类 面向对象最重要的概念就是类(Class)和实例(Instance),比如球类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同.在Python中,定义类 ...

  6. 【目录】Python学习笔记

    目录:Python学习笔记 目标:坚持每天学习,每周一篇博文 1. Python学习笔记 - day1 - 概述及安装 2.Python学习笔记 - day2 - PyCharm的基本使用 3.Pyt ...

  7. python笔记 - day7

    python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblog ...

  8. go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE

    go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...

  9. C51学习笔记

    转自:http://blog.csdn.net/gongyuan073/article/details/7856878 单片机C51学习笔记 一,   C51内存结构深度剖析 二,   reg51.头 ...

随机推荐

  1. [HAOI2018]奇怪的背包

    题目 暴力\(dp\)好有道理啊 于是我们来个反演吧 考虑一个体积序列\(\{v_1,v_2,...v_n\}\)能凑成\(w\)的条件 显然是 \[v_1x_1+v_2x_2+...+v_nx_n\ ...

  2. P2619 [国家集训队2]Tree I

    Description 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树. 题目保证有解. Input 第一行V,E,need分别表示点数,边数和需要的白色 ...

  3. [JSOI2008]火星人

    嘟嘟嘟 嗯. splay维护哈希. 如题,用splay维护哈希,查找的时候二分.所以复杂度是取决于询问复杂度:\(O(n \log^ 2{n})\). 这道题还有一个技巧,就是一个节点记录的是他的子树 ...

  4. where语句中不能直接使用聚合函数

    1.问题描述 select deptno ,avg(sal) from emp where count(*)>3 group by deptno; 在where 句中使用聚合函数count(*) ...

  5. iOS UITextField的代理<UITextFieldDelegate>的几点笔记

    今天做项目的时候,有个需求,点击按钮,就在特定的编辑框输入按钮中的文字,一开始我还以C++的思想来写,先获取光标的位置,然后在判断是否在那个编辑框,进行输入.后来我旁边的同事看到了直接教我用代理方法, ...

  6. windows从0开始学golang--0--安装golang+git+自己写包

    windows下 1.安装golang 2.安装git(主要是go get 引用git上的包) 3.  使用默认安装生成的目录 pkg:包含包对象,编译好的库文件 src:包含 Go 源文件,注意:你 ...

  7. go 交叉编译,部署

    go web 部署 交叉编译 go 语言有个强大的地方就是 交叉编译 windows --cmd 设置环境变量-mac SET CGO_ENABLED=0 SET GOOS=darwin SET GO ...

  8. 大数据入门第七天——MapReduce详解(二)切片源码浅析与自定义patition

    一.mapTask并行度的决定机制 1.概述 一个job的map阶段并行度由客户端在提交job时决定 而客户端对map阶段并行度的规划的基本逻辑为: 将待处理数据执行逻辑切片(即按照一个特定切片大小, ...

  9. UWP 设置桌面壁纸、锁屏图片

    private static Uri imgUri = new Uri("ms-appx:///pic1.jpg"); private async void btnSetWallp ...

  10. inux下进程的最大线程数、进程最大数、进程打开的文件数

    inux下进程的最大线程数.进程最大数.进程打开的文件数 2008-12-07 23:48 =========================    如下转载自这里. linux 系统中单个进程的最大 ...