當前位置:首頁 » 編程語言 » 可sql注入網站
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

可sql注入網站

發布時間: 2022-07-21 08:47:42

⑴ 製作網站時,sql注入是什麼怎麼注入法

SQL注入是:

許多網站程序在編寫時,沒有對用戶輸入數據的合法性進行判斷,使應用程序存在安全隱患。用戶可以提交一段資料庫查詢代碼(一般是在瀏覽器地址欄進行,通過正常的www埠訪問),根據程序返回的結果,獲得某些想得知的數據,這就是所謂的SQL Injection,即SQL注入。

網站的惡夢——SQL注入

SQL注入通過網頁對網站資料庫進行修改。它能夠直接在資料庫中添加具有管理員許可權的用戶,從而最終獲得系統管理員許可權。黑客可以利用獲得的管理員許可權任意獲得網站上的文件或者在網頁上加掛木馬和各種惡意程序,對網站和訪問該網站的網友都帶來巨大危害。

防禦SQL注入有妙法

第一步:很多新手從網上下載SQL通用防注入系統的程序,在需要防範注入的頁面頭部用 來防止別人進行手動注入測試。可是如果通過SQL注入分析器就可輕松跳過防注入系統並自動分析其注入點。然後只需要幾分鍾,你的管理員賬號及密碼就會被分析出來。

第二步:對於注入分析器的防範,筆者通過實驗,發現了一種簡單有效的防範方法。首先我們要知道SQL注入分析器是如何工作的。在操作過程中,發現軟體並不是沖著「admin」管理員賬號去的,而是沖著許可權(如flag=1)去的。這樣一來,無論你的管理員賬號怎麼變都無法逃過檢測。

第三步:既然無法逃過檢測,那我們就做兩個賬號,一個是普通的管理員賬號,一個是防止注入的賬號,為什麼這么說呢?筆者想,如果找一個許可權最大的賬號製造假象,吸引軟體的檢測,而這個賬號里的內容是大於千字以上的中文字元,就會迫使軟體對這個賬號進行分析的時候進入全負荷狀態甚至資源耗盡而死機。下面我們就來修改資料庫吧。

1.對表結構進行修改。將管理員的賬號欄位的數據類型進行修改,文本型改成最大欄位255(其實也夠了,如果還想做得再大點,可以選擇備注型),密碼的欄位也進行相同設置。

2.對表進行修改。設置管理員許可權的賬號放在ID1,並輸入大量中文字元(最好大於100個字)。

3.把真正的管理員密碼放在ID2後的任何一個位置(如放在ID549上)。

我們通過上面的三步完成了對資料庫的修改。

這時是不是修改結束了呢?其實不然,要明白你做的ID1賬號其實也是真正有許可權的賬號,現在計算機處理速度那麼快,要是遇上個一定要將它算出來的軟體,這也是不安全的。我想這時大多數人已經想到了辦法,對,只要在管理員登錄的頁面文件中寫入字元限制就行了!就算對方使用這個有上千字元的賬號密碼也會被擋住的,而真正的密碼則可以不受限制。

⑵ 如何找一個可以sql注入的網站

方法一:利用google高級搜索,比如搜索url如.asp?id=9如下所示:

(說明:後綴名為php的類似)

⑶ 如何對一個網站進行SQL注入攻擊

