发布时间:2014-03-03 23:10:05作者:知识屋
Sql注入式攻击,在黑客看来一般是用于攻击别人的网站或者程序,但现在我们可以转换一下思想,利用sql注入式为我们服务。
例如:有一个旧的程序,使用简单三层,这个程序操作的表名是Table1,Table1的字段有:
id(int),column1(nvarchar(50)),column2(nvarchar(50)),adddate(smalldatetime).
其中adddate字段是后加上的,也就是有的数据元素中adddate字段有值,有的是null,在原程序中没有使用adddate字段的值,现在要求使用adddate以判断不同的年份,并且为空的值划分到老数据中(比如null和2013/9/26都属于2013年的数据,2014/1/1的数据属于2014年的数据),不允许更改数据库中的数据。
假设我们在DAL和BLL层中分别写一个可以只传入年份(比如,传入2013,形参名为year)的方法,在Web层中调用。为了用sql注入式方法的思路写程序,我们不对传入的year做过多的逻辑判断,只是把year放入预写好的sql语句中执行(假设我们的查询sql语句很简单,比如:string sql = "select * from Table1 where adddate >= ' "+year+" /1/1' and adddate <= ' "+year+" /12/31' ";),
那么这种情景下取出来的2013年的数据是不包含时间为null的数据元素的。此时我们可以利用sql注入的方式,传year的值为“ ' or adddate is null and 1='1';-- ”,执行后查到的数据就是2013年的和为null的数据.
以上只是我想的一个简单的逆向想法:把原本用于黑别人的东西拿来放在程序中使用以达到正确目的。引深一点就是把原本是有害的东西不一定完全就是有害的(那只是放错了地方),在正确的地方使用会达到很好的效果。
本人是新手,高手勿喷。 (转载网络)
2011-06-17
电脑开机时出现lass.exe进程是病毒吗?
自拍须谨慎!教你如何通过照片定位查看拍摄地点
电脑病毒最基础知识
黑客学员必须了解的C语言技术
精典详细内网渗透专题文章
教你破解Tp-Link的无线路由密码
解决SecureCRT中文显示乱码
QQ电脑管家和360哪个好?横评实测对比
攻防实战:无线网络路由入侵过程