sql注入知识点整理(基础版)

基本步骤

  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参数中会变成空格
 

sql注入知识点整理(基础版)的更多相关文章

  1. (非原)SQL注入专题--整理帖 && like 语句拼sql 如何防止注入攻击。

    原地址:blog.csdn.net/lvjin110/article/details/28697695 like 语句拼sql 如何防止注入攻击?http://bbs.csdn.net/topics/ ...

  2. 防SQL注入代码(ASP版)

    <% Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx '---定义部份 头------ Fy_Cl = 1 '处理方式:1=提示信息,2=转向页面, ...

  3. sql注入知识点

    需找sql注入点1\无特定目标inurl:.php?id= 2\有特定目标:inurl:.php?id= site:target.com 3\工具爬取spider,对搜索引擎和目标网站的链接进行爬取 ...

  4. PHP代码审计入门(SQL注入漏洞挖掘基础)

    SQL注入漏洞 SQL注入经常出现在登陆页面.和获取HTTP头(user-agent/client-ip等).订单处理等地方,因为这几个地方是业务相对复杂的,登陆页面的注入现在来说大多数是发生在HTT ...

  5. sql注入语句整理

    1.判断有无注入点; and 1=1 and 1=2 2.猜表一般的表的名称无非是admin adminuser user pass password 等..and 0<>(select ...

  6. CTF SQL注入知识点

    理解常用的登录判断 select * from user where username='admin' and password='123' 数据库元信息 infomation_schema 懂PHP ...

  7. SQL语句练习(基础版)

    最近在学习SQL基本语句的练习,在此分享一下笔者做过的练习以及个人的解决教程: 首先是基本练习表格的搭建,具体内容如下表所示: Snum Sname Ssex Sage Sphone Dname S0 ...

  8. 大学站防SQL注入代码(ASP版)

    方法1: Replace过滤字符 解决方法:查找login.asp下的<from找到下边的类似username=request.Form(”name”) pass=request.Form(”p ...

  9. 基础Web漏洞-SQL注入入门(手工注入篇)

    一.什么是SQL注入  SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL.而SQL注入是将Web页面的原URL.表单域或数据包输入的参数,修改拼接成SQ ...

随机推荐

  1. 【原】GitHub使用教程

    GitHub使用教程 1 注册 GitHub 账户 要想使用github第一步当然是注册github账号了(www.github.com). 2 安装客户端 msysgit github是服务端,要想 ...

  2. C#静态变量 总结

    在C#程序中,没有全局变量的概念,这意味着所有的成员变量只有该类的实例才能操作这些数据,这起到了“信息隐藏”的作用.但有些时候,这样做却不是个明智的选择. 假设我们要定义一个图书类,要求该类能保存图书 ...

  3. Genymotion 配置

    配置Android的SDK

  4. sql 用表组织数据

    一.四种完整性约束 1.实体完整性约束:不允许出现相同记录的数据 2.域完整性约束:对字段进行限定,不得插入不符合限定的数据 3.引用完整性:表与表之间的关系 4.自定义完整性约束:开发人员自己设定对 ...

  5. truncate at 255 characters with xlsx files(OLEDB方式读取Excel丢失数据、字符串截断的原因和解决方法)

    The TypeGuessRows setting is supported by ACE. Note the version numbers in the key may change depend ...

  6. C++入门经典-例6.23-字符串数组赋值与string

    1:代码如下: // 6.23.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #inc ...

  7. OUC_Summer Training_ DIV2_#4之数据结构

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26100#problem/A A - A Time Limit:1000MS     Me ...

  8. IP输出 之 ip_local_out

    概述 将要从本地发出的数据包,会在构造了ip头之后,调用ip_local_out函数,该函数设置数据包的总长度和校验和,然后经过netfilter的LOCAL_OUT钩子点进行检查过滤,如果通过,则调 ...

  9. VUE中让由全局变量添加生成的新数组不随全局变量的变化而变化

    问题场景: const addOptions = { singleOrComplex, totalNum: this.smallTotalPrice, selectList: this.purchas ...

  10. koa 路由模块化(一)

    1.项目目录 2.入口文件 根目录/app.js /** * koa 路由模块化 */ const Koa = require('koa'); const router = require('koa- ...