SQLMAP學習 === **組員參考影片:** **sqlmap(Youtube)** [Beginner's Guide to sqlmap - Full Course](https://www.youtube.com/watch?v=nVj8MUKkzQk) --- **自己找的:** **網路課程(WEB)** [CYBR:Beginner’s Guide to sqlmap](https://cybr.com/courses/beginners-guide-to-sqlmap/) --- 為啥SQL Injection prevalent(盛行)? --- 1. Datebse is heart of web application  2. Filled with valuable data 3. Organization make defending against these type of attacks a top priority 4. According to **"Web Attack and Gaming Abuse"**(2019) <font color=#FF0000>SQLi最高</font>(其次LFI-->XSS-->PHPi-->RIFI-->Other)  -->造成學習的人數於2021有了顯著的提升 How does sqlmap work? --- 1. is an automatic sql injecton and database takeover tool 2. open source tool-->可以看到entire code can contribute to project and even create your own version-->可以用於自己的專案甚至將其改成屬於自己的版本 **OpenSource下載點** [Github/sqlmapproject/sqlmap](https://github.com/sqlmapproject/sqlmap) 3. Penetration Testing Tool(滲透測試工具) 4. help you exploit(利用) the vulnerabilities(漏洞) to... sqlmap features? --- 參考網址 https://sqlmap.org/  1. database fingerprinting(指紋) 2. gathering information about engine、version ...etc 3. support main database like:MySQL、Oracle、PostgreSQL、SQLite、MariaDB...etc -->多樣化支援 4. Full support for six SQL injection techniques: - [ ] (理解所有類型意思) [類型解釋](https://www.acunetix.com/websitesecurity/sql-injection2/) * boolean-based blind * time-based blind * error-based * UNION query-based * stacked queries * out-of-band (作者意思是想知道,可以上他的免費課程有說喔...) 5. Support to * enumerate users(列舉使用者) * password hashes(密碼的雜湊值,提供解開的服務) * privileges(猜權限) * roles(腳色) * databases(資料庫) * tables(表格) * columns(欄位) 6. Support to 【download】 and 【upload】 any file from the database server underlying(潛在的) file system when the database software is 【MySQL, PostgreSQL or Microsoft SQL Server】 7. Support to establish an out-of-band stateful TCP connection between the attacker machine and the database server underlying operating system. This channel can be an interactive command prompt, a Meterpreter session or a graphical user interface (VNC) session as per user's choice (支援在攻擊者機器和資料庫伺服器底層作業系統之間建立帶外有狀態TCP連線。根據使用者的選擇,該通道可以是互動式命令提示字元、Meterpreter 會話或圖形使用者介面 (VNC) 會話。) **值得閱讀網站** [秒懂 SQL Injection] (https://tech-blog.cymetrics.io/posts/nick/sqli/) People also ask --- 首先要先知道: 1. 雖然SQLmap是自動化工具,但還是需要人類互動以及引導正確的方向 2. 不能隨意攻擊,目標在加速自身網站問題的查找(幫助排查問題)  //常見的Q&A: ### Is SQLmap illegal? No...but it depends 你做的事情,可以透過此工具檢測你自身的網頁是否存在一些安全隱患(O),當然如果去打別人的網頁就另當別論,拿來做攻擊他人的工具(X)(除非他設計就是給你打的) ### What is the purpose of SQLmap? 可以從上方的SQLmap介紹中得知~~ ### Can SQLmap be traced? It depends on configuraions 定義上: 典型是有人知道你使用SQLmap,against他們的平台使用最基礎得SQLmap -->那你當然可以被追蹤到 當然也有別種選擇隱藏行蹤 使用【Tor Setting】將channel隱藏,現今平台的privacy and anonymization匿名性 強大且複雜 -->這裡只是提及  ### What is SQLmap in Termux? *Termux 是一款運行於 Android 系統的開源終端模擬器。該軟體提供了 Linux 環境,即使設備不具備 root 權限也可使用。通過自帶的包管理器,Termux 可以安裝許多現代化的開發和系統維護工具,例如 zsh、Python、Ruby、NodeJS、MySQL 等軟體。(來自維基百科)* -->其實沒有任何差別 參考連結:(網路查詢,尚未實測) [如何在 Android Termux 上安裝 SQLmap?](https://www.geeksforgeeks.org/how-to-install-sqlmap-on-android-termux/) Pre-requisites --- //雖然有些我都沒有,但秉持著幹就完的態度,開搞!!! ### SQL * General concepts(一般概念) * SQL Injection concepts(SQL Injection概念) ### Datebases * What they are, how they work * Database engine familiarity ### Web Development * How apps are built * How they use databases Prepare environment --- //**Kali Linux** or you install **docker** ### Virtaul Box Download 使用[Virtaul Box](https://www.virtualbox.org/wiki/Downloads)並下載對應的版本(OVA Version) //slash是【斜線】的意思  ### Kali Linux Download 使用[Kali](https://www.kali.org/get-kali/#kali-platforms) //根據使用的版本下載,有VMware、VirtualBox //如果是Virtual Box:Virtual images-OVA 64 Virtual Box  > 如果有WSL(適用於Linux的Windows子系統) > which stands for windows subsystem for Linux on windows 10 already install > 有些會回報說「無法下載更新包裹」 > > Fix Problem > > 開啟Windows 【PowerShell】 with admin privilege(權限) > > ```shell > > bcdedit /set hypervisorlaunchtype off > > ``` > >  如果下載完開啟 ```bash kali #初始帳號 kali #初始密碼 ``` if want change password ```bash passwd ``` 按照說明修改即可 ### Docker Download **安裝** ```bash sudo apt install update #更新軟體的最新資訊及列表 ``` ```bash sudo apt install -y docker.io #安裝docker ``` **啟用** 命令用於在 Linux 系統中使用 systemd,在系統啟動時自動啟用 Docker 服務。 ```bash sudo systemctl enable --now docker #安裝docker ``` or ```bash sudo systemctl enable -n docker #n的縮寫方式 ``` 指令解釋: * sudo:這是在類 Unix 操作系統中使用的命令,允許有權限的使用者以超級使用者或其他使用者的身份執行命令。它代表 "superuser do" * systemctl:這是 Linux 系統中用於控制和與 systemd 通信的實用程式,systemd 是 Linux 的一個系統和服務管理器 * enable:這個子命令用於啟用一個服務,這意味著該服務將在系統啟動時自動啟動 * docker:這是你要啟用的服務或單元的名稱。在這種情況下,它指的是 Docker 守護程序,負責管理系統上的 Docker 容器 * --now:作用是啟用服務並立即啟動,可以寫為-n **使用者添加至docker用戶組中** 進行添加 ```bash sudo usermod -aG docker $USER #當前使用者($USER)添加到 docker 用戶組中 ``` 更改生效 ```bash newgrp docker #使其剛才的修改能夠生效 ``` **執行docker中的DVWA網頁** //第一次可能失敗,因為要等下載完成 這是一個用於運行 Docker 容器的命令,該容器是一個包含 DVWA (Damn Vulnerable Web Application) 的映像。 ```bash docker run --rm -it -p 80:80 vulnerables/web-dvwa #run docker中的DVWA Web ``` 指令解釋: * docker run: 用於運行 Docker 容器的命令 * -rm: 這個選項的正確寫法是 --rm,它表示在容器結束後自動刪除容器。這可以幫助在容器停止運行後自動清理相應的資源 * -it: 這是 -i 和 -t 兩個選項的簡寫。-i 表示交互模式(保持 STDIN (標準輸入)打開),-t 表示分配一個偽終端(pseudo-TTY)。這使您能夠與容器進行交互,並在終端中看到輸出 * -p 80:80: 這個選項將主機的端口 80映射到容器的端口 80。這樣,當您訪問主機的端口 80 時,它將被轉發到容器的端口 80 * vulnerables/web-dvwa: 這是要運行的 Docker 映像的名稱。在這種情況下,vulnerables/web-dvwa 是一個包含 DVWA 的映像,DVWA 是一個故意設計成有漏洞的 web 應用程序,用於學習和測試安全性。 這個命令運行一個包含 DVWA 的 Docker 容器,允許您以交互方式訪問該容器,並且將主機的端口 80 映射到容器的端口 80。這使您可以透過瀏覽器等工具訪問 DVWA,進行學習和測試安全性的工作 <font color=#FF0000>前面有些流程沒聽到</font> SQLmap正式階段 --- 15:27 ### SQLmap Download Kali本身就有SQLmap 搜尋就會出現,不過其版本應該以最新的才是最佳的 15:44 從圖片中可以看到<font color=blue>**1.4.11#stable**</font> > stable > 這個版本ironed out most of the major bugs 但我們還是可以使用New Version > 查看最新版本多少...(//找到的過程沒什麼記錄到) > 1. 前往 https://github.com/sqlmapproject/sqlmap > 2. Github Repository > 3. check release > > -->version bump {1.53} >這裡的最新:major bugs and issues inended version? **Download Way** 最好是使用【指令】 ```bash cd Documents #它給的指令 ``` ```bash git clone --depth 1 heep Github網址 ``` ```bash cd sqlmap -dev ``` ```bash python3 sqlmap.py ``` LAB-SQLmap獲取網站密碼 --- ### 前言 After successfully out fitst SQLmap command that found a SQL injetcion vulnerability and exploited it in all kind of information ex:database、table name 目的:如果我是【紅隊】我要如何拿到密碼呢? ### 實際操作 31:47 XX(未知) ```bash --colums -T users --batch ``` 找到欄位<font color=#FF0000>password</font> ```bash --dump -T users --batch ``` hash password cracker plain SQLmap 可以將Hash password-->plain text version(明碼版本) 33:45 ```bash --passwords ``` 結果畫面 ...(<font color=#FF0000>補</font>) error-->not have proper permissions(沒有擁有適當的權限) -->代表不是每次都可以成功的(機率跟玄學作祟XXD) 最後的建議 & QA學習區 --- ### 建議 如果對SQLmap感到迷茫,不知道怎麼使用... 1. GitHub有許多相關文件(Wiki) https://github.com/sqlmapproject/sqlmap/wiki 2. 如果缺指令 ```bash -help option ``` ### QA學習區 1. Payload? 2. dash-->連接號 3. hint-->暗示 4. 更多資料? [飛飛-[資安工具] 003 SQLmap 介紹](https://feifei.tw/security-tool-sqlmap/)    on cyber.com and enroll today email kristoffcyber.com?
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up