1.POST注入,通用防注入一般限制get,但是有時候不限制post或者限制的很少,這時候你就可以試下post注入,比如登錄框、搜索框、投票框這類的。另外,在asp中post已被發揚光大,程序員喜歡用receive來接受數據,這就造成了很多時候get傳遞的參數通過post/cookie也能傳遞,這時如果恰好防注入程序只限制了get,因此post注入不解釋
2.cookie注入,原理同post注入,繞過相當多通用防注入
3.二次注入,第一次注入的數據可能不會有效,但是如果將來能在某個頁面裡面被程序處理呢?注入來了……
4.csrf,適合後台地址已知並且存在已知0day,可以試試用csrf劫持管理員來進行操作(這招其實不屬於sql注入了)
5.打碎關鍵字,比如過濾select,我可以用sel/**/ect來繞過,這招多見於mysql
6.有時候也可以sELeCT這樣大小寫混淆繞過
7.用chr對sql語句編碼進行繞過
8.如果等於號不好使,可以試試大於號或者小於號,如果and不好使可以試試or,這樣等價替換
9.多來幾個關鍵字確定是什麼防注入程序,直接猜測源碼或者根據報錯關鍵字(如"非法操作,ip地址已被記錄")把源碼搞下來研究
10.記錄注入者ip和語句並寫入文件或資料庫,然而資料庫恰好是asp的,插馬秒殺

⑷ 如何對網站進行SQL注入

首先你要了解什麼是SQL注入漏洞,SQL注入漏洞就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字元串,最終達到欺騙伺服器執行惡意的SQL命令,比如很多影視網站泄露VIP會員密碼大多就是通過WEB表單遞交查詢字元暴出的,這類表單特別容易受到SQL注入式攻擊。
簡單來說,網站一般都是由web應用程序,資料庫,伺服器等組成的,網站的所有用戶數據,密碼表單等等都是保存在資料庫當中的,資料庫的內容按到常理來說是只能在伺服器內部進行查詢,當然,但是,開發人員對客戶端用戶向客戶端提交的參數沒有進行過濾,那麼,黑客就可以從客戶端【瀏覽器,等等,詳細可以學習http協議】向伺服器提交查詢資料庫的SQL語句,如果提交的語句成功的被伺服器給接收到並且執行么,那麼黑客豈不是想怎麼查詢資料庫裡面的內容就怎麼查詢,不是么?那些管理賬號密碼,會員數據不是分分鍾就到手了?SQL注入漏洞危害是非常大的。

當然,這種漏洞是根據提交參數沒過濾而產生的,那麼除了瀏覽器的get提交參數,http協議中還有,post提交,cookie提交,等等。注入漏洞不是網上那些所謂的黑闊,用什麼啊D,明小子之類的亂檢測一氣而找出來的,如果樓主想研究這個漏洞的產生,原理,利用和防禦,是需要進行代碼審計,SQL注入語句基礎,等等。

現在一般常用的工具:SQLmap【這是一款神器,現在是公認最強大的開源注入工具】

建議樓主去看幾本書:《SQL注入天書》《SQL注入漏洞的產生與防禦》

這個漏洞的利用不是幾句話就能說清楚的,詳細的可以追問,純手工打字,望樓主採納。

⑸ 如何通過注入SQL語句獲取網站管理許可權及安全措施

×

loading..

資訊
安全
論壇
下載
讀書
程序開發
資料庫
系統
網路
電子書
微信學院
站長學院
QQ
手機軟體
考試

系統安全|
網站安全|
企業安全|
網路安全|
工具軟體|
殺毒防毒|
加密解密|

首頁 > 安全 > 網站安全 > 正文

如何通過注入SQL語句獲取網站管理許可權及安全措施

2011-04-19

0 個評論

收藏

我要投稿

我們知道網站後台需要驗證用戶的輸入, 如果不這樣做, 用戶甚至可以輸入一些SQL語句操作後台的資料庫,
這么好玩的事情一直沒有真正體驗過. 前幾日學校搞了一個"你最喜歡的輔導員"投票活動, 網站估計是給某個學生團隊做的,
結果經同學破解了這個網站的管理員帳號和密碼, 我遂向他請教了原理, 也了解了他破解的步驟, 自己又實踐了一遍. 感謝經同學,
沒有他我就不知道這些, 也不可能有這篇博客.
本文破解網站的網址是www.2cto.com 本文的內容不適用於這個網站了.我整理了詳細的破解過程跟大家分享, 文中的邏輯比較強, 需要讀者耐心的看. 但文本講述的是破解步驟, 是一般思路, 如果您有疑問, 請留言, 我們交流討論 :)
一 網站是否存在SQL注入漏洞

