攻击方式学习之SQL注入(SQL Injection)

页面导航:首页 > 网络编程 > 黑客相关 > 攻击方式学习之SQL注入(SQL Injection)

攻击方式学习之SQL注入(SQL Injection)

来源:互联网 作者:脚本宝典 时间:2015-06-20 13:15 【

这就给不怀好意的同学可乘之机,利用输入一些奇特的查询字符串,拼接成特定的SQL语 句,即可达到注入的目的。不仅可以获取数据库重要信息,权限没有设置好的话甚至可以删除掉整
这就给不怀好意的同学可乘之机,利用输入一些奇特的查询字符串,拼接成特定的SQL语 句,即可达到注入的目的。不仅可以获取数据库重要信息,权限没有设置好的话甚至可以删除掉整个表。因此,SQL注入漏洞还是相当的严重的。发现以前偶刚学 写的网站的时候也是靠拼接SQL语句吃饭滴…… 
示例 
为了更好了学习和了解SQL注入的方法,做了一个示例网页,界面如下: 
 
点击登陆这块的代码如下,注意第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; 

Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<