更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号
分类: 网络与安全
2022-04-22 15:34:55
网络安全攻击方式有很多种,其中较为常见的有:SQL注入攻击、XSS攻击、DDoS攻击、URL篡改等。本篇文章重点为大家介绍一下SQL注入攻击,那么你知道什么是SQL注入攻击吗?SQL注入攻击分为哪几类?SQL注入攻击如何防御?以下是详细的内容介绍。
SQL注入攻击是什么?
恶意用户在提交查询请求的过程中将SQL语句插入到请求内容中,同时程序本身对用户输入内容过分信任而未对恶意用户插入的SQL语句进行过滤,导致SQL语句直接被服务端执行。
SQL注入攻击分为哪几类?
①注入点的不同分类:数字类型的注入、字符串类型的注入。
②提交方式的不同分类:GET注入、POST注入、COOKIE注入、HTTP注入。
③获取信息方式的不同分类:基于布尔的盲注、基于时间的盲注、基于报错的盲注。
SQL注入攻击如何防御?
①定制黑名单:将常用的SQL注入字符写入到黑名单中,然后通过程序对用户提交的POST、GET请求以及请求中的各个字段都进行过滤检查,筛选威胁字符。
②限制查询长度:由于SQL注入过程中需要构造较长的SQL语句,因此,一些特定的程序可以使用限制用户提交的请求内容的长度来达到防御SQL注入的目的,但这种效果不太好。
③限制查询类型:限制用户请求内容中每个字段的类型,并在用户提交请求的时候进行检查,凡不符合该类型的提交方式就认为是非法请求。
④白名单法:该方法只对部分程序有效,对一些请求内容相对固定的程序,可以制定请求内容的白名单,比如:某程序接受的请求只有数字,且数字为1-100,这样可以检查程序接受的请求内容是否匹配,如果不匹配,则认为是非法请求。
⑤设置数据库权限:根据程序要求为特定的表设置特定的权限,如:某段程序对某表只需具备select权限即可,这样即使程序存在问题,恶意用户也无法对表进行update或insert等写入操作。
⑥限制目录权限:Web目录应至少遵循可写目录不可执行,可执行目录不可写的原则;在此基础上,对各目录进行必要的权限细化。