網站一般包含一張用戶表(用戶名和密碼)和一張管理員信息表(管理員名稱和密碼), 輸入用戶名和密碼之後, 一般做法是後台都會執行一條SQL語句,
查詢有沒有對應的用戶和密碼, 比如SELECT * FROM SomeTable WHERE UserName = $UserName AND
pwd = $pwd, 如果這條語句返回真, 那麼登錄操作就完成了.
試想一下如果在學號和密碼文本框中輸入or=or,
並提交的話, 上面提到的SQL語句就變成了SELECT * FROM SomeTable WHERE UserName = or=or AND
pwd = or=or, 這個語語句變成了一個邏輯表達式, 表達式包含幾段, 分別為:

1. SELECT * FROM SomeTable WHERE UserName = (假)
or
2. = (真)
or
3. (假)
and

4. pwd = (假)
or
5. = (真)
or
6. (假)

最後整個邏輯表達式為0|1|0&0|1|0, 這個結果為真(在執行到"0|1|..."的時候整個表達式省略號中的就不計算了, 因為"或"前面已經是真), 因此可以登錄成功, 事實上也登錄成功了.

二 破解後台資料庫的原理
在用戶名和密碼的文本框中輸入or=or, 截至上面所示的第2步, 表達式值為真,
因為後面緊接了一個"或", 所以無論在這後面的表達式是什麼, "真或者假""真或者真"都是為真的. 關鍵就是or=or中間的那個=,
=表示一個字元, 永遠為真. 如果我們將這個=改成某個SQL表達式, 如果這個表達式為真, 那麼整個表達式就為真.

後面的幾個步驟要求用戶名和密碼文本框中都輸入同樣的文本, 原因是: 後台的語句格式可能是SELECT * FROM SomeTable
WHERE UserName = $UserName AND pwd = $pwd, 也有可能是SELECT * FROM SomeTable
WHERE pwd = $pwd AND UserName = $UserName, 無論哪一種情況, 只要用戶名和密碼都輸入的文本是一樣的,
只要文本中包含的SQL表達式為真, 那麼整個表達式就為真. 這樣寫帶來的另一個好處是復制粘貼很方便.
通過寫一些SQL表達式來一次一次的測試出資料庫里的內容.

三 獲取後台資料庫的表名
如果將表達式替換為(SELECT COUNT(*) FROM 表名)<>0,
這個表達式用來獲取一個表中有多少條記錄, 需要做的就是猜這個表名是什麼, 猜中了的話, 那麼這個表中的記錄條數肯定就不會等於0,
那麼這個表達式的值就是真的. 常用的表名也就是那麼一些, 一個個的代進去試, 最後發現有個叫做admin的表, 它的欄位不為空. 很顯然,
這個表是用來存放管理員信息的.

四 獲取後台資料庫表的欄位名
現在已經知道這個表叫做admin了, 接下來想辦法得到這個表中的欄位.

把表達式替換成(SELECT COUNT(*) FROM admin WHERE LEN(欄位名)>0)<>0,
這個表達式用來測試admin這個表中是否包含這個欄位. LEN(欄位名)>0表示這個欄位的長度大於0, 在這個欄位存在的情況下,
LEN(欄位名)>0是始終為真的. 如果包含的話這個欄位的話, 整條SELECT語句返回的數字肯定不為0, 也就是說整個表達式為真,
從而得到欄位名.
按照這樣的方法, 靠猜共得出了三個很關鍵的欄位:id, admin, pass.

五 獲取欄位的長度
目前已得到的信息是有個admin表, 表中有id, admin, pass欄位. 後台中存儲用戶名和密碼, 常規做法是存儲它們進行MD5加密後的值(32位), 現在測試一下是不是這樣.

