web安全暴力破解-SQL注入简介

目录

暴力破解漏洞

简介

暴力破解漏洞的产生是由于服务器端没有做限制,导致攻击者可以通过暴力的手段破解所需信息,如用户名、密码、短信验证码等。暴力破解的关键在于字典的大小及字典是否具有针对性,如登陆时,需要输入4位数字的短信验证码,那么暴力破解的范围就是0000~9999.

如果对登陆失败做次数限制,如登陆失败6次,账号就会被锁定,这是攻击者可以采用的攻击方式是使用同一个密码对多个账户进行破解。如将密码设置为123456,然后对多个账户进行破解。

修复建议

  • 使用复杂的验证码,如滑动验证码等;
  • 如果用户登录失败次数查偶哦设置的阈值,则锁定账号;
  • 如果某个IP地址登陆失败次数超过设置的阈值,则锁定IP地址。这里存在的一个问题是,如果多个用户使用的是同一个IP地址,则会造成其他用户也不能登录。
  • 使用多因素认证,例如"密码+短信验证码",防止账号被暴力破解。
  • 更复杂的技术是使用设备指纹:检测来自同一个设备的登录请求次数是否过多。

SQL注入漏洞

SQL注入漏洞简介

SQL注入是指Web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数是攻击者可控的,并且参数被带入数据库查询,攻击者可以通过构造不同的SQL语句来实现对数据库的任意操作。

一般情况下,开发人员可以使用动态SQL语句创建通用、灵活的应用。动态SQL语句是在执行过程中构造的,他根据不同的条件产生不同的SQL语句。当开发人员在运行过程中根据不同的查询标准决定提取什么字段,如(select 语句),或者根据不同的条件选择不同的查询表时,动态地构造SQL语句会非常有用。

以PHP语句为例,命令如下:query = "SELECT \* FROM users WHERE id = _GET['id']" ;

由于这里参数ID可控,且被带入数据库查询,所以非法用户可以任意拼接SQL语句进行攻击。

原理

SQL注入漏洞的产生需要满足以下两个条件。

  • 参数用户可控:前端传给后端的参数内容是用户可以控制的。
  • 参数被带入数据库查询:传入的参数被拼接到SQL语句中,且被带入数据库查询。

分类

  • Union注入攻击

    Union注入是联合两个表进行注入攻击,使用关键词 union select 对两个表进行联合查询。两个表的字段数要相同,不然会出现报错。

  • Boolean注入攻击

    Boolean注入指的是构造SQL判断语句,通过查看页面返回结果推断那些SQL判断条件是成立的,以此获取数据中的数据。

    常用函数:

    -- length(str):返回str字符串的长度。

    -- substr(str, pos, len):将str从pos位置开始截取len长度的字符进 行返回。注意这里的pos位置是从1开始的,不是数组的0开始

    -- mid(str,pos,len):跟上面的一样,截取字符串

    -- ascii(str):返回字符串str的最左面字符的ASCII代码值。

    -- ord(str):同上,返回ascii码

    -- if(a,b,c) :a为条件,a为true,返回b,否则返回c,如if(1>2,1,0),返回0

  • 报错注入攻击

    通过构造恶意输入来触发数据库报错信息,从而获取有关数据库结构和数据的敏感信息。

  • 时间注入攻击

    界面返回值ture 无论输入任何值,返回的情况都是正常的来处。加入特定的时间函数,通过查看web页面返回的时间差来判断注入的语句是否正确。

  • 堆叠查询注入攻击

    可以执行多条语句,多条语句之间以分号隔开。

  • 二次注入攻击

    用户提交恶意数据被存入数据库之后,应用程序把他读出来用于生成新的SQL语句,如果没有相应的安全措施,还是有可能发生SQL注入,这种注入叫做二次SQL注入

修复建议

  • 过滤危险字符
  • 使用预编译语句
相关推荐
JXY_AI38 分钟前
大模型越狱:技术漏洞与安全挑战——从原理到防御
安全
上海云盾-高防顾问39 分钟前
SCDN如何有效防护网站免受CC攻击?——安全加速网络的实战解析
网络·安全
riusksk40 分钟前
网络安全顶会——SP 2025 论文清单与摘要
安全·web安全
闪电麦坤951 小时前
思路解析:第一性原理解 SQL
服务器·数据库·sql
珹洺2 小时前
数据库系统概论(八)SQL单表查询语言超详细讲解(附带例题表格对比带你一步步掌握)
数据库·sql
LJianK111 小时前
关系型数据库和非关系型数据库
sql
FreeBuf_12 小时前
GNU Screen 曝多漏洞:本地提权与终端劫持风险浮现
安全·web安全·gnu
多多*12 小时前
算法竞赛相关 Java 二分模版
java·开发语言·数据结构·数据库·sql·算法·oracle
安 当 加 密13 小时前
hashicorp vault机密管理系统的国产化替代:安当SMS凭据管理系统,量子安全赋能企业密钥管理
安全
码农黛兮_4614 小时前
SQL 索引优化指南:原理、知识点与实践案例
数据库·sql