所谓最简单的SQL注入



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

也不知怎的,

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


在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这个用户...有点假,

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



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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值