美文网首页
3种方法解决webp.net core sql语句注入。

3种方法解决webp.net core sql语句注入。

作者: 吉凶以情迁 | 来源:发表于2024-06-02 09:54 被阅读0次

sql注入举个简单的例子吧,假设这是一个查询功能,我现在想忽略where直接查询所有,那么下面是示范案例

假如代码是

     [HttpPost("x")]
public string xxxx(string  name){
string sql=$"select * from table1 where name='{name}'";
sqlexec.exec(sql);
}

那么注入 允许任何条件就是输入

' or '' ='

防注入法1:
执行sql,不改成拼接,而是使用@+参数化 ,如果已经写了很多了,此时再改起来也麻烦,由于基于目前的环境是内网环境使用,故暂时不需要重构全部升级此代码。

    string connectionString = "your_connection_string";  
string queryString = "SELECT * FROM Users WHERE Username = @Username";  
  
using (SqlConnection connection = new SqlConnection(connectionString))  
{  
    SqlCommand command = new SqlCommand(queryString, connection);  
    command.Parameters.AddWithValue("@Username", "some potentially unsafe input"); // 假设这是从用户输入获取的  
  
    try  
    {  
        connection.Open();  
        SqlDataReader reader = command.ExecuteReader();  
        // ... 处理查询结果 ...  
    }  
    catch (Exception ex)  
    {  
        // 处理异常  
    }  
}

方法2:
使用Entity Framework Core,很显然此法侵入性太强,需要改动原有很多东西,无法一刀切。

var name = "some potentially unsafe input"; // 假设这是从用户输入获取的  
var users = _context.Users.Where(u => u.Name == name).ToList();

防止注入法3 ,中间件 检查,在请求之前检查get ,post参数,我比较偷懒 方法1 ,2 对我来说太过麻烦。频繁使用显然太繁琐了。

方法3:

相关文章

  • 09-ADO.NET进阶

    一、sql注入风险及解决方案 SQL注入是指在事先定义好的SQL语句中注入额外的SQL语句,从此来欺骗数据库服务器...

  • 2021-12-08-java owasp top10审计

    一、注入问题1.SQL注入A:jdbc拼接不当引起的注入jdbc有两种方法执行sql语句,一种是statement...

  • JDBC

    JDBC JDBC编程步骤 JDBCUtils sql注入解决了sql攻击(拼接)statment把sql语句发送...

  • 【代码审计】SQL 注入

    0x01 JDBC 拼接不当造成 SQL 注入 JDBC 有两种方法执行 SQL 语句,分别为 PrepareSt...

  • EF Core执行SQL语句

    目录: EF Core提供的执行SQL语句的方法 自己封装SqlQuery方法,执行SQL语句 一.EF Core...

  • SQL注入

    ①攻击者访问有SQL注入漏洞的网站,寻找注入点 ②攻击者构造注入语句,注入语句和程序中的SQL语句结合生成新的SQ...

  • web安全编程(php)

    一.sql注入 漏洞原理:1.使用用户的参数拼接sql语句2.参数改变了原有sql语句的结构注入方式: 回显注入 ...

  • 6.mysql安全性

    SQL语句应该考虑哪些安全性? Sql查询的安全方案【就是考察sql注入】 1.使用预处理语句,防Sql注入 【p...

  • BUUCTF-Web-随便注(三种解题思路)

    知识点:SQL注入-堆叠注入,sql预处理语句,巧用contact()函数绕过 堆叠注入原理: 在SQL中,分号(...

  • 怎么防止SQL注入

    SQL注入举例定义sql语句(php):username' and password= '$password' "...

网友评论

      本文标题:3种方法解决webp.net core sql语句注入。

      本文链接:https://www.haomeiwen.com/subject/acxsqjtx.html