把表達式替換為(SELECT COUNT(*) FROM admin WHERE LEN(欄位名)=32)<>0, 將admin和pass代進去結果是真, 說明後台存儲管理員帳號和密碼用的是加密後32位的欄位.

六 獲取管理員帳號和密碼
MD5加密後的字元串包含32位, 且只可能是由0-9和A-F這些字元組成.
1. 獲取管理員帳號

將表達式改成(SELECT COUNT(*) FROM admin WHERE LEFT(admin,1)=A)>0,
意思是我猜測某個adimin帳號的第一個字元是A, 如果成功則表達式成立. 失敗的話, 把A換成0-9和B-F中的任意字元繼續試, 知道成功.
如果成功了, 我再繼續猜這個帳號的第二個字元, 假如第一個字元是5, 我猜測第二個字元是A, 那將表達式改成(SELECT COUNT(*)
FROM admin WHERE LEFT(admin,2)=5A)>0. 可以發現字元串中LEFT()函數中的1變成了2,
另外5A代碼左邊兩個字元是5A, 其中5已經確定下來了. 就這樣重復不斷的猜, 直到得到整個32位的MD5加密後的字元串.
2. 獲取該帳號對應的的id
為什麼需要獲取該帳號對應的id? 原因如下: 按照上一條是可以得到帳號和密碼的, 但一張表中可以有若干個管理員帳號和密碼, 怎麼對應起來呢? 需要通過id. 一個id對應一條記錄, 一條記錄只有一對匹配的帳號和密碼.

將表達式改成(SELECT COUNT(*) FROM admin WHERE LEFT(admin,1)=5 AND id=1)>0,
上一條假設了某帳號第一個字元是5, 只要這個表達式中的"AND id = 1"正確, 那麼就可以得知該帳號的id是1. 如果不是1,
換成其它的數字一個個的試一試.
3. 獲取帳號對應的密碼
現在已經猜出了某管理員的帳號,
並且知道對應的id是多少(假設得出來是4), 現在只要得到該條記錄中記錄的密碼是什麼. 同理, 將表達式改成(SELECT COUNT(*)
FROM admin WHERE LEFT(pass,1)=A AND id=4)>0, 注意id已經是知道了的4,
現在要一個個的猜pass中從第1個到第32個字元是什麼, 方法同"獲取管理員帳號"方法. 最後可以得到一個32位的MD5加密後的字元串(密碼).

*注: 如果嫌手工得到每個字元是什麼太麻煩, 可以自己用C#寫一個程序, 模擬一下登錄, 通過控制一個循環, 可以很快得到結果.

七 將MD5加密後的帳號和密碼轉成明文

網上有一些網站資料庫里存儲了海量(幾萬億條)的MD5加密後的暗文對應的明文, 只需輸入你需要查找的MD5加密後的字元串就可以查看到明文是什麼.

⑹ 如何找一個可以sql注入的網站

...不是所有網站都有注入漏洞的,現在很多同學都學會了使用SQL注入
各位站長們也都學會了堵漏洞,所以現在並不容易找到漏洞網站,並不是那些工具不好,而是真的沒漏洞,這也是沒辦法的事,再好的工具也找不到
你可以用那個Google搜索「inurl:asp?」,搜索結果里會有很多動態的asp網站,但是前幾頁的網站都被無數人利用無數回了,應該早就沒有漏洞了,所以你可以搜索「北京烤鴨inurl:asp?」,其中「北京烤鴨」可以換成很多東西,你就可以搜到很多沒被黑過的網站
這樣你就可以拿啊D練練手了
不過別搞破壞哦 那是不對地~~

⑺ SQL注入一般適用於哪種網站

SQL注入適用於任何有SQL漏洞的網站,而SQL漏洞的發現需要用掃描工具掃描出來。

SQL注入是利用現有應用程序,將(惡意)的SQL命令注入到後台資料庫引擎執行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的資料庫,而不是按照設計者意圖去執行SQL語句。

SQL注入一般在網站中可以輸入的文本框中進行。

