0
点赞
收藏
分享

微信扫一扫

Missing classes detected while running R8报错解决方案

君之言之 2024-10-31 阅读 9

SQL注入漏洞

漏洞描述

        web程序对用户提交的参数没有做过滤就直接放到SQL语句中执行,导致参数中的特殊字符打破了sql语句原有的逻辑,黑客就可以利用这个漏洞执行任意sql语句,比如增删改查

测试方法:

SQL注入的原理

sql注入漏洞产生需要满足两个条件

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

当传入的参数为1'的时候:

此语句不符合语法规范会报错

当用户传入的参数1 and 1=1时

因为1=1是真,所以会返回id是1的结果

判断是否存在注入

  • id=1  and  1=1
  • id=1  and  1=2
  • id=1'  or  '1'='1'
  • id=1"  or  "1"="1"

sql注释符

  • --空格:单行注释
  • #:单行注释
  • /*  内容  */:多行注释

注入流程:

  • 判断是否存在注入
  • 判断字段数
  • 确定回显点
  • 查询数据库信息

  • 写入webshell

关于mysql注入相关的知识

在mysql5.0版本以后,MySQL默认有一个数据库叫information_schema库,库中有很多表,重点是这三个表:

  • schemata
    • schema_name字段,记录的所有库的名字
  • tables
    • table_schema  库的名字
    • table_name  表的名字
  • columns
    • table_schema  库的名字
    • table_name  表的名字
    • column_name  字段的名字

union联合注入

案例:

将union后面的数字可以替换成函数

union联合注入

1.判断sql注入

2.判断字段数

3.用联合注入获取敏感信息

4.获取表名

举报

相关推荐

0 条评论