冬令營線上直播學習筆記1——SQL注入原理及萬能語句

一、什麼是OWASP TOP 10?

OWASP(開放式Web應用程序安全項目)的工具、文檔、論壇和全球各地分會都是開放的,對所有致力於改進應用程序安全的人士開放,其最具權威的就是“10項最嚴重的Web 應用程序安全風險列表” ,總結了Web應用程序最可能、最常見、最危險的十大漏洞,是開發、測試、服務、諮詢人員應知應會的知識。
包括SQL注入、xss、CSRF、上傳等;系統滲透:後門、木馬、提權。

二、SQL注入理論知識

1.SQL注入的原理:
SQL注入就是指web應用程序對用戶輸入的數據合法性沒有做過濾或者是判斷,將傳入的數據代入數據庫的操作。

2.sql注入漏洞存在於動態的網頁,因爲動態網頁可以與後臺數據庫進行交互和數據傳遞。
動態網頁的擴展名是根據使用的腳本語言來命名的,常見的有:
.asp、.php、.jsp、.aspx。
靜態網頁是不存在SQL注入的。靜態網頁由HTML語言編寫的,常見的擴展名有:.html、.htm、.shtml。

3.url地址由以下幾部分部分:
①協議
②主機名(IP或域名),後面可跟端口號
③路徑(網站的結構目錄)
④訪問的頁面,可以根據根據擴展名判斷出該網頁的語言
⑤【?參數名=值】,“?”是用來將頁面和要傳遞的參數隔開。

4.SQL注入產生的必要條件:
(1)傳入的參數由攻擊者來控制;
(2)傳入的參數會被代入數據庫進行操作,沒有對輸入的參數進行過濾和判斷。

5.信息蒐集的方式:
(1)御劍後臺掃描:被動信息收集,需要通過枚舉的方式,所以不一定全部能夠掃描出來(因爲如果字典裏面沒有的話就掃不出結果)
(2)主動信息收集:AWVS、appscan、openVAS、nessus等,但很容易被發現,因爲是會給網站發送大量的特徵碼去匹配,容易把網站掃掛或者動靜很大被管理員發現。
(掃描的意義就是,掃出頁面,比如login.php啊之類的,然後就可以進行SQL注入了)

6.萬能語句的原理:
【’or’1’=’1’#】
①代入數據庫查詢語句可以看到它實際上是where id=’ ‘or ‘1’=‘1’,假or真一定爲真,所以即使我們沒有輸入參數的值,但我們依然能使這個查詢語句正常執行並返回結果。
②代入#號以後,實際上的查詢語句是#’"." and pass= ’ ‘,而#的作用是註釋,所以我們把後面需要輸入密碼的查詢語句給註釋掉了,即實現了繞過密碼。
注:【"."】是連接字段的意思。
③【where id=’ '"." and pass= ’ 'or ‘1’=‘1’】同樣可以實現密碼燒過,其原理是: 這句話翻譯出來是“假and假or真”,而and的優先級大於or,所以會先比較and在比較or,即“假and假or真→假or真→真”,實現密碼繞過。

7.SQL注入首先需要找到動態頁面;如果是GET方法可以在URL中實現對參數的輸入,如果是POST方法可以在表單中傳參。
參數的類型有三種:數字型、字符型、搜索型。

三、實驗

** 使用萬能語句對grade網站和book網站進行注入攻擊**
(注意:grade網站、book網站是搭建在虛擬機中的實驗環境)
1.grade進行萬能語句注入:
在這裏插入圖片描述
注入成功:
在這裏插入圖片描述
2.book進行萬能語句注入,由於用戶名和密碼不能爲空,所以這兩個地方都輸入萬能語句:
在這裏插入圖片描述
注入成功:

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章