攻击方式学习之SQL注入(SQL Injection)第1/3页
攻击方式学习之SQL注入(SQL Injection)第1/3页
发布时间:2016-12-29 来源:查字典编辑
摘要:这就给不怀好意的同学可乘之机,利用输入一些奇特的查询字符串,拼接成特定的SQL语句,即可达到注入的目的。不仅可以获取数据库重要信息,权限没有...

这就给不怀好意的同学可乘之机,利用输入一些奇特的查询字符串,拼接成特定的SQL语 句,即可达到注入的目的。不仅可以获取数据库重要信息,权限没有设置好的话甚至可以删除掉整个表。因此,SQL注入漏洞还是相当的严重的。发现以前偶刚学 写的网站的时候也是靠拼接SQL语句吃饭滴……

示例

为了更好了学习和了解SQL注入的方法,做了一个示例网页,界面如下:

攻击方式学习之SQL注入(SQL Injection)第1/3页1

点击登陆这块的代码如下,注意第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/3页123下一页阅读全文

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新黑客相关学习
热门黑客相关学习
编程开发子分类