安全/渗透面试过程中遇见的一些

您所在的位置:网站首页 面试中常遇到的一些问题 安全/渗透面试过程中遇见的一些

安全/渗透面试过程中遇见的一些

2024-03-21 07:49| 来源: 网络整理| 查看: 265

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