首页 > 数据库 >sql注入

sql注入

时间:2024-01-31 10:23:40浏览次数:46  
标签:sql 用户 应用程序 查询 密码 查找 SQL 注入

如何检测 SQL 注入漏洞

您可以使用一组针对应用程序中每个入口点的系统测试来手动检测 SQL 注入。为此,您通常需要提交:

  • 单引号字符,并查找错误或其他异常。'
  • 一些特定于 SQL 的语法,这些语法的计算结果为入口点的基本(原始)值和不同的值,并在应用程序响应中查找系统差异。
  • 布尔条件,例如 和 ,并查找应用程序响应中的差异。OR 1=1OR 1=2
  • 有效负载设计用于在 SQL 查询中执行时触发时间延迟,并查找响应所需时间的差异。
  • OAST 有效负载设计用于在 SQL 查询中执行时触发带外网络交互,并监视任何生成的交互。

或者,您可以使用 Burp Scanner 快速可靠地找到大多数 SQL 注入漏洞。

1)查看gifts页面,发现get型参数

2)修改参数为gifts’+or+1=1—

颠覆应用逻辑

想象一下,一个允许用户使用用户名和密码登录的应用程序。如果用户提交用户名和密码,则应用程序将通过执行以下 SQL 查询来检查凭据:wienerbluecheese

SELECT * FROM users WHERE username = 'wiener' AND password = 'bluecheese'

如果查询返回用户的详细信息,则登录成功。否则,它将被拒绝。

在这种情况下,攻击者可以以任何用户身份登录,而无需密码。他们可以使用 SQL 注释序列从查询子句中删除密码检查来执行此操作。例如,提交用户名和空白密码会导致以下查询:--WHEREadministrator'--

SELECT * FROM users WHERE username = 'administrator'--' AND password = ''

此查询返回其用户,并以该用户身份成功将攻击者登录。usernameadministrator

这关直接看提示就知道了,没什么好说的

标签:sql,用户,应用程序,查询,密码,查找,SQL,注入
From: https://www.cnblogs.com/cll-wlaq/p/17998654

相关文章

  • 操作系统命令注入
    什么是操作系统命令注入?OS命令注入也称为shell注入。它允许攻击者在运行应用程序的服务器上执行操作系统(OS)命令,并且通常会完全破坏应用程序及其数据。通常,攻击者可以利用操作系统命令注入漏洞来破坏托管基础结构的其他部分,并利用信任关系将攻击转移到组织内的其他系统。有用......
  • SQL vs NoSQL:系统设计中选择哪个数据库?
    SQLvsNoSQL:系统设计中选择哪个数据库?在设计系统时,您将面临的最关键的系统设计选择之一是选择合适的数据库管理系统(DBMS)。SQL与NoSQL数据库之间的选择可以极大地影响系统的整体性能、可扩展性和通常的成功。这就是为什么我们在系统设计中详细比较了SQL与NoSQL数据库,以帮助您......
  • 面试官:请说一下Mysql中count(1)、count(*)以及count(列)的区别?
    近期在Review项目代码时,发现同事们在查询MySQL行数时存在多样的方式,有的使用COUNT(1),有的用COUNT(id),还有人选择了COUNT(*)。这混杂的选择引发了我的思考。当然这三种count的方式也是众说纷纭,其中最大的分歧点就是COUNT(*)和COUNT(1)查询性能上,有人觉得COUNT(*)需要转换为COUN......
  • MyBatis 源码系列:MyBatis 解析配置文件、二级缓存、SQL
    解析全局配置文件启动流程分析Stringresource="mybatis-config.xml";//将XML配置文件构建为Configuration配置类reader=Resources.getResourceAsReader(resource);//通过加载配置文件流构建一个SqlSessionFactoryDefaultSqlSessionFactorySqlSessionFactorysqlMapp......
  • 在阿里云服务器上部署mysql,初始化出现问题
    mysql初始化出现问题:解决:参考链接:https://www.cnblogs.com/Roobbin/p/17772445.htmlhttps://blog.csdn.net/qq_35896718/article/details/131803958libm.so.6、libc.so.6错误由于glibc版本较低导致,从错误来看至少需要2.28的版本先查询版本:ll|greplibc.so.6wgethttp......
  • Debug: mysql_real_connect failed: errno: , error
    [ERROR:mysql_real_connectfailed:errno:,error]kubectllogstransform-pod-name-nkubeflow-->INFO:absl:MetadataStorewithgRPCconnectioninitializedWARNING:absl:mlmdclientInternalError:mysql_real_connectfailed:errno:,error:ERROR:absl:......
  • MySQL事务
    MySQL事务是一个执行单元,在mysql中,对数据的一次操作或多次操作可以组合成一个事务,这些操作要么同时成功执行,要么同时失败。一、事务的性质事务有四个基本特性,通常被称为ACID属性。原子性(Atomicity):如果事务中的所有操作都成功,则事务被提交。如果事务中的任何操作失败,则事务......
  • Overview how does plpgsql function get executed
    TheSQLCREATEFUNCTIONprocess_orders()RETURNSvoidAS$$DECLAREcrecord;BEGINFORcINSELECT*FROMordersLOOPRAISENOTICE'Processing:%%',c.id,c.total;ENDLOOP;END;$$LANGUAGEplpgsql;createtableorders(idint,t......
  • Visual Studio 配置 MySQL
    1.将MySQL中的include文件和lib文件资源粘贴到VisualStudioinclude文件下和lib文件下找到MySQL的lib和include位置找到VisualStudio的include和bin文件位置将其放进去2.找到两个文件,放在创建的项目目录里在项目里,点击这个,打开文件夹位置......
  • Mysql存储过程设计
    存储过程的创建使用​--复制world.`user`所在库的表,复制名为user1CREATETABLEuser1asSELECT*fromworld.`user`DELETEfromuser1​--存储过程delimiter$CREATEPROCEDUREselect_all_user1()BEGINSELECT*fromuser1;END$delimiter;--存储过程调用​cal......