渗透测试实例指南--SQL注入

一、sql注入--其实是web应用程序对用户端输入的数据合法性没有判断,并且用户端的输入不可控,则将可能存在输入任意的sql语句均可以进行入到数据库执行,造成一定风险。

sql注入两个重要条件:

1、传输的参数可被用户控制

2、传入的参数可以拼接sql语句,并且可以带入到数据库查询。

二、sql注入不同维度方式分类

1、数据类型分类-----数字型和字符型(取决于数据库对数据类型的定义,在数据库中数据只有三种类型,数字(整型、浮点型等)、字符(char varchar等)、时间),通常web前段使用的都是数字或字符char等,所以数据类型只有两种

2、注入位置分类--GPC,只要是能和数据库交互的地方,都可能存在注入攻击,常用的有get、表单请求、留言板、登录页面、搜索框、注册等

(1)get注入

(2)post注入

(3)http头部注入(referer、user-agent等)

(4)cookie注入

3、注入位置分类

(1)union注入

(2)bool注入

(3)报错回显注入

   通过数据库查询报错,返回我们想要的信息,即为报错回显注入。

(4)时间盲注

(5)堆叠注入

(6)二次注入

(7)、宽字节注入

(8)cookie注入

(9)base64注入

(10)XFF注入

(11)sql注入绕过

三、是否存在sql注入判断

 

四、常见的sql注入的防御:

1、过滤危险字符

2、使用预编译语句(不太理解,啥是预编译)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值