首页 > 数据库 >数据库SQL注入攻击以及解决方案

数据库SQL注入攻击以及解决方案

时间:2024-04-15 14:56:07浏览次数:26  
标签:count -- 解决方案 数据库 pwd SQL LoginID

数据库SQL注入攻击以及解决方案

--数据库SQL注入攻击
 
select count(*) from 表 where LoginID='lqwvje' and pwd='123'
--拿上面的一个经常用的用户登入实例 正常情况下是没有问题 count>0即可以登入成功
 
--用户名一但输入了数据库特殊字符如一下  一段代码  那就可以正常登入
select count(*) from 表 where LoginID='lqwvje' or 1=1 --and pwd='123'
 
--更可怕的是  把整个用户信息 表 都删除掉了  如果没有备份的数据库那就完蛋了
select count(*) from 表 where LoginID='lqwvje' or  1=1; drop table 表 --and pwd='123'
 
 
--防SQL注入攻击  样例代码如下 仅供参考
    public void test()
    {
        string conStr = @"Data Source=.\SQLEXPRESS; Initial Catalog=Data20170909;User ID=sa;Password=sa";
        using (SqlConnection conn = new SqlConnection(conStr))
        {
            string sqlStr = "select count(*) from 表 where LoginID=@LoginID and pwd=@pwd";
            using (SqlCommand cmd = new SqlCommand(sqlStr, conn))
            {
                SqlParameter parLoginID = new SqlParameter("@LoginID", System.Data.SqlDbType.VarChar, 50) { Value = "获得的字符串" };
                SqlParameter parPwd = new SqlParameter("@pwd", System.Data.SqlDbType.VarChar, 50) { Value = "获得的字符串" };
                    cmd.Parameters.Add(parLoginID);
                    cmd.Parameters.Add(parPwd);
                    conn.Open();
                    cmd.ExecuteScalar();
            }
        }
    }

标签:count,--,解决方案,数据库,pwd,SQL,LoginID
From: https://www.cnblogs.com/HeroZhang/p/18135951

相关文章

  • PGSQL 单sql多insert例子
    --INITdatabaseCREATETABLEmsg(msgIdchar(32)PRIMARYKEYcomment'ulid',uidbigintnotnull,contextnotnull);createtableseum(clientIdint,uidbigintnotnull,msgIdchar(32)notnull,cointnotnulldefault0,p......
  • MindSpore运行报错RuntimeError: Unsupported device target GPU解决方案
    问题背景在运行MindSpore程序时,设置device_target为GPU,结果运行时报错:RuntimeError:UnsupporteddevicetargetGPU.Thisprocessonlysupportsoneofthe['CPU'].PleasecheckwhethertheGPUenvironmentisinstalledandconfiguredcorrectly,andcheckwhethercu......
  • Sql Server数据库 读写分离之发布与订阅
    SqlServer数据库读写分离之发布与订阅1、配置分发2、发布3、订阅订阅我在虚拟机上,注意配置分发,发布,订阅我在这里,三个是同一内网,内网一定要联通,服务器的端口也要打开,不然没发访问......
  • Python对Sql Server数据库增删改查
    Python对SqlServer数据库增删改查#如果电脑上没有安装mssql模块,则要安装mssql模块 安装模块的执行命令为 pip install pymssqlimport pymssql def ExecuteNonQuery(sqlStr,paras):    try:        connect = pymssql.connect(server='192.168.1.23:1......
  • SQL深度分页
    当查询语句的偏移量特别大的时候,查询效率就会变的很差,比如limit10offset100和limit10offset100000的效率肯定是不一样的,后者会慢的多那怎么解决呢?先模拟一个例子,表结构如下CREATE TABLE account (  id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', ......
  • jmeter 连接 sqlserver 数据库
    1. 将下载好的 jar 包放在 jmeter/lib 目录下,测试计划中导入 jar 包 2.添加 JDBCConnectionConfiguration 配置,参数设置如下 3. 线程组中添加 JDBCRequest,请求中连接名字(test)和步骤2 中自定义的名字(test)保持一致 4. 点击运行,查询出对应的结果 问题回......
  • mysql的分区之key,hash分区
    1.hash分区HASH分区主要用来确保数据在预先确定数目的分区中平均分布,要做的只是基于将要被哈希的列值指定一个列值或表达式,以及指定被分区的表将要被分割成的分区数量。hash分区所使用的字段一定要是主键!!createtable表名(.........)engine=MyISAMpartitionbyhash(算......
  • IFreeSql各数据库连接字符串格式
    IFreeSql各数据库连接字符串格式 DataTypeConnectionStringDataType.MySqlDataSource=127.0.0.1;Port=3306;UserID=root;Password=root;InitialCatalog=cccddd;Charset=utf8;SslMode=none;Minpoolsize=1DataType.PostgreSQLHost=192.168.164.10;Port=5432;Us......
  • Flask-SQLAlchemy
    Flask-SQLAlchemyFlask-SQLAlchemy是flask的一个拓展插件,专门添加对SQLAlchemy的支持(ORM,关系对象模型)。使用它可以在flask中使用对象直接与SQLAlchemy进行交互,大大简化了SQLAlchemy与flask结合使用的过程,提供了非常方便的一些操作对象,例如引擎、模型、会话、请求等......
  • APatch 安装(全能 ROOT 解决方案)
    准备:boot.ImgAPatchadb和fastboot环境插件:ZygiskNextLSPosed我需要准备crosshatch-sp1a.210812.016.c2的boot.img(没有的话可以提取,也可以直接下载对应的boot.img)。#上传boot.img到sdcard/Download➜~adbpush/Users/c/android/crosshatch-sp1a.210812.0......