asp.net 安全--sql注入 数据库安全

1、通过写入 OR 1=1 等等形式进行注入  OR 1=1 '--- 这个写法使得后面的内容被去掉,比如 select  * from  News where uu='' or 1=1 '--- and uuu='' 后面将被省略

2、为了获取整个数据表的表结构 使用 hava 1=1

3、可通 union select sum(username) from logins--   来获取某个字段的类型 

4、通过'; insert into logins values('yourUsername', 'yourPassword')--   可以插入一个新的用户 

5、可以在页面形成XML形式的所有用户列表 ' union select (select  *  from logins for xml auto), '' from logins - 

 

6、SQL注入的详细内容  http://www.ngssoftware.com/papers/advanced_sql_injection.pdf .  

7、防止sql注入使用的办法 parameterized queries or stored procedures  

8、打开SQLServer-->安全性-->登录名-->新建登录名-->windows身份验证->>搜索到可以登录的用户。

    这样就能实现Server=.\SQLExpress;AttachDbFilename=|DataDirectory|database.mdf;

      Trusted_Connection=Yes; 注意最后一个属性 。本访问实例中通过WINDOWS验证实现。

 

Never dynamically build SQL querie s — . Dynamic queries are a vector for SQL injection.
Always use SQL paramete r.s— SQL parameters will automatically escape dangerous
characters and help you void SQL injection.
Control access to your dat .a— If you can, use stored procedures and SQL permissions to
limit access to the underlying database. If you cannot use stored procedures, use updatable
views to limit access to the underlying database. Stored procedures are not a panacea

because they can, in turn, contain dynamic SQL themselves. 

转载于:https://www.cnblogs.com/SumYang/archive/2011/03/26/1996069.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET Core 中访问数据库通常需要进行以下步骤: 1. 安装数据库驱动程序:根据你使用的数据库类型,安装对应的驱动程序,例如使用 SQL Server 数据库需要安装 Microsoft.Data.SqlClient。 2. 在 Startup.cs 文件中配置数据库连接字符串:在 ConfigureServices 方法中添加以下代码: ```csharp services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); ``` 其中 ApplicationDbContext 是你的上下文类名,而 "DefaultConnection" 是你在 appsettings.json 文件中配置的连接字符串名称。 3. 创建上下文类:在你的项目中创建一个继承自 DbContext 的上下文类,例如: ```csharp public class ApplicationDbContext : DbContext { public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { } public DbSet<Product> Products { get; set; } } ``` 其中 Product 是你的实体类,DbSet<Product> 表示对应数据库中的表。 4. 在控制器中使用上下文类:在你的控制器中通过依赖注入使用上下文类,例如: ```csharp public class ProductsController : Controller { private readonly ApplicationDbContext _context; public ProductsController(ApplicationDbContext context) { _context = context; } public IActionResult Index() { var products = _context.Products.ToList(); return View(products); } } ``` 以上就是在 ASP.NET Core 中访问数据库的基本步骤,具体的操作和实现方式会根据不同的数据库类型和项目需求而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值