C# 防止SQL注入 转载的

C# 防止SQL注入攻击

http://blog.csdn.net/limlimlim/article/details/8629582

l登录判断:select * from T_Users where UserName=... and Password=...,将参数拼到SQL语句中。

l构造恶意的Password:hello‘ or 1=1 --

l                      if (dataReader.Read())

l                        {

l                            MessageBox.Show("登陆成功");

l                        }

l                        else

l                        {

l                            MessageBox.Show("登陆失败");

l                        }

l防范注入漏洞攻击的方法:不使用SQL语句拼接,通过参数赋值

string constr = "Data Source=zxtiger;Initial Catalog=itcastcn;Integrated Security=True";
            using (SqlConnection
con = new SqlConnection(constr))
            {
                string sql
= "select count(*) from UserLogin where [email protected] and [email protected]";
                using
(SqlCommand cmd = new SqlCommand(sql, con))
               
{
                   
////在执行之前告诉Command对象@uid与@pwd将来用谁来代替
                   
////为变量@uid与@pwd赋值
                    //cmd.Parameters.AddWithValue("@uid",
txtUid.Text.Trim());
                   
//cmd.Parameters.AddWithValue("@pwd", txtPwd.Text);
                   
#region MyRegion
                    //SqlParameter p1 = new
SqlParameter("@uid", txtUid.Text.Trim());
                   
//cmd.Parameters.Add(p1);

//SqlParameter p2 = new SqlParameter("@pwd",
txtPwd.Text);
                   
//cmd.Parameters.Add(p2);
                    #endregion

SqlParameter[] pms = new
SqlParameter[] {
                    new SqlParameter("@uid",
txtUid.Text.Trim()),
                    new SqlParameter("@pwd",
txtPwd.Text)
                    };
                   
cmd.Parameters.AddRange(pms);

con.Open();
                    int r =
Convert.ToInt32(cmd.ExecuteScalar());
                   
con.Close();
                    if (r > 0)
                   
{
                        MessageBox.Show("登录成功!");
                   
}
                    else
                   
{
                        MessageBox.Show("登录失败!");
                   
}
                }
            }

时间: 2024-10-29 05:20:43

C# 防止SQL注入 转载的的相关文章

oracle体系结构------Oracle 使用PreparedStatement防止SQL注入---转载

一条效率差的sql语句,足以毁掉整个应用. Statement是PreparedStatement的父接口,不进行预编译操作,减少了进行预编译的开销.单次运行PreparedStatement要比Statement要慢一些. PreparedStatement可以实现Statement的所有功能,但是之所以叫它预编译指令,是因为在创建它的一个对象时可以给定具有一定格式的SQL字符串,然后用它的setXXX方法给指定的SQL语句以填空的方式赋值,具有这样的特性后,它在多次执行一条固定格式的字符串时

sqlmap和burpsuite绕过csrf token进行SQL注入检测

利用sqlmap和burpsuite绕过csrf token进行SQL注入 转载请注明来源:http://www.cnblogs.com/phoenix--/archive/2013/04/12/3016332.html 问题:post方式的注入验证时遇到了csrf token的阻止,原因是csrf是一次性的,失效导致无法测试. 解决方案:Sqlmap配合burpsuite,以下为详细过程,参照国外牛人的blog(不过老外讲的不是很细致,不适合我等小白). 1.打开burpsuite(以1.5为

[转载]SQL注入绕过技巧汇总

转载一篇比较好的文章,乘心物游大佬写的. SQL注入的绕过技巧有很多,具体的绕过技巧需要看具体的环境,而且很多的绕过方法需要有一个实际的环境,最好是你在渗透测试的过程中遇到的环境,否则如果仅仅是自己凭空想,那显然是不靠谱的.这篇文章就是总结我在遇到的CTF题目或者是渗透环境的过程中,所使用到的sql注入的绕过技巧,这篇文章随着自己的见识和能力不断的提升,所总结的方法也会变多.1.引号绕过 会使用到引号的地方是在于最后的where子句中.如下面的一条sql语句,这条语句就是一个简单的用来查选得到u

[转载]我的WafBypass之道(SQL注入篇)

现在位置: 首页 > 文章 > Web安全 > 正文 我的WafBypass之道(SQL注入篇) 2016 /11/23 16:16 6,444 评论 3 条 [本文转自安全脉搏战略合作伙伴先知技术社区 原帖地址  安全脉搏编辑huan9740整理发布] 0x00 前言 去年到现在就一直有人希望我出一篇关于waf绕过的文章,我觉得这种老生常 谈的话题也没什么可写的. 很多人一遇到waf就发懵,不知如何是好,能搜到的各 种姿势也是然并卵. 但是积累姿势的过程也是迭代的,那么就有了此文,用来

利用SQL注入漏洞登录后台的实现方法 。。。。转载

一.SQL注入的步骤 a) 寻找注入点(如:登录界面.留言板等) b) 用户自己构造SQL语句(如:' or 1=1#,后面会讲解) c) 将sql语句发送给数据库管理系统(DBMS) d) DBMS接收请求,并将该请求解释成机器代码指令,执行必要的存取操作 e) DBMS接受返回的结果,并处理,返回给用户 因为用户构造了特殊的SQL语句,必定返回特殊的结果(只要你的SQL语句够灵活的话). 下面,我通过一个实例具体来演示下SQL注入 二.SQL注入实例详解(以上测试均假设服务器未开启magic

C# 防止SQL注入 2 转载的

C# 防止SQL注入 http://blog.csdn.net/limlimlim/article/details/8597508 摘要:在做Sql注入防止的时候找了很多代码,但都不十分满意,有的需要一个页面一个页面去调用,有的则执行错误.于是在一个解决方案上面修改了一下,基本实现了全站防止SQL注入的功能,有什么不足的地方,还请批评指正 在做Sql注入防止的时候找了很多代码,但都不十分满意,有的需要一个页面一个页面去调用,有的则执行错误.于是在一个解决方案上面修改了一下,基本实现了全站防止SQ

转载关于sql 注入

到这里,前期工作已经做好了,接下来将展开我们的重头戏:SQL注入2) 构造SQL语句 填好正确的用户名(marcofly)和密码(test)后,点击提交,将会返回给我们"欢迎管理员"的界面. 因为根据我们提交的用户名和密码被合成到SQL查询语句当中之后是这样的: select * from users where username='marcofly' and password=md5('test') 很明显,用户名和密码都和我们之前给出的一样,肯定能够成功登陆.但是,如果我们输入一个

【转载】SQL注入攻防入门详解

滴答…滴答…的雨,欢迎大家光临我的博客. 学习是快乐的,教育是枯燥的. 博客园  首页  博问  闪存    联系  订阅 管理 随笔-58 评论-2028 文章-5  trackbacks-0 站长统计|  今日IP[353] | 今日PV[848] | 昨日IP[922] |  昨日PV[2188] |当前在线[10] SQL注入攻防入门详解 =============安全性篇目录============== 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但

10个SQL注入工具(转载)

众所周知,SQL注入攻击是最为常见的Web应用程序攻击技术.同时SQL注入攻击所带来的安全破坏也是不可弥补的.以下罗列的10款SQL注入工具可帮助管理员及时检测存在的漏洞. BSQL Hacker 10个SQL注入工具 BSQL Hacker是由Portcullis实验室开发的,BSQL Hacker 是一个SQL自动注入工具(支持SQL盲注),其设计的目的是希望能对任何的数据库进行SQL溢出注入. BSQL Hacker的适用群体是那些对注入有经验的使用者和那些想进行自动SQL注入的人群.BS