比如:很多網站主頁都有搜索文本框,而我們就可以利用這個文本框進行與資料庫的交互。

(7)可sql注入網站擴展閱讀:

SQL可以獨立完成資料庫生命周期中的全部活動,包括定義關系模式、錄入數據、建立資料庫、査詢、更新、維護、資料庫重構、資料庫安全性控制等一系列操作,這就為資料庫應用系統開發提供了良好的環境,在資料庫投入運行後,還可根據需要隨時逐步修改模式,且不影響資料庫的運行,從而使系統具有良好的可擴充性。

SQL功能極強,但由於設計巧妙,語言十分簡潔,完成數據定義、數據操縱、數據控制的核心功能只用了9個動詞: CREATE、 ALTER、DROP、 SELECT、 INSERT、 UPDATE、 DELETE、GRANT、 REVOKE。且SQL語言語法簡單,接近英語口語,因此容易學習,也容易使用。

參考資料來源:網路-sql

⑻ sql注入對https://www.198bona.com這個網站搭建的資料庫有效果嗎

1. 什麼是SQL注入?
SQL注入是一種代碼注入技術,過去常常用於攻擊數據驅動性的應用,比如將惡意的SQL代碼注入到特定欄位用於實施拖庫攻擊等。SQL注入的成功必須藉助應用程序的安全漏洞,例如用戶輸入沒有經過正確地過濾(針對某些特定字元串)或者沒有特別強調類型的時候,都容易造成異常地執行SQL語句。SQL注入是網站滲透中最常用的攻擊技術,但是其實SQL注入可以用來攻擊所有的SQL資料庫。在這個指南中我會向你展示在KaliLinux上如何藉助SQLMAP來滲透一個網站(更准確的說應該是資料庫),以及提取出用戶名和密碼信息。
SQL注入可以讓黑客獲得資料庫許可權,可以竊取密碼,執行修改/增加/刪除資料庫表等操作。所以,如果網站被SQL注入攻擊了,首先要依據日誌查看是哪個用戶的許可權泄漏導致的資料庫修改,並更換密碼,同時依據日誌檢查存在注入點的頁面,進行代碼級的修復或採用專業的安全硬體產品如入侵防禦產品。
比特軟體信息化周刊提供以資料庫、操作系統和管理軟體為重點的全面軟體信息化產業熱點、應用方案推薦、實用技巧分享等。以最新的軟體資訊,最新的軟體技巧,最新的軟體與服務業內動態來為IT用戶找到軟捷徑。
比特商務周刊是一個及行業資訊、深度分析、企業導購等為一體的綜合性周刊。其中,與中國計量科學研究院合力打造的比特實驗室可以為商業用戶提供最權威的采購指南。是企業用戶不可缺少的智選周刊!
比特網路周刊向企業網管員以及網路技術和產品使用者提供關於網路產業動態、技術熱點、組網、建網、網路管理、網路運維等最新技術和實用技巧,幫助網管答疑解惑,成為網管好幫手。
比特伺服器周刊作為比特網的重點頻道之一,主要關注x86伺服器,RISC架構伺服器以及高性能計算機行業的產品及發展動態。通過最獨到的編輯觀點和業界動態分析,讓您第一時間了解伺服器行業的趨勢。
比特存儲周刊長期以來,為讀者提供企業存儲領域高質量的原創內容,及時、全面的資訊、技術、方案以及案例文章,力求成為業界領先的存儲媒體。比特存儲周刊始終致力於用戶的企業信息化建設、存儲業務、數據保護與容災構建以及數據管理部署等方面服務。
比特安全周刊通過專業的信息安全內容建設,為企業級用戶打造最具商業價值的信息溝通平台,並為安全廠商提供多層面、多維度的媒體宣傳手段。與其他同類網站信息安全內容相比,比特安全周刊運作模式更加獨立,對信息安全界的動態新聞更新更快。
新聞中心以獨特視角精選一周內最具影響力的行業重大事件或圈內精彩故事,為企業級用戶打造重點突出,可讀性強,商業價值高的信息共享平台;同時為互聯網、IT業界及通信廠商提供一條精準快捷,滲透力強,覆蓋面廣的媒體傳播途徑。
比特雲計算周刊關注雲計算產業熱點技術應用與趨勢發展,全方位報道雲計算領域最新動態。為用戶與企業架設起溝通交流平台。包括IaaS、PaaS、SaaS各種不同的服務類型以及相關的安全與管理內容介紹。
比特CIO俱樂部周刊以大量高端CIO沙龍或專題研討會以及對明星CIO的深入采訪為依託,匯聚中國500強CIO的集體智慧。旨為中國傑出的CIO提供一個良好的互融互通 、促進交流的平台,並持續提供豐富的資訊和服務,探討信息化建設,推動中國信息化發展引領CIO未來職業發展。
IT專家新聞郵件長期以來,以定向、分眾、整合的商業模式,為企業IT專業人士以及IT系統采購決策者提供高質量的原創內容,包括IT新聞、評論、專家答疑、技巧和白皮書。此外,IT專家網還為讀者提供包括咨詢、社區、論壇、線下會議、讀者沙龍等多種服務。
X周刊是一份IT人的技術娛樂周刊,給用戶實時傳遞I最新T資訊、IT段子、技術技巧、暢銷書籍,同時用戶還能參與我們推薦的互動游戲,給廣大的IT技術人士忙碌工作之餘帶來輕松休閑一刻。

