的SQL流量注入(SQL注入)攻击法

的SQL流量注入(SQL注入)攻击法,第1张

的SQL流量注入(SQL注入)攻击法,第2张

在编程过程中,我们经常将用户输入的数据拼成一条SQL语句,然后直接发送给服务器执行,比如:

string SqlStr = " select * from customers where company name Like ' % "+textbox 1。text+“%”;

这种字符串连接可能会带来灾难性的结果,例如用户输入:

' a '或1=1 -

那么SqlStr的内容是:

select * from customers其中CompanyName类似于' %a '或1=1 - % '

这样,将检索整个customers数据表中的所有数据,因为1=1始终为真,最后一个百分号和单引号由短横线注释掉。

如果用户输入:

' a' EXEC sp_addlogin 'John ',' 123 ' EXEC sp _ addsrvrolemember ' John ',' sysadmin' -

那么SqlStr的内容是:

select * from客户,其中company name like ' % a ' EXEC sp _ addlog in ' John ',' 123 ' EXEC sp _ addsrvrolemember ' John ',' sysadmin' -

这个语句是在后台数据库中添加一个用户John,密码123,并且是sys admin账号,相当于sa的权限。

如果用户输入:

' a ' EXEC XP _ cmdShell(' format c:/y ')-

运行后好像格式化了c盘!

还有很多更危险的手术,但都没试过。存储过程易于使用。存储过程的参数把用户的输入当作一个真实的字符串,既安全又快捷!

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 的SQL流量注入(SQL注入)攻击法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情