利用SQL漏洞强行登录及防范方法
来源:互联网 发布:博狗信誉第一js 编辑:程序博客网 时间:2024/06/04 19:46
在用户名为空不输入或随便输入用户名,在密码输入框里用 'or''=' 回车就可以进入人家的系统。
典型错误程序如下:
private void login_ok_Click(object sender, System.EventArgs e)
{
string sqlstr="select * from company_admin where username='"+username.Text+"' and password='"+password.Text+"'"; // 这一句:典型的SQL漏洞
SqlConnection myconn=new SqlConnection(ConfigurationSettings.AppSettings["connstr"]);
SqlCommand mycomm=new SqlCommand(sqlstr,myconn);
try
{
myconn.Open();
SqlDataReader dr;
dr=mycomm.ExecuteReader();
if(dr.Read())
{
Session["username"]=username.Text;
Session["password"]=password.Text;
Session["rights"] = dr["rights"].ToString();
Response.Redirect("index.aspx");
}
else
{
go_wrong.Text="对不起,您的用户名或密码不能为空且需准确输入 !";
}
}
catch(Exception er)
{go_wrong.Text=er.ToString();}
finally{myconn.Close();}
}
///////////////////////////////////////////////////////////////////////////////////////
string sqlstr="select * from company_admin where username='"+username.Text+"' and password='"+password.Text+"'";
这一句:典型的SQL漏洞
可以改写为:
string sqlstr="select * from company_admin where username=@username and password=@password";
或者
用存储过程
另外一般的WEB数据提交到数据时都要经过Replace("'","''")转换
也可以采用参数
sqlcommand cmd=new sqlcommand ("select * from usertable where 用户名=@user and 密码=@pwd",conn);
cmd.param***.add("@user","用户名");
cmd.param***.add("@pwd","密码");
当然
也可以用MD5加密
- 利用SQL漏洞强行登录及防范方法
- 利用SQL漏洞强行登录及防范方法
- 常见漏洞和攻击及防范方法
- 利用SQL注入漏洞登录后台的实现方法
- 客户端登录也危险?--防范SQL注入漏洞
- 防范SQL注入漏洞
- 如何寻找WEB程序漏洞及如何利用和防范
- 如何寻找WEB程序漏洞,及如何利用和防范
- 利用SQL注入漏洞登录后台
- 利用SQL注入漏洞登录后台
- 利用SQL注入漏洞登录后台
- 利用SQL注入漏洞登录后台
- ASP网站漏洞解析及黑客入侵防范方法
- ASP网站漏洞解析及黑客入侵防范方法
- ASP网站漏洞解析及黑客入侵防范方法
- ASP网站漏洞解析及黑客入侵防范方法
- ASP网站漏洞解析及黑客入侵防范方法
- ASP网站漏洞解析及黑客入侵防范方法 2
- 使用jxl读和写Excel文件
- 2005年第一次动笔!!
- 天气预报代码
- VBScript函数速查
- 关于JSP发布地图服务
- 利用SQL漏洞强行登录及防范方法
- 17个经典的正则表达式
- 当今中国最经典的25句话
- Herb Sutter——并发编程——下一个编程革命:完全可能
- 关于大学
- linux指令大全(完整篇)(转自www.ChinaJavaWorld.com)
- Introduction
- VBSCRIPT对剪贴板的操作
- ASP开发必备:WEB打印代码大全