易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL注入攻击

 SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况,需要构造巧妙的SQL语句,从而成功获取想要的数据。
  SQL注入攻击的总体思路
  ·发现SQL注入位置;
  ·判断后台数据库类型;
  ·确定XP_CMDSHELL可执行情况
  ·发现WEB虚拟目录
  ·上传ASP木马;
  ·得到管理员权限;
  SQL注入攻击的步骤
  一、SQL注入漏洞的判断
  一般来说,SQL注入一般存在于形如:HTTP://xxx.xxx.xxx/abc.asp?id=XX等带有参数的ASP动态网页中,有时一个动态网页中可能只有一个参数,有时可能有N个参数,有时是整型参数,有时是字符串型参数,不能一概而论。总之只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQL注入。如果ASP程序员没有安全意识,不进行必要的字符过滤,存在SQL注入的可能性就非常大。
  为了全面了解动态网页回答的信息,首选请调整IE的配置。把IE菜单-工具-Internet选项-高级-显示友好HTTP错误信息前面的勾去掉。
  为了把问题说明清楚,以下以HTTP://xxx.xxx.xxx/abc.asp?p=YY为例进行分析,YY可能是整型,也有可能是字符串。
  1、整型参数的判断
  当输入的参数YY为整型时,通常abc.asp中SQL语句原貌大致如下:
  select * from 表名 where 字段=YY,所以可以用以下步骤测试SQL注入是否存在。
  ①HTTP://xxx.xxx.xxx/abc.asp?p=YY’(附加一个单引号),此时abc.ASP中的SQL语句变成了
  select * from 表名 where 字段=YY’,abc.asp运行异常;
  ②HTTP://xxx.xxx.xxx/abc.asp?p=YY and 1=1, abc.asp运行正常,而且与HTTP://xxx.xxx.xxx/abc.asp?p=YY运行结果相同;
  ③HTTP://xxx.xxx.xxx/abc.asp?p=Y


相关文档:

一条SQL删除所有表中数据

         由于处于系统开发的后期,需要给客户演示。发现大量的表,存在大量的测试数据。需要清除,用“delete from tablename” -->  晕死。后来发现居然有这么强大的东东。 :)
 EXECUTE sp_msforeachtable 'delete from ?' ......

sql update 用法

将b表中caller列的值插入a表中call列中。
 create table a
(
 fid int,
 call varchar(20),
 age int
)
create table b
(
 fid int,
 caller varchar(20),
 parentId int
)
select * from a
select * from b
insert into a values(1,null,19)
insert into a values(2,n ......

MS Sql Server 2005 分区表有点麻烦


ALTER DATABASE AdventureWorks ADD FILEGROUP [2003Q3]

创建文件组后,使用 ALTER DATABASE 将文件添加到该文件组中。
ALTER DATABASE AdventureWorks
ADD FILE
(NAME = N'2003Q3',
FILENAME = N'C:\AdventureWorks\2003Q3.ndf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB)
TO FILEGR ......

SQL Server 中AS的特殊性

 外连接取数据如果为空,不存在AS时可能取到数据,但加了AS就会报错。比如Select Top 10 a.*,b.Class AS ClassId
,b.DeviceName from AuxBusInfo a Left Join  DeviceCandidate b On a.InitialDeviceRscId = b.DeviceRscId Order By AuxBusId,当 ......

MS SQL 递归函数


/*
select *,dbo.getDeptTree(id) as DeptTree from sysdept
递归函数
*/
CREATE  function getDeptTree(@NodeId int)
returns varchar(8000)
as
begin
    declare @ret varchar(8000),@ParentId int,@len int
    set @len = 0
  &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号