⑼ 如何測試一個網站是不是可以被SQL注入

SQL注入通過網頁對網站資料庫進行修改。它能夠直接在資料庫中添加具有管理員許可權的用戶,從而最終獲得系統管理員許可權。黑客可以利用獲得的管理員許可權任意獲得網站上的文件或者在網頁上加掛木馬和各種惡意程序,對網站和訪問該網站的網友都帶來巨大危害。

防禦SQL注入有妙法

第一步:很多新手從網上下載SQL通用防注入系統的程序,在需要防範注入的頁面頭部用來防止別人進行手動注入測試。

可是如果通過SQL注入分析器就可輕松跳過防注入系統並自動分析其注入點。然後只需要幾分鍾,你的管理員賬號及密碼就會被分析出來。

第二步:對於注入分析器的防範,通過實驗,發現了一種簡單有效的防範方法。首先我們要知道SQL注入分析器是如何工作的。在操作過程中,發現軟體並不是沖著「admin」管理員賬號去的,而是沖著許可權(如flag=1)去的。這樣一來,無論你的管理員賬號怎麼變都無法逃過檢測。

第三步:既然無法逃過檢測,那我們就做兩個賬號,一個是普通的管理員賬號,一個是防止注入的賬號,如果找一個許可權最大的賬號製造假象,吸引軟體的檢測,而這個賬號里的內容是大於千字以上的中文字元,就會迫使軟體對這個賬號進行分析的時候進入全負荷狀態甚至資源耗盡而死機。下面我們就來修改資料庫吧。

1.對表結構進行修改。將管理員的賬號欄位的數據類型進行修改,文本型改成最大欄位255(其實也夠了,如果還想做得再大點,可以選擇備注型),密碼的欄位也進行相同設置。

2.對表進行修改。設置管理員許可權的賬號放在ID1,並輸入大量中文字元(最好大於100個字)。

3.把真正的管理員密碼放在ID2後的任何一個位置(如放在ID549上)。

我們通過上面的三步完成了對資料庫的修改。

另外要明白您做的ID1賬號其實也是真正有許可權的賬號,現在計算機處理速度那麼快,要是遇上個一定要將它算出來的軟體,這也是不安全的。只要在管理員登錄的頁面文件中寫入字元限制就行了,就算對方使用這個有上千字元的賬號密碼也會被擋住的,而真正的密碼則可以不受限制。