2011-01-13 113 views
1

情況:MSAccess SQL注入

我正在爲我的一個朋友做一些滲透測試,並且在演示環境中有總郵件去郵寄。原因是因爲我在他的在線ASP應用程序中看到了一個XSS洞(錯誤頁面錯誤爲允許HTML的參數)。

他有一個Access數據庫,並且由於缺乏輸入驗證,我遇到了另一個漏洞:他允許SQL注入where子句。

我嘗試了一些東西來自: http://www.krazl.com/blog/?p=3

但是這給了有限的結果: MSysRelationships是開放的,但他的對象表被屏蔽。 'UNION SELECT 1,1,1,1,1,1,1,1,1,1 FROM MSysRelationships WHERE'1'='1 < - 工作,所以我知道父表至少有9列。我不知道如何利用關係表來獲取表名(我無法找到任何結構解釋,所以我不知道該選什麼。)

嘗試蠻力某些表名,但無濟於事。

我不想垃圾他的數據庫,但我不希望有一些後盾,以點出嚴重的缺陷。

任何人有想法?

+0

http://stackoverflow.com/questions/512174/non-web-sql-injection – onedaywhen 2011-01-13 15:06:42

回答

1

通常有兩種方法可以從這裏着手。您可以嘗試通過存儲在其中的數據類型來猜測表名(通常可以工作(「用戶」通常存儲用戶數據...)另一種方法會在應用程序中生成口語錯誤消息,以查看是否可以從那裏獲取表名或列名。