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

SQL注入攻击实现原理与攻击过程详解

 
SQL注入攻击的实现原理
结构化查询语言(SQL)是一种用来和数据库交互的文本语言,SQL Injection就是利用某些数据库的外部接口把用户数据插入到实际的数据库操作语言当中,从而达到入侵数据库乃至操作系统的目的。它的产生主要是由于程序对用户输入的数据没有进行细致的过滤,导致非法数据的导入查询。
 
SQL注入攻击主要是通过构建特殊的输入,这些输入往往是SQL语法中的一些组合,这些输入将作为参数传入Web应用程序,通过执行SQL语句而执行入侵者的想要的操作,下面以登录验证中的模块为例,说明SQL注入攻击的实现方法。
 
在Web应用程序的登录验证程序中,一般有用户名(username)和密码 (password)两个参数,程序会通过用户所提交输入的用户名和密码来执行授权操作。其原理是通过查找user表中的用户名(username)和密码(password)的结果来进行授权访问,典型的SQL查询语句为:
 
  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命令
 
SQL注入攻击实现过程
 
  SQL注入攻击可以手工进行,也可以通过SQL注入攻击辅助软件如HDSI、Domain、NBSI等,其实现过程可以归纳为以下几个阶段:
 
  (1)寻找SQL注入点;寻找SQL注入点的经典查找方法是在有参数传入的地方添加诸如“and 1=1&


相关文档:

讲解SQL Server数据库被挂马的解决方案

讲解SQL Server数据库被挂马的解决方案
http://www.cnhacker.com/Security/Plan/200808/t20080822_6383.html
案例:一个网站遭遇入侵,破坏相当严重,SQL数据库被挂马,所有的表里面大部分字段都被多次重复插入挂马代码,查看日志,还好没有涉及到服务器的安全,只是数据库那里出现了很多异常警告而已,网站确实存在漏洞 ......

SQL存储过程基础语法

一.注释
-- 单行注释,从这到本行结束为注释sql 语法,类似C++,c#中//
/* … */ 多行注释,类似C++,C#中/* … */
二.变量(int, smallint, tinyint, decimal,float,real, money ,smallmoneysql 语法, text ,image, char, varchar。。。。。。)
语法:
DECLARE
{
{@local_variable data_t ......

SQL命令查询视图定义语句

用SQL命令查询视图定义语句,可以用以下两种方法:
sp_helptext '视图名' --多行显示
SELECT text from sysobjects so INNER JOIN syscomments sc ON so.id=sc.id  WHERE so.id=OBJECT_ID('视图名')--单行显示
......

SQL语句导入导出大全

这是《VC++动态链接库(DLL)编程深入浅出》的第四部分,阅读本文前,请先阅读前三部分:(一)
、(二)
、(三)

  MFC扩展DLL的内涵为MFC的扩展,用户使用MFC扩展DLL就像使用MFC本身的DLL一样。除了可以在MFC扩展DLL的内部使用MFC以外,MFC扩展DLL与应用程序的接口部分也可以是MFC。我们一般使用MFC扩展DLL来包含 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号