有关SQL注入的一些小知识点
1.判断注入点:
本质原理是找一个需要后台处理后,提交给数据库的点,我理解为用户可以控制并输入后台数据库的变量,比如我们DVWA SQL injection 的ID ,我们可以通过闭合单引号,#注释掉后面限制语句,16进制转换等方法进行绕过,将我们本应输入的变量变成一条查询语句获取数据库的信息。
一般分为三大类:
Get参数触发SQL注入
POST参数触发SQL注入
Cookie触发SQL注入
判断是数字型还是字符型注入方法
数字型注入:
1.修改参数为 id = 1’出错,无法正常从数据库查出数据
2.修改参数为 id = 1 and 1=1 语句执行正常
3.修改参数为 id = 1 and 1=2 出错,无法正常从数据库查出数据
通过上面三次输入 可以判断出是否为数字型注入 (如果有回显页面在第一次输入id=1’报错,报错页面为 '1''之类的多个单引号包含1,可以猜测大概率是字符型注入)
字符型注入:
1.修改参数为:id = 1’报错
2.修改参数为:id = 1' and '1' = '1 正常
3.修改参数为 id = 1' and '1' = '2 报错
这时可以判断为字符型注入,注意字符型注入后面有单引号 可以用#等符号注释掉
常用函数:
@@datadir 获取数据库的存储目录
@@version_compile_os 查看服务器的操作系统
user()查看当前连接数据库的用户
database() 获取当前所连接数据库名函数
version()查看数据库的版本
concat(str1,str2) 函数 合并两个字符串 实现无间隔连接str1和str2
concat_ws(separator,str1,str2) 函数 用分隔符separator连接两个字符串str1和str2,例如 分隔符为- 就实现了str1-str2
group_concat(str1,str2) 函数 将多行查询结果以逗号分隔全部输出
group_concat(concat_ws(seperator,str1,str2)) 函数
将多行查询结果以逗号分隔全部输出,每一行的结果可用设置的分隔符作字段的间隔
mysql中的information_schema 结构用来存储数据库系统信息:
1.schemata 存储数据库名
2.schema_name,表示数据库名称
3.tables 存储表名
4.table_schema 表示表所属的数据库名称;
5.table_name 表示表的名称
6.columns 存储字段名的
7.table_schema表示表所属的数据库名称;
8.table_name表示所属的表的名称
9.column_name表示字段名
得到当前库的所有表
select group_concat(table_name) from information_schema.tables where table_schema=database()
得到表中的字段名
select group_concat(column_name) from information_schema.columns where table_name=users
得到用户,密码
select group_concat(usernam,password) from users
不定期更新
最后更新于:2020.3.3 10:03
有关SQL注入的一些小知识点的更多相关文章
- sql注入原理+mysql相关知识点
什么是SQL注入 sql就是经常说的数据库,而sql注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.SQL注入是比较常见的网络攻击 ...
- 关于防止sql注入的几个知识点
1.PDO预处理是首选. 你可以把他看成是要运行的sql的已经编译过的模板,它可以用变量参数进行定制 它有两个显著优点: 1.1:查询仅需解析一次,但可以用相同或者不同参数执行多次.换句话说如果要以不 ...
- sql注入的基本小知识
load_fie('') into outfile '' into dumpfile('') 堆叠注入 ;insert into liunx密码读取 /etc/passwd /etc/shadow W ...
- SQL注入攻防入门详解
=============安全性篇目录============== 本文转载 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...
- SQL注入攻防入门详解(2)
SQL注入攻防入门详解 =============安全性篇目录============== 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱 ...
- [转]SQL注入攻防入门详解
原文地址:http://www.cnblogs.com/heyuquan/archive/2012/10/31/2748577.html =============安全性篇目录============ ...
- 【渗透课程】第五篇-SQL注入的原理
哈哈哈,讲到注入了.我想给大家讲注入的原理.这个我们前面的前言篇就说过,所谓的SQL注入就是,绕过数据库验证机制直接执行SQL语句.怎么说呢,我们先讲一个概念吧! 网站和网页的区别 单纯的网页是静态的 ...
- 【数据库】软件安全测试之SQL注入
这些年我们发现越来越多的公司开始注重安全测试了,为什么?因为安全测试可以在某种程度上可以排查掉你项目的一些安全漏洞,这样你的系统上线后才会相对安全,才有可能尽量避免来自外部的攻击.每一年互联网都会发生 ...
- SQL注入不简单?那是你没有懂它的原理~
我们真的了解SQL注入吗? 不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动.在网络中,数据库驱动的Web应用随处可见,由此而存在的SQL注入是影响企业运营且最具破坏 ...
随机推荐
- buu [MRCTF2020]keyboard
密文: ooo yyy ii w uuu ee uuuu yyy uuuu y w uuu i i rr w i i rr rrr uuuu rrr uuuu t ii uuuu i w u rrr ...
- npm run start失败&Node.js 查询指定端口运行情况及终止占用端口办法
缘由: node.js项目中运行npm run start命令脚本报错,No such file or directory 最开始以为是命令脚本找不到所谓的执行路径,但后面发现不是,是package. ...
- idea本地调式tomcat源码
前言 上篇文章中一直没搞定的tomcat源码调试终于搞明白了,p神的代码审计星球里竟然有,真的好b( ̄▽ ̄)d ,写一下过程,还有p神没提到的小坑 准备阶段 1.去官网下东西:https://tomc ...
- OSSBrowser windows使用
目录 1. 安装 2. 启动OSSBrowser并登录 1. 安装 下载地址:github或官方 2. 启动OSSBrowser并登录 ossbrowser安装包下载到本地解压之后,点击oss-bro ...
- Node性能如何进行监控以及优化?
一. 是什么 Node作为一门服务端语言,性能方面尤为重要,其衡量指标一般有如下: CPU 内存 I/O 网络 CPU 主要分成了两部分: CPU负载:在某个时间段内,占用以及等待CPU的进程总数 C ...
- File类与常用IO流第七章——Properties集合
Properties概述 java.util.Properties extends Hashtable<k,v> implements Map<k,v> Properties类 ...
- Oracle执行计划总结
一.ORACLE中常见执行计划 表访问的执行计划 1.table access full:全表扫描.它会访问表中的每一条记录. 2.table access by user rowid:输入源rowi ...
- python + csv 操作(读写)
import csv"""与excel文件不同,csv文件中:1.数据都没有数据类型,值都是'字符串'2.没有颜色和样式,不能指定单元格测的宽高,不能合并单元格3.没有对 ...
- HCNA Routing&Switching之动态路由协议OSPF DR和BDR
前文我们了解了OSPF建立邻居关系的条件,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15032907.html:今天我们来聊一聊OSPF中的DR和BDR: ...
- php使用curl模拟post请求
废话不多说,直接上代码,做个笔记. $url="http://localhost/header_server.php"; $body = array("mobile&qu ...