Echo战队第10次培训——CSRF漏洞

课件下载

January 7, 2023 · 1 min · Red

Echo战队第9次培训——XSS基础

课件下载

January 7, 2023 · 1 min · Red

Echo战队第8次培训——SQL盲注+SQL文件读取+SQL高权限注入+SQLmap使用

SQL注入之文件读写 文件读写注入的原理 就是利用文件的读写权限进行注入,它可以写入一句话木马,也可以读取系统文件的敏感信息。 文件读写注入的条件 高版本的MYSQL添加了一个新的特性secure_file_priv,该选项限制了mysql导出文件的权限 secure_file_priv选项 linux cat etc/conf win www/mysql / my.ini show global variables like ‘%secure%’ 查看mysql全局变量的配置 1、读写文件需要 secure_file_priv权限 secure_file_priv= 代表对文件读写没有限制 secure_file_priv=NULL 代表不能进行文件读写 secure_file_priv=d:/phpstudy/mysql/data 代表只能对该路径下文件进行读写 2、知道网站绝对路径 Windows常见: Linux常见: 路径获取常见方式: 报错显示,遗留文件,漏洞报错,平台配置文件等 读取文件 使用函数:load_file() 后面的路径可以是单引号,0x,char转换的字符。 注意:路径中斜杠是/不是\。 一般可以与union中做为一个字段使用,查看config.php(即mysql的密码),apache配置… 写入文件 使用函数:Into Outfile(能写入多行,按格式输出)和 into Dumpfile(只能写入一行且没有输出格式) outfile 后面不能接0x开头或者char转换以后的路径,只能是单引号路径 SQL注入之基础防御 魔术引号 魔术引号(Magic Quote)是一个自动将进入 PHP 脚本的数据进行转义的过程。 最好在编码时不要转义而在运行时根据需要而转义。 魔术引号: 在php.ini文件内找到 magic_quotes_gpc = On 开启 将其改为 magic_quotes_gpc = Off 关闭 内置函数 做数据类型的过滤 is_int()等 addslashes() mysql_real_escape_string() mysql_escape_string() 自定义关键字 str_replace() ...

January 5, 2023 · 2 min · Red

Echo战队第6次培训——SQL注入方法及其原理1

SQL注入之数据库概述 数据库就是一个存储数据的仓库,数据库是以一定方式存储在一起,能与多个用户共享,具有尽可能小的冗余,与应用程序彼此独立的数据集合。 关系型数据库 关系型数据库,存储的格式可以直观地反映实体间的关系,和常见的表格比较相似 关系型数据库中表与表之间有很多复杂的关联关系的 常见的关系型数据库有MySQL,Orcale,PostgreSQL , SQL Server等。 非关系型数据库 随着近些年技术方向的不断扩展,大量的NoSQL数据库如 Mon goDB,Redis出于简化数据库结构,避免冗余,影响性能的表连接。摒弃复杂分布式的目的被设计 NoSQL数据库适合追求速度和可扩展性,业务多变的场景 数据库排行:https://db-engines.com/en/ranking 数据库服务器层级关系: 服务器里面 :多个数据库 :多个数据表 :多个行 列 字段 : 数据 SQL语句语法回顾: 查询当前数据库服务器所有的数据库 show databases; 选中某个数据库 use 数据库名字 test 查询当前数据库所有的表 show tables; 查询t1表所有数据 查询关键 select * 所有 from 表名 select * from t1; 条件查询 id=2 where 条件 编程 if(条件 true){执行} select * from t1 where id=2; 查询id=2 pass =111 union 合并查询 2个特性: 前面查询的语句 和 后面的查询语句 结果互不干扰! 前面的查询语句的字段数量 和 后面的查询语句字段数量 要一致 * == 3 select id from t1 where id=-1 union select * from t1 where pass =111; order by 排序 order by 字段名字 id 也可以 跟上数字 1 2 3 4 .。。。。。 猜解表的列数 知道表有几列

December 4, 2022 · 1 min · Red

Echo战队第6次培训——SQL注入方法及其原理2

SQL注入之MYSQL手工注入 本章节重点在于熟悉注入流程,以及注入原理。练习靶场为sqli-labs第二关数字型注入。 sqli-labs数字型注入 在url中输入id值,执行查询sql语句。即可得到对应数据 less-2源码分析: 浏览器 进行数据提交 服务器 : get 提交 : url 数据长度 速度快 用于: post 提交 : 服务器 安全性 数据量 注入流程 注入语句 尝试手工注入: SQL注入: 1.判断有无注入点 and 1 = 1; true 随便输入内容 == 报错 注入 == 没有注入 2.猜解列名数量 order by %20 空格 字段 4个 3.报错,判断回显点 union 4.信息收集 数据库版本 version() 高版本:5.0 系统库: information 。。。 数据库名称:database() 低版本:5.0 5.使用对应SQL进行注入 数据库库名:security . 下一级 information_schema.tables 查找表名 table_name 查询security库下面 所有的表名 database() = 前后 连到一起 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() 表: users 如何查询表里面有那些字段? user 字符 转行 16进制 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' username password 字段数据 select username,password from users union select 1,2,(select group_concat(username,:,password)from users)

December 4, 2022 · 1 min · Red