sql注入知识点整理(基础版)
sql注入知识点整理(基础版)
基本步骤
- 判断是否报错
- 判断闭合符号
- 判断注入类型
- 构建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)
- 布尔型注入
- 联合查询语句
- 回显点查询: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注入知识点整理(基础版)的更多相关文章
- (非原)SQL注入专题--整理帖 && like 语句拼sql 如何防止注入攻击。
原地址:blog.csdn.net/lvjin110/article/details/28697695 like 语句拼sql 如何防止注入攻击?http://bbs.csdn.net/topics/ ...
- 防SQL注入代码(ASP版)
<% Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx '---定义部份 头------ Fy_Cl = 1 '处理方式:1=提示信息,2=转向页面, ...
- sql注入知识点
需找sql注入点1\无特定目标inurl:.php?id= 2\有特定目标:inurl:.php?id= site:target.com 3\工具爬取spider,对搜索引擎和目标网站的链接进行爬取 ...
- PHP代码审计入门(SQL注入漏洞挖掘基础)
SQL注入漏洞 SQL注入经常出现在登陆页面.和获取HTTP头(user-agent/client-ip等).订单处理等地方,因为这几个地方是业务相对复杂的,登陆页面的注入现在来说大多数是发生在HTT ...
- sql注入语句整理
1.判断有无注入点; and 1=1 and 1=2 2.猜表一般的表的名称无非是admin adminuser user pass password 等..and 0<>(select ...
- CTF SQL注入知识点
理解常用的登录判断 select * from user where username='admin' and password='123' 数据库元信息 infomation_schema 懂PHP ...
- SQL语句练习(基础版)
最近在学习SQL基本语句的练习,在此分享一下笔者做过的练习以及个人的解决教程: 首先是基本练习表格的搭建,具体内容如下表所示: Snum Sname Ssex Sage Sphone Dname S0 ...
- 大学站防SQL注入代码(ASP版)
方法1: Replace过滤字符 解决方法:查找login.asp下的<from找到下边的类似username=request.Form(”name”) pass=request.Form(”p ...
- 基础Web漏洞-SQL注入入门(手工注入篇)
一.什么是SQL注入 SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL.而SQL注入是将Web页面的原URL.表单域或数据包输入的参数,修改拼接成SQ ...
随机推荐
- 深入理解python协程
目录 概述 生成器变形 yield/send yield send yield from asyncio.coroutine和yield from async和await 概述 由于 cpu和 磁盘读 ...
- CTreeItem保存和获取数据
保存数据: std::string val = "test data"; CString* pNodeData = new CString; *pNodeData = val.c_ ...
- jpa单向一对多
单向一对多是一个类中的一条记录可对应另一个类的多条记录: 比如一个部门可对应多个员工: jpa中的实现步骤: one-to-many的one类中添加一个many类类型的set;比如部门类D ...
- AcWing:172. 立体推箱子(bfs)
立体推箱子是一个风靡世界的小游戏. 游戏地图是一个N行M列的矩阵,每个位置可能是硬地(用”.”表示).易碎地面(用”E”表示).禁地(用”#”表示).起点(用”X”表示)或终点(用”O”表示). 你的 ...
- 学习日记6、easyui datagrid 新增一行,编辑行,结束编辑和删除行操作记录
1.新增一行并进入编辑状态 var index=$('#Numbers').datagrid('appendRow', { CardInformation: '开户行', CardNumber: '银 ...
- git commit -m "XX"报错 pre -commit hook failed (add --no-verify to bypass)问题
在同步本地文件到线上仓库的时候 报错 pre -commit hook failed (add --no-verify to bypass) 当你在终端输入git commit -m "xx ...
- 面试准备一个访问一个URL的过程简版
客户端获取URL - > DNS解析 - > TCP连接 - >发送HTTP请求 - >服务器处理请求 - >返回报文 - >浏览器解析渲染页面 - > TC ...
- find 命令详细解释
命令格式:find pathname -options [-print -exec -ok ...] 命令参数: pathname: find命令所查找的目录路径.例如用.来表示当前目录,用/来表示系 ...
- C#类型转换类(通用类)
// /// 类型转换类 /// 处理数据库获取字段为空的情况 /// public static class DBConvert { #reg ...
- Hadoop : MapReduce中的Shuffle和Sort分析
地址 MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据.第一个提出该技术框架的是Google 公司,而Google 的灵感则来自于函数式编程语言,如LISP,Sch ...