瞭解ASP入侵[收集總結](轉)
瞭解ASP入侵[收集總結](轉)[@more@]ASP可執行的伺服器端平臺包括:WinNT、Win2k、WinXP和Win2003,在Win98系統裡裝上PWS4.0也可執行。
現在很流行的注入攻擊,就是利用提交特殊地址將ASP中引用的正常SQL語句和入侵者所需要的SQL語句一併執行,使入侵者達到入侵的目的。隨著有一些指令碼注入工具釋出,使菜鳥也可以輕鬆完成對ASP的注入攻擊。那麼我們來了解一下這些工具是怎樣注入的。
首先,入侵者會對一個網站確定可不可以進行注入,假設一篇新聞(文章)的地址為: 一般會以提交兩個地址來測試,如:
and 1=1
and 1=2
第一個地址後面加了and 1=1,構成的SQL語句也就變為了:Select * from 表單名 where id=1 and 1=1這句話要成立必須and前後語句都成立。那麼前面的文章地址是可以訪問的,後面的1=1也是客觀成立的,那麼第一個地址就可以正常顯示;相反1=2是顯然不成立的,關鍵就看這步了,如果提交and 1=2頁面還是正常顯示說明他並沒有將and 1=2寫入SQL語句,此站也就不存在注入漏洞;但如果提交and 1=2之後返回了錯誤頁面則說明此站點將後面的語句帶入了SQL語句並執行了,也就說明他可以進行SQL隱碼攻擊。(注:如果地址後面跟的是news.asp?id='1'就得變為news.asp?id=1' and '1'='1來補全引號了)
現在知道了可以注入後,入侵者可以做什麼呢?如果提交這樣的地址:
and exists (select * from 表名 where 列名=資料)根據返回的正確或錯誤頁面來判斷猜的表名和列名是否正確,具體實現時是先猜表名再猜列名。當猜出表名和列名之後還可以用ASC和MID函式來猜出各列的資料。MID函式的格式為:mid(變數名,第幾個字元開始讀取,讀取幾個字元),比如:mid(pwd,1,2)就可以從變數pwd中的第一位開始讀取兩位的字元。ASC函式的格式為:ASC("字串"),如:asc("a")就可以讀出字母a的ASCII碼了。那麼實際應用的時候就可以寫為:asc(mid(pwd,1,1))這樣讀取的就是pwd列的第一個字元的ASCII碼,提交: asc(mid(pwd,1,1))>97以返回的頁面是否為正確頁面來判斷pwd列的第一個字元的ASCII碼是否大於97(a的ASCII碼),如果正確就再試是否小於122(z的ASCII碼)……這樣慢慢縮小字元的ASCII碼的範圍,直到猜到真實的ASCII碼。這樣一位一位的猜就可以得到資料庫中的使用者名稱和密碼。還有一種ASP驗證缺陷——就是使用者名稱和密碼都輸'or '1'='1,構造SQL語句Select * form 表單名 where username='' or '1'='1' and pwd='' or '1'='1'就可以達到繞過密碼驗證的目的。
現在很流行的注入攻擊,就是利用提交特殊地址將ASP中引用的正常SQL語句和入侵者所需要的SQL語句一併執行,使入侵者達到入侵的目的。隨著有一些指令碼注入工具釋出,使菜鳥也可以輕鬆完成對ASP的注入攻擊。那麼我們來了解一下這些工具是怎樣注入的。
首先,入侵者會對一個網站確定可不可以進行注入,假設一篇新聞(文章)的地址為: 一般會以提交兩個地址來測試,如:
and 1=1
and 1=2
第一個地址後面加了and 1=1,構成的SQL語句也就變為了:Select * from 表單名 where id=1 and 1=1這句話要成立必須and前後語句都成立。那麼前面的文章地址是可以訪問的,後面的1=1也是客觀成立的,那麼第一個地址就可以正常顯示;相反1=2是顯然不成立的,關鍵就看這步了,如果提交and 1=2頁面還是正常顯示說明他並沒有將and 1=2寫入SQL語句,此站也就不存在注入漏洞;但如果提交and 1=2之後返回了錯誤頁面則說明此站點將後面的語句帶入了SQL語句並執行了,也就說明他可以進行SQL隱碼攻擊。(注:如果地址後面跟的是news.asp?id='1'就得變為news.asp?id=1' and '1'='1來補全引號了)
現在知道了可以注入後,入侵者可以做什麼呢?如果提交這樣的地址:
and exists (select * from 表名 where 列名=資料)根據返回的正確或錯誤頁面來判斷猜的表名和列名是否正確,具體實現時是先猜表名再猜列名。當猜出表名和列名之後還可以用ASC和MID函式來猜出各列的資料。MID函式的格式為:mid(變數名,第幾個字元開始讀取,讀取幾個字元),比如:mid(pwd,1,2)就可以從變數pwd中的第一位開始讀取兩位的字元。ASC函式的格式為:ASC("字串"),如:asc("a")就可以讀出字母a的ASCII碼了。那麼實際應用的時候就可以寫為:asc(mid(pwd,1,1))這樣讀取的就是pwd列的第一個字元的ASCII碼,提交: asc(mid(pwd,1,1))>97以返回的頁面是否為正確頁面來判斷pwd列的第一個字元的ASCII碼是否大於97(a的ASCII碼),如果正確就再試是否小於122(z的ASCII碼)……這樣慢慢縮小字元的ASCII碼的範圍,直到猜到真實的ASCII碼。這樣一位一位的猜就可以得到資料庫中的使用者名稱和密碼。還有一種ASP驗證缺陷——就是使用者名稱和密碼都輸'or '1'='1,構造SQL語句Select * form 表單名 where username='' or '1'='1' and pwd='' or '1'='1'就可以達到繞過密碼驗證的目的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-947634/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- pytest瞭解總結
- lucene 總結收集(url)
- 專案總結【收集】
- DVbbs8.2入侵思路與總結
- 工作總結ppt模板,瞭解一下!
- ASP.NET總結ASP.NET
- JVM垃圾收集器總結JVM
- 與其他語言的比較——瞭解ASP、PHP和JSP (轉)PHPJS
- ASP.NET2.0中CSS失效的問題總結(轉)ASP.NETCSS
- 【轉】1433埠入侵詳解
- 深入瞭解ASP.NET中的“空”ASP.NET
- 瞭解ASP.NET底層架構ASP.NET架構
- javaSE總結(轉+總結)Java
- ASP.NET知識總結ASP.NET
- asp.net實訓總結ASP.NET
- ASP.Net快取總結ASP.NET快取
- asp.net面試題收集ASP.NET面試題
- 關於統計資料收集的總結
- 利用Weblogic進行入侵的一些總結Web
- ASP.Net 管道模型 VS Asp.Net Core 管道 總結ASP.NET模型
- 深入瞭解 Vue.js 是如何進行「依賴收集]Vue.js
- 瞭解 JAVA classloader (轉)Java
- 防範ASP網站漏洞及黑客入侵網站黑客
- 2020 總結 | VoltDB的亮點,你瞭解多少?
- 深入瞭解HTTP/2的前世今生以及Web效能優化總結HTTPWeb優化
- 記一次ASP.NET網站的入侵和如何避免被入侵ASP.NET網站
- 轉:Git 總結Git
- SmartForms總結(轉)ORM
- ASP.NET1.0升級ASP.NET2.0問題總結ASP.NET
- 【asp.net core 系列】 1 帶你瞭解一下asp.net coreASP.NET
- 面試官:談談你對JVM垃圾收集器的瞭解面試JVM
- Flutter新手入門常用元件總結,讓你瞭解更多的Flutter元件?Flutter元件
- 入侵思路講解
- 瞭解Android Matrix轉換Android
- 瞭解CObject 和 CRuntimeClass (轉)Object
- 轉載 :深入瞭解ORACLE SCNOracle
- 全面瞭解jar問題(轉)JAR
- 瞭解 Debian 系統(轉)