首页 > 数据库 >web基础漏洞-sql注入绕过

web基础漏洞-sql注入绕过

时间:2023-10-20 20:22:07浏览次数:27  
标签:web 字节 字符 检查 漏洞 sql 绕过 服务端

前提:确实存在sql注入,换句话说未使用预编译,绕过才有可能。

这里阐述针对的是mysql语法。

1、大小写混杂

2、双写绕过

如果服务端检查到敏感词,对其删除后继续执行。那么可以提交数据时进行双写绕过,比如selselectect,提交后变为select

拓展来说,如果服务端最多检查n次,并且每次删除检查到的敏感词,那么可以进行n+1双写

3、逻辑关键词的相互替换

如果服务端检查禁止了其中一个逻辑关键词,可以用其它等价形式替代

  • and true, and 1, or not 0等价
  • and与&&、or与||、not与!等价
  • where if(if()),if本身可以返回true或false,嵌套的if可以实现逻辑关系

4、注释的相互替换

--空格和#

多行注释

5、内部注释替代空格

6、内联注释

/*!*/,绕过对关键词组合的检查,以及绕过空格

7、二次注入

如果服务端的某个语句未进行预编译,但检查限制了某些字符或关键词的输入,且该sql语句中存在对数据库表的查询作为值或条件使用。

那么攻击者可以从其它接口,先将待使用的敏感字符作为值写入到数据库中,然后请求执行前面的sql语句,服务端读取进行填充

8、宽字节编码

数据库使用的编码和服务端程序的编码不同,使得服务端可以检查放行的安全字符,在数据库sql语句执行时变为了敏感字符。

一般是服务端使用多字节的编码,检查的是一个多字节字符,在数据库中被拆分为多个字节,其中某个字节转为敏感字符'或"

9、进制绕过替代引号

标签:web,字节,字符,检查,漏洞,sql,绕过,服务端
From: https://www.cnblogs.com/wd404/p/17493390.html

相关文章

  • 越权漏洞
    权限绕过漏洞权限绕过(也叫越权)漏洞是指攻击者通过利用系统或应用程序中的漏洞,绕过了正常的权限控制机制,获得了比他们应该具有的更高权限。可以通过越权漏洞访问他人信息或者操纵他人账号其中权限绕过又有水平越权和垂直越权两种形成原因形成的原因:主要是因为开发人员对数据......
  • web基础漏洞-xss手工测试与自动测试
    手工测试,一般是指结合浏览器和burp的重放进行。1、反射型xss手工测试1.1测试是否返回如果测试参数在响应的体部中并未返回,那么基本可以判断不存在反射型xss。问题1:测试参数在响应中固有如果测试参数除了包含返回之外,还存在固有。这样的话,直接根据测试参数是否在响应体部中......
  • postgresql【JSONB用法】
    //userNametypecode是我拿到数据结构出来的可以写固定值来测试;code字段为上面设置的唯一约束。如果code值没有变就是修改,否则就是新增INSERTINTO表名(username,type,code)VALUES('${userName}','${type}','${code}')ONCONFLICT9.6语法支持(code)DOUPDATE......
  • web基础漏洞-xss
    1、介绍xss,crosssitescript跨站脚本攻击,是指攻击者构造payload,使其在用户的浏览器上解析为脚本执行,从而造成危害。脚本一般是指js,但广义上vbscript和actionscript(flash)等其它脚本可以造成xss。xss一般发生在浏览器,但广义上任何支持脚本解析的应用都有可能造成xss。危害是......
  • jpa 连接sqlserver 发布tomcat报错 SunJSSE
    报错信息:java.ext.dirs:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/ext:/usr/java/packages/lib/ext20-Oct-202316:37:28.074信息[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0]com.microsoft.sqlserver.jdbc.TDSChanne......
  • mysql数据库帮助类
    usingMySql.Data.MySqlClient;usingSystem;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceOA{classMySQLHelper{///<summary>///数据库位置......
  • HTML5+CSS3+移动web 前端开发入门笔记(一)
    千古前端图文教程千古前端图文教程git的使用Git是一个分布式版本控制系统,它的作用主要包括以下几个方面:版本管理:Git可以跟踪文件的修改历史,记录每次提交的内容、时间和作者等信息。通过Git,开发人员可以轻松地查看和比较不同版本之间的差异,回滚到历史版本或者创建新的分支。多人协作......
  • mysql常用报表处理及数据迁移写法SQL
    熟悉一些常用的sql写法便于工作中快速导出数据,本文不涉及到业务,所以对表库做了名字的修改,仅提供一些用法的说明。以下直接举例子并讲解1单表批量数据迁移场景:日志迁移具体实例:将test_log2日志表2的数据全部迁移到test_log1日志表1sql:......
  • MySQL 命令行 导出数据 加状态判断 导出excel格式
      SELECTuser.userid,department.`name`,user.username,user.name,user.`email`,keyusage.`productname`,keyusage.`status`,(casewhenkeyusage.status=1then'申请激活'whenkeyusage.status=2then'激活成功'else'激活失败'end)asflag,IN......
  • 常见的软件安全性缺陷和漏洞
    软件的安全有很多方面的内容,主要的安全问题是由软件本身的漏洞造成的,下面介绍常见的软件安全性缺陷和漏洞。1、缓冲区溢出缓冲区溢出已成为软件安全的头号公敌,许多实际中的安全问题都与它有关。造成缓冲区溢出问题通常有以下两种原因。1)设计空间的转换规则的校验问题即缺乏对......