sql注入登陆(菜鸟级)
来源:互联网 发布:数据分析下载-搜狗应用 编辑:程序博客网 时间:2024/06/05 02:31
比如 我们登陆的时候身份验证,一般用如下代码
private void Login_Click(object sender, EventArgs e) { string id=this.txt_id.Text; string pwd=this.txt_pwd.Text; //string query_Sql="select * from UserR where Id='"+id+"' and Pwd='"+pwd+"' " ; string query_Sql="select * from UserR where Id='"+id+"' and Pwd='"+pwd+"'" ; try { SqlConnection conn = new SqlConnection("server=localhost;database=test;user=sa;pwd=123456"); conn.Open(); SqlCommand cmd = new SqlCommand(query_Sql, conn); SqlDataAdapter adp = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); adp.Fill(dt); if (dt.Rows.Count != 0) { MessageBox.Show("Login success~"); } else { MessageBox.Show("Login failed~"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { conn.Close(); } }
Sql注入就是在
string query_Sql="select * from UserR where Id='"+id+"' and Pwd='"+pwd+"'" ;这句话上通过做手脚,来混淆数据库服务器的视听。
比如当数据库服务器有一条记录Id='pc20131234',Pwd='123456'
显然在数据库执行sql语句执行的是 select * from UserR where Id=‘pc20131234’ and Pwd='123456'
其中123456是从密码框直接获取的
如果我在密码框中输入的不是123456,而是 123'or Pwd!=' 那么执行的sql语句就是 select * from UserR where Id=‘wz’ and Pwd='123' or Pwd!= ''
执行的效果很显然 就是通过了应用程序的逻辑验证。
当然了,如何获取知道密码字段是Pwd并不在我们讨论的范畴之内。更何况现在有很多防止sql注入的方法。所以此贴主要用于菜鸟级知识普及
- sql注入登陆(菜鸟级)
- 菜鸟入门级:SQL注入攻击
- 菜鸟入门级:SQL注入攻击
- 菜鸟入门级:SQL注入攻击
- JDBC防止SQL注入(菜鸟笔记)
- 菜鸟SQL注入详解
- 菜鸟SQL注入详解
- 菜鸟SQL注入详解
- 菜鸟SQL注入详解
- 登陆中的SQL注入
- 菜鸟的sql注入历程
- 如何用SQL注入攻击登陆界面
- SQL数据注入漏洞-绕过登陆验证
- 如何用SQL注入攻击登陆界面
- 参数化登陆防止SQL注入攻击
- 解决登陆时sql注入漏洞
- Java程序员从笨鸟到菜鸟之(一百)sql注入攻击详解(一)sql注入原理详解
- Java程序员从笨鸟到菜鸟之(一百零一)sql注入攻击详解(二)sql注入过程详解
- poj 3714
- JVM之字节码——Class文件格式
- 手工搭建SSH框架
- HDU 1412 搬寝室 DP
- 经典排序算法——快速排序
- sql注入登陆(菜鸟级)
- 使用 Felix 和 Struts2 开发 Web 应用
- HDU1719:Friend
- ZOJ 3647 Gao the Grid
- Win7无线配置工具VC++(Soft-Ap,Wifi,无线承载网络,ICS,Wifi)
- HDU 1421 动态规划(DP) 搬寝室
- UBUNTU 下编译安装opencv
- uva11027 - Palindromic Permutation(回文排列)
- hdu 1241 Oil Deposits 简单dfs