进攻方法进修之SQL注入(SQL Injection)第1/3页

这就给不怀盛情的同学可乘之机,操作输入一些怪异的查询字符串,拼接成特定的SQL语 句,即可到达注入的目标。不只可以获取数据库重要信息,权限没有配置好的话甚至可以删除去整个表。因此,SQL注入裂痕照旧相当的严重的。发明以前偶刚学 写的网站的时候也是靠拼接SQL语句用饭滴……
示例
为了更好了进修和相识SQL注入的要领,做了一个示例网页,界面如下:

打击要领学习之SQL注入(SQL Injection)第1/3页

 
点击登岸这块的代码如下,留意第5行,我们利用了拼接SQL语句:

复制代码 代码如下:


private void Login()
{
string uname = tbName.Text;
string pwd = tbPassword.Text;
string sqlCmd = "select * from [Users] where UserName = '" + uname + "'";
string sqlCmdRep = sqlCmd.Replace("Users", "XXX").Replace("UserName", "XXX");
lbSQL.Text = sqlCmdRep;
try
{
DataTable dt = DataSQLServer.GetDataTable(sqlCmd);
gvResult.DataSource = dt;
gvResult.DataBind();
if (dt.Rows.Count == 1 && pwd == dt.Rows[0]["Password"].ToString())
{
lbRes.Text = dt.Rows[0]["UserName"] + " Login Success!";
}
else if(dt.Rows.Count == 0)
{
lbRes.Text = uname + " not exist!";
}
else
{
lbRes.Text = "Login Fail!";
}
}
catch (Exception ex)
{
lbRes.Text = "Error: " + ex.Message;
}
}


1

您大概感乐趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/9060.html