当前位置: 首页 > article >正文

渗透测试-SQL注入基础知识

介绍几个常用函数:

1. version()——MySQL 版本

2. user()——数据库用户名

3. database()——数据库名

4. @@datadir——数据库路径

5. @@version_compile_os——操作系统版本

字符串连接函数

1. concat(str1,str2,...)——没有分隔符地连接字符串

2. concat_ws(separator,str1,str2,...)——含有分隔符地连接字符串

3. group_concat(str1,str2,...)——连接一个组的所有字符串,并以逗号分隔每一条数据 ,一般常用这个

        说着比较抽象,其实也并不需要详细了解,知道这三个函数能一次性查出所有信息就行了。

一般尝试的语句

--+可以用#替换,url 提交过程中 Url 编码后的#为%23

or 1=1--+ 
'or 1=1--+ 
"or 1=1--+ 
)or 1=1--+ 
')or 1=1--+ 
") or 1=1--+ 
"))or 1=1--+  

一般查询的代码为:

$id = $_GET['id'];
$sql = "select * from users where id = '$id' limit 0,1";

        此处考虑两个点,一个是闭合前面你的 ‘ 另一个是处理后面的 ‘ ,一般采用两种思 路,闭合后面的引号或者注释掉,注释掉采用--+ 或者 #(%23)

        Mysql 有一个系统数据库 information_schema,存储着所有的数据库的相关信息, 利用该表information_schema可以进行一次完整的注入,以下是一般流程

1、查询该数据库上存在的数据库
SELECT SCHEMA_NAME FROM information_schema.schemata;

2、猜某数据库的的数据表
SELECT TABLE_NAME FROM information_schema.tables	WHERE TABLE_SCHEMA = "security";

3、猜某表的所有列
SELECT COLUMN_NAME FROM information_schema.columns WHERE TABLE_NAME = 'emails';

4、获取某列的数据
SELECT * FROM security.`emails`;


http://www.kler.cn/news/368165.html

相关文章:

  • FFmpeg 深度教程音视频处理的终极工具
  • Pr 视频效果:波形变形
  • 【C++】string类 (模拟实现详解 下)
  • FCN深度学习语义分割开山之作——学习笔记
  • linux shell 脚本语言教程(超详细!)
  • 【Flutter】状态管理:Provider状态管理
  • 游戏提示x3daudio17.dll丢失怎么办? X3DAudio17.dll修复方法
  • C#从零开始学习(接口,强制转化和is)(7)
  • python之多任务爬虫——线程、进程、协程的介绍与使用(16)
  • 一种将树莓派打造为游戏机的方法——Lakka
  • nacos的原理,为什么可以作为注册中心,和zookeeper的区别
  • Vue3侦听器监听数据变化早于mapContext初始化的问题
  • (二十二)、k8s 中的关键概念
  • 动态规划 —— 斐波那契数列模型-解码方法
  • StringBuilder
  • 信息学奥赛复赛复习18-CSP-J2023-01小苹果-向上取整、向下取整、模拟算法
  • WHAT - Excel 文件上传解析与编码
  • 大语言模型使用和测评
  • 【C++修炼进程之练气】初识《类与对象 超详细》❤️
  • 【算法】Bellman-Ford单源最短路径算法(附动图)
  • 【LeetCode:263. 丑数 + 数学】
  • 【已解决,含泪总结】非root权限在服务器上配置python和torch环境,代码最终成功训练(一)
  • 设计模式——过滤器模式
  • 脚本-把B站缓存m4s文件转换成mp4格式
  • vue通过JSON文件生成KML文件源码
  • There is no screen to be resumed matching xxx【解决方案、screen、原因分析】