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

SQL注入简单原理分析

 SQL注入简单分析
示例语句:
select * from admintable where adminName like '%a%'
在查询中我们一般在a这个地方由界面传入不同的值,当我们在a这里传入的值为“'”单引号时,拼凑成的SQL语句就如下:
select * from admintable where adminName like '%'%'
执行这句语句我们会发现出现以下异常:
消息 105,级别 15,状态 1,第 1 行
字符串 '
' 后的引号不完整。
消息 102,级别 15,状态 1,第 1 行
'
' 附近有语法错误。
因为单引号的加入是原本完整的SQL语句拼凑不再完整,因此导致以上异常。
而一般黑客在简单的尝试注入时,在界面的输入处(如URL的参数,文本框的输入等)直接输入单引号来测试是否会引发SQL异常,根据页面的错误代码展现来判断是否存在SQL注入漏洞,例如会直接在页面中出现SQL的异常代码或直接跳转到错误页面。当被认为存在SQL注入漏洞时,那么将不再是输入单引号了,而是输入相关的SQL执行语句。
于是当我们传入不同的值例如
  ' or 1=1 ;delete admintable where 1=1 or ''=' 
得到的SQL语句就如下:
select * from admintable where adminName like '%' or 1=1 ;delete admintable where 1=1 or ''='%'
而这句SQL的执行效果就有两个:
1、select * from admintable where adminName like '%' or 1=1 ;
     --查询admintable
2、delete admintable where 1=1 or ''='%'
     --将admintable清空
也就是说如果把delete admintable where 1=1 这句SQL扩展修改的话,可以执行增删改等操作了,例如SQL2000中的XP_CMDShell命令还能直接执行CMD命令台的CMD命令,来实现直接对服务器的控制等。
至于如何暴露出数据库的各个表的名字等,可以通过枚举猜测等方式实现,网络上已经有相关的SQL注入工具可供直接使用。
当我们的网站存在SQL注入漏洞时,最好修改相关的底层代码或者使用相关的监控工具来修复。一个网站被入侵并不是黑客的错,而是服务器管理员和网站开发人员惹下的祸。
如有错误,敬请指正。


相关文档:

sql数据库:如何在一个表中填加或者删除一个字段!


如要在一个hwsp表中填加字段:ylxs
alter table hwsp add column ylxs
ALTER TABLE 表 {ADD ADD{COLUMN 字段类型 [ (字长)] [NOT NULL]     [CONSTRAINT 索引 ] |
     ALTER COLUMN 字段类型 [(字长)] |
     CONSTRAINT 多重字段索引 } |
 &nbs ......

SQL 中将一个表转化成建表语句的存储过程

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE proc pGetInsertSQL (@TableName varchar(256))
as
begin
    set nocount on
    declare @sqlstr varchar(4000)
    declare @sqlstr1 varchar(4000)
    declare @sqlstr2 v ......

尽量避免在SQL语句中使用LIKE

----start
    前面,我们介绍了 尽量避免在SQL语句的WHERE子句中使用函数,因为这样做会使该字段上的索引失效,影响SQL语句的性能。基于同样的道理,我们也应该避免使用LIKE。考虑下面的情况:
CREATE TABLE USER
(
NAME VARCHAR(20) NOT NULL,---姓名
MYNUMBER VARCHAR(18)---身份证号码
);&nb ......

SQL SERVER导入BAK文件

系统环境:windows xp pro
数据库:MS Sql 2000
IIS: 5.1 ASP.NET2.0
因为代码是2.0.net的,没有办法只好安装了.net下载你可以去微软的网站上去下载.这个是免费的软件,我知道的是免费的。
数据库做了压缩后缀是bak的,所以数据库不能直接使用,需要导入在网上查了很多的资料但是不多,但自己成功导入了,写下来做一个备 ......

SQL Server 数据库导入导出部分

1.在查询分析器下查询Excel文档
Select * from
OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source = "c:\测试.xls";User ID = Admin;Password=;Extended properties=Excel8.0)....Sheet1$
2.从数据库中导出数据并存到文件中
EXEC master..xp_cmdshell 'bcp CAS2004..HGZ_LIAOJIAN out c:\temp1.xls -c -q -S"."- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号