標題:Pragyan CMS v 3.0 => [Remote File Disclosure]數據庫
經過注入點判斷服務器的硬盤文件是否有訪問權服務器
http://hellxman.blog.51cto.com/koohik.asp?id=48187,這個是注入點了的。如今咱們用 SQL查詢語句試試,C盤是否有訪問權限。
語句是:
and (select count(*) from c:\autoexec.bat.c)>0
解釋一下原理,其它AC數據庫也是能夠跨庫查詢。只要把 from 後的表名改爲MDB數據庫的硬盤絕對地址,後臺加上個「. 」,接上要查的表名。例如,我要查D盤yqf.mdb中的ADMIN表:
and (select count(*) from d:\yqf.mdb.admin)>0
這樣的語句,只要知道服務器硬盤其它數據庫地址,ACCESS也能跨庫查詢。只是不知道地址,因此這個可有可無。
and (select count(*) from c:\autoexec.bat.c)>0
爲何說用這句能夠判斷是否有硬盤訪問權限呢?你們都知道c:\autoexec.bat 是系統裏自有的文件 不管哪一個系統都有,而你們默認安裝WINDOWS也是裝在C盤,若是這樣找不到文件的話,你能夠試試其它盤。
如今咱們提交:
and (select count(*) from c:\autoexec.bat.c)>0
看到吧「不可識別的數據庫格式’c:\AUTOEXEC.BAT’」報錯信息
這樣表示C盤有訪問的權限。由於讀到了AUTOEXEC.BAT把autoexec.bat當mdb數據庫來處理了
因此就出現這樣的錯誤提示。
如今咱們用剛傳的馬去看看,呵,C盤有訪問的權限吧。反之,若是沒有訪問權限,則會提示「c:\autoexec.bat 已被另外一種方式打開,或者無權訪問。」相似這樣的提示,就是無權限訪問了。
不過 autoexec.bat 能夠測試,好比 c:\winnt\system32\cmd.exe,這些系統原有的文件均可以用來試。ide