开发学院网络安全安全技术 SQL注入攻击及其防范检测技术研究 阅读

SQL注入攻击及其防范检测技术研究

 2008-11-01 13:29:27 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姇閻忔氨鈧凹鍓熷娲垂椤曞懎鍓伴梺閫炲苯澧紒澶婄秺瀵濡歌閸嬫捇妫冨☉娆忔殘闂佷紮缍€娴滎剟鍩€椤掑倹鏆柛瀣躬瀹曚即寮借閺嗭箓鏌ㄩ悤鍌涘
核心提示: Select * from users where username='admin' and password='smith’如果分别给username和password赋值“admin' or 1=1--”和&ldquo

Select * from users where username='admin' and password='smith’

如果分别给username和password赋值“admin' or 1=1--”和“aaa”。那么,SQL脚本解释器中的上述语句就会变为:

select * from users where username=’admin’ or 1=1-- and password=’aaa’

该语句中进行了两个判断,只要一个条件成立,则就会执行成功,而1=1在逻辑判断上是恒成立的,后面的“--”表示注释,即后面所有的语句为注释语句。同理通过在输入参数中构建SQL语法还可以删除数据库中的表,查询、插入和更新数据库中的数据等危险操作:

(1)jo'; drop table authors—如果存在authors表则删除。

(2)' union select sum(username) from users—从users表中查询出username的个数

(3)'; insert into users values( 666, 'attacker', 'foobar', 0xffff )—在user表中插入值

(4)' union select @@version,1,1,1--查询数据库的版本

(5)'exec master..xp_cmdshell 'dir' 通过xp_cmdshell来执行dir命令

2.2. SQL注入攻击实现过程

SQL注入攻击可以手工进行,也可以通过SQL注入攻击辅助软件如HDSI、Domain、NBSI等,其实现过程可以归纳为以下几个阶段:

(1)寻找SQL注入点;寻找SQL注入点的经典查找方法是在有参数传入的地方添加诸如“and 1=1”、“and 1=2”以及“’”等一些特殊字符,通过浏览器所返回的错误信息来判断是否存在SQL注入,如果返回错误,则表明程序未对输入的数据进行处理,绝大部分情况下都能进行注入。

上一页  1 2 3 4 5 6  下一页

Tags:SQL 注入 攻击

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接