安全/渗透面试过程中遇见的一些 |
您所在的位置:网站首页 › 面试中常遇到的一些问题 › 安全/渗透面试过程中遇见的一些 |
SQL注入
文章目录
SQL注入
上课内容
一.SQL注入原理
二.SQL的一些攻击内容
三.SQL防御
面试准备
注入原理:
几种注入类型
一.盲注
(一).基于布尔类型的盲注
(二).基于时间类型的盲注
二.按数据类型分
(一).数字类型
(二).字符类型
三.经典SQLi
(一)Union
(二)基于报错类型的注入
三.按注入位置分
1.基于cookie的注入
SQL常见面试问题
1.SQL注入分为哪几种
2.SQL注入可能存在的地方
3.注入流程
4.SQL注入一开始如何判断数据库类型的语句
5.Sqlmap怎么用,常见的方法
6.tamper脚本??
7.SQL注入防御
绕过:宽字节注入
8.用什么方式找SQL注入点
上课内容
一.SQL注入原理
1.可以注入成功的前提: (1).代码混合在数据中,使得恶意代码获得执行 (2).用户可以输入,且输入的语句被构造成SQL语句并获得执行。 2.各种注入串的效果: 首先明确and 和 or的优先级:and的优先级要比较高 尝试一下各种字符串的登录效果: a’#——能登陆,用户a ’ or 1#——能登陆,用户a alice’ #——能登陆,用户alice a’ and ‘1 ——不能登录 a’ or ‘1 —— 能登陆,用户a b’ or ‘1 ——能登陆,用户b a’ or 1# ——能登陆,用户a b’ or 1 # ——能登陆,但注意用户是a 二.SQL的一些攻击内容1.update函数:更新表中已经有的数据,可以同时更新多列。 2.benchmark(执行次数,执行内容)函数: 该函数用来测试性能,比如可以测定某些特定操作的执行速度。 3.盲注 ——没有直接的返回的数据,但是通过查询的表现,譬如延时来窃取信息的方法。 利用and和时间函数(sleep())相连接。 例如:执行时运用的语句为:XXXX and sleep(10);——若数据库中存在XXX名字,则执行后面的休息;若数据库中没有XXX的名字,则后面也不会执行。 三.SQL防御(一)SQL注入本质是利用数据注入代码, 所以防御就要求区分数据和代码——过滤和转义 1.过滤特殊符号 开启:magic_quote_gpc 选上之后,PHP代码就可以在用户输入的时候对用户的输入进行处理,把所有的特殊符号如’、“等都加上\进行转义 2.利用prepare_statement Prepare_statement的作用是规定好需要的参数的类型,同时对用户的输入进行鉴别和处理;保证用户的输入不可能作为代码被执行。 指明了数据类型,将数据和代码分离,将用户输入全部转换成字符串形式。 ————————————我是一条没有感情而且还是手动添加的分割线———————————————— 鉴于我最近再招安全方面的实 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |