SQL注入学习笔记

Sql注入


一、形成原因

开发者对SQL语言筛查不严,导致恶意的sql语句被执行,获得数据库信息。

二、分类:

1.(1)数字型注入:id=1 and 1=1;
(2)字符型注入:id=1’ and ‘1=1
2.(1)二次注入:先写入注入语句,再调用
(2)基于时间的注入:sleep,if等函数
(3)基于报错的注入:强行回显,floor
(4)基于布尔的注入:看页面的反应时间判断
(5)堆叠注入
(6)宽字节注入
(7)load_file,out_file,写入文件,获取文件
3.数据库分类:mysql,mssql,Oracle,mangodb,(mysal5.0以上版本自带information_schema,可直接利用。)
4.提交方式:get,post,cookie,
5.查询语句:inset,select,delete,update。
如果有时候没有回显可能是因为查询语句出问题。

三、Sql注入步骤:

信息收集
(1) 判断是否存在SQL注入
(2) 判断数据库类型,版本,用户等信息
注入
(3) Order by
(4) 暴库名(and 1=2 union select from )
(5) 暴表名
(6) 暴字段
(7) 暴信息
提权

四、绕waf:

大小写、嵌套 Aandnd、注释、改变提交方式,http参数污染、sqlmap 的tamper、编译

五、防御:

预编译,魔术引号,黑白名单,waf,权限限制,敏感词过滤,规定查询数据长度
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值