2019-01-30
合法練習滲透測試的網站
markdown
進攻即是最好的防禦,這句話同樣適用於信息安全的世界。這裏羅列了很多合法的來練習黑客技術的網站,不管你是一名開發人員、安全工程師、代碼審計師、滲透測試人員,通過不斷的練習才能讓你成為一個優秀安全研究人員。以下網站希望能給各位安全小夥伴帶來幫助!若有其他的補充和推薦,歡迎給留言(排名不分先後)
## 國外
1. [bWAPP](http://www.itsecgames.com/)
免費和開源的web應用進程安全項目。它有助於安全愛好者及研究人員發現和防止web漏洞。
2. [Damn Vulnerable iOS App (DVIA)](http://damnvulnerableiosapp.com/)
DVIA是一個iOS安全的應用。它的主要目標給移動安全愛好者學習iOS的滲透測試技巧提供一個合法的平台。APP涵蓋了所有常見的iOS安全漏洞,它免費並開放源碼,漏洞測試和解決方案覆蓋到iOS 10版本。信息安全工程师[@prateekg147](https://twitter.com/prateekg147)设计并开发。[Getting Started](http://damnvulnerableiosapp.com/2013/12/get-started/)
3. [Damn Vulnerable Web Application (DVWA)](http://www.dvwa.co.uk/)
基於 php 和 mysql 的虛擬 Web 應用,“內置”常見的 Web 漏洞,如 SQL 注入、xss 之類,可以搭建在自己的電腦上
4. [Game of Hacks](http://www.gameofhacks.com/)
基於遊戲的方式來測試你的安全技術,每個任務題目提供了大量的代碼,其中可能有也可能沒有安全漏洞!
5. [Google Gruyere](http://google-gruyere.appspot.com/)
一個看起來很low的網址,但充滿了漏洞,目的是為了幫助那些剛開始學習應用進程安全性的人員。
6. [HackThis!!](https://www.hackthis.co.uk/)
旨在教你如何破解、轉儲和塗改,以及保護網站的黑客技巧,提供超過50種不同的難度水平。
7. [Hack This Site](https://www.hackthissite.org/)
是一個合法和安全的測試黑客技能的網站,幷包含黑客資訊. 文章、論壇和教程,旨在幫助你學習黑客技術。
8. [Hellbound Hackers](https://www.hellboundhackers.org/)
提供了各種各樣的安全實踐方法和挑戰,目的是教你如何識別攻擊和代碼的補丁建議。主題包含應用進程加密和破解,社工和rooting。社區有接近10萬的註冊會員,也是最大的一個黑客社區之一。
9. [McAfee HacMe Sites](http://www.mcafee.com/us/downloads/free-tools/index.aspx)
邁克菲提供的各類黑客及安全測試工具
10. [Mutillidae](https://sourceforge.net/projects/mutillidae/)
是一個免費,開源的Web應用進程,提供專門被允許的安全測試和入侵的Web應用進程。其中包含了豐富的滲透測試項目,如SQL注入、跨站腳本、clickjacking、本地文檔包含、遠程代碼執行等.
11. [OverTheWire](http://overthewire.org/wargames/)
基於遊戲的讓你學習安全技術和概念的黑客網站
12. [Peruggia](https://sourceforge.net/projects/peruggia/)
一個提供安全、合法攻擊的黑客網站
13. [Root Me](https://www.root-me.org/)
通過超過200名黑客的挑戰和50個虛擬環境來提高你黑客技巧和網絡安全知識的網站
14. [Try2Hack](http://www.try2hack.nl/)
最古老的黑客網站之一,提供多種安全挑戰。
15. [Vicnum](http://vicnum.ciphertechs.com/)
OWASP 項目之一,簡單框架,針對不同的需求,並基於遊戲的方式來引導安全開發者學習安全技術。
16. [WebGoat](http://webappsecmovies.sourceforge.net/webgoat/)
最受歡迎的OWASP項目,提供了一個真實的安全教學環境,指導用户設計複雜的應用進程安全問題
17. [Test ASP](http://testasp.vulnweb.com/)
acunetix 提供的測試網站,使用 ASP
18. [Test ASP.Net](http://testaspnet.vulnweb.com/)
acunetix 提供的測試網站
19. [Test PHP](http://testphp.vulnweb.com/)
acunetix 提供的測試網站,使用 asp.net webform 開發
20. [Altoro Mutual](http://demo.testfire.net/)
## 其它
1. [i春秋](http://www.ichunqiu.com/main)
國內比較好的安全知識在線學習平台,把複雜的操作系統、工具和網絡環境完整的在網頁進行重現,為學習者提供完全貼近實際環境的實驗平台,
2. [XCTF_OJ 練習平台](http://oj.xctf.org.cn/)
XCTF-OJ (X Capture The Flag Online Judge)是由XCTF組委會組織開發並面向XCTF聯賽參賽者提供的網絡安全技術對抗賽練習平台。XCTF-OJ平台將彙集國內外CTF網絡安全競賽的真題題庫,並支持對部分可獲取在線題目交互環境的重現恢復,XCTF聯賽後續賽事在賽後也會把賽題離線文檔和在線交互環境彙總至XCTF-OJ平台,形成目前全球CTF社區唯一一個提供賽題重現覆盤練習環境的站點資源。
3. [網絡信息安全攻防學習平台](http://hackinglab.cn/index.php)
提供基礎知識考查、漏洞實戰演練、教程等資料。實戰演練以 Web 題為主,包含基礎關、腳本關、注入關、上傳關、解密關、綜合關等。
## 參考來源:
http://list.ly/list/euz-15-vulnerable-sites-to-legally-practice-your-hacking-skills-2016-update
http://www.freebuf.com/sectool/4708.html
https://www.zhihu.com/question/24740239
https://hk.saowen.com/a/0cefffc20499a78b147ab04a5689ac0e1b6acbb4abecf236e018c36fe232ba0d
https://www.freebuf.com/special/123961.html
2019-01-28
Python Import the class within the same directory or sub directory
markdown
# 引用同一資料夾中的類別
假設有已有如下的資料結構,在 myfolder 中有 Order, Product, User, Manager 四個 class,要引用到 main.py 中使用。
```
myfolder
+-- main.py
+-- subdir
| +-- order.py
| +-- product.py
+-- user.py
+-- manager.py
```
## Python 2
建立一個名為 `__init__.py` 的空檔案,放在同一個資料夾中
在 main.py 中
```
from user import User
from manager import Manager
```
資料夾範例:
```
myfolder
+-- main.py
+-- subdir
| +-- order.py
| +-- product.py
+-- __init__.py
+-- user.py
+-- manager.py
```
如果是要引用子目錄中的類別,則是在子目錄中建立 `__init__.py`
```
from subdir.order import Order
from subdir.product import Product
```
子資料夾範例:
```
myfolder
+-- main.py
+-- subdir
| +-- __init__.py
| +-- order.py
| +-- product.py
+-- user.py
+-- manager.py
```
## Python 3
在同一目錄下引用直接使用 .user,參考如下:
在 main.py 中
```
from .user import User
from .manager import Manager
```
資料夾範例:
```
myfolder
+-- main.py
+-- subdir
| +-- order.py
| +-- product.py
+-- __init__.py
+-- user.py
+-- manager.py
```
2019-01-21
Kali Linux 新增使用者帳號並授與 sudo 權限
markdown
在網路上查閱很多 Kali 的相關文章,大多都是直接使用 root 帳號,在使用 Linux 時通常會建議不要直接使用 root 帳號進行一般事務的管理操作。所以查了如何在 kali 加入新的使用者帳號,操作指令可以參考 Degain 或是 Ubuntu 的文章。
以下 username 都要代換為要新增的帳號
# 新增帳號
1. 開啟 Terminal ,使用 Ctrl+Alt+T,或是點擊左側的 Terminal 圖示,並登入 root 帳號
2. 加入新使用者帳號:
```
useradd -m username
```
-m 建立帳號的 home 目錄,預設路徑是 /home/username
3. 建立帳號的密碼:
```
passwd username
```
4. 將帳號加到 sudo 群組,帳號才能使用 sudo 命令安裝程式:
```
usermod -a -G sudo username
```
-a 加入
-G 指定要加入的群組名稱
5. 給帳號指定預設的 shell:
```
chsh -s /bin/bash username
```
-s 指定登入的 shell
# 移除帳號
1. 將帳號從 sudo 群組移除:
方法1. 使用 deluser:
```
sudo deluser username sudo
```
方法2. 使用 gpasswd:
```
sudo gpasswd -d username sudo
```
2. 將帳號從系統移除:
```
sudo userdel -r username
```
-r 移除帳號的 home 目錄和郵件
# 參考:
* [Adding a new user in Kali Linux](https://www.linkedin.com/pulse/20140502074357-79939846-adding-a-new-user-in-kali-linux)
在 Kali Linux 安裝 Visual Studio Code
markdown
# Kali 安裝 Visual Studio Code
因為 Kali 是以 Debian 為基地的發佈版,所以參考 Debian 或是 Ubuntu 的安裝方式。
```
::decode
# Download the Microsoft GPG key, and convert it from OpenPGP ASCII
# armor format to GnuPG format
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
# Move the file into your apt trusted keys directory (requires root)
mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
# Add the VS Code Repository
echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list
# Update and install Visual Studio Code
apt update && apt install code
```
# 參考
1. [Visual Studio Code on Linux](https://code.visualstudio.com/docs/setup/linux)
2019-01-18
kali 建立應用程式捷徑 (Desktop Entry)
markdown
kali linux 是使用 Gnome 桌面環境,如果要自訂應用程式捷徑和分類可以參考 [Desktop Entry Specification](https://developer.gnome.org/desktop-entry-spec/)。
這裡的情境是從網路下載了 burp suite 要直接建立捷徑執行。假設已將程式下載解壓,並儲存在 /opt/burpsuite 資料夾。
```
root@kali:/opt/burpsuite# ls -l
-rw------- 1 root root 7340 Jan 17 22:20 burpsuite.png
-rwxrw-rw- 1 root root 28215285 Aug 12 19:55 burpsuite_v1.7.37.jar
```
# 資料夾
```
/etc/xdg/menus # 主選單設定
/etc/xdg/menus/applications-merged/kali-applications.menu # kali 預設選單層級和 Category 名稱設定
/usr/share/applications # 將 DesktopEntry 檔案放在這資料夾內(副檔名 .desktop)
/usr/share/desktop-directories # 應用程式分類資料夾設定(副檔名 .directory)
```
# 執行 burp suite
用 java 執行 burpsuite 確認一下能正常啟動應用程式
```
root@kali:/opt/burpsuite# java -jar burpsuite_v1.7.37.jar
```
# 建立程式捷徑
1. 在 /usr/share/applications/ 建立 burpsuite.desktop,內容如下:
```
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon=/opt/burpsuite/burpsuite.png
Exec=sh -c java -jar burpsuite_v1.7.37.jar
Name=Burp Suite 1.7.37
Path=/opt/burpsuite
Categories=03-webapp-analysis;03-06-web-application-proxies;
```
2. 設定為可執行
```
root@kali:/usr/share/applications# chmod a+x burpsuite.desktop
```
# 將 Burp Suite 捷徑加到左側 Menu 中
1. 展開 Applications 選單
2. 拖放至左側選單中
# 2019-01-21 補充
當另一個帳號登入時應用程式的 icon 沒顯示,因為 icon 圖示沒有權限,所以再加設權限就可以了
```
chmod a+rw /opt/burpsuite/burpsuite.png
```
# 參考連結
* [Desktop Entry Specification](https://developer.gnome.org/desktop-entry-spec/)
* [Desktop Menu Specification](https://specifications.freedesktop.org/menu-spec/latest/index.html)
kali linux 更換 jdk
markdown
使用 kali linux 的 brup suite 會跳出 JRE 版本 10.0.2 沒有完全測試過,可能會發生問題的訊息。
> Your JRE appears to be version 10.0.2 from Oracle Corporation Burp has not been fully tested on this platform and you may experience problems.
# 環境
* Linux kali 4.17.0-kali1-amd64 #1 SMP Debian 4.17.8-1kali1 (2018-07-24) x86_64 GNU/Linux
* Burp Suite Community Edition 1.7.35
[查看版本的參考文章](https://workerdigholes.blogspot.com/2019/01/kali.html)
# JDK 更換或安裝
1. 查看和更改 kali linux 中的 JDK
```
update-alternatives --config java
update-alternatives --config javac
```
2. 如果要使用的JDK 不存在,安裝 JDK
```
update-alternatives --install /usr/bin/java java /opt/jdk-9.0.1/bin/java 300
update-alternatives --install /usr/bin/javac javac /opt/jdk-9.0.1/bin/javac 300
```
注意:/opt/jdk-9.0.1是自己安装的路径。
3. 安裝後再設定成要使用的版本
```
update-alternatives --config java
update-alternatives --config javac
```
選擇編號,按 Enter
4. 檢查 java 版本
```
java -version
javac -version
```
kali 查看版本
markdown
kali 查看版本
* 查看內核版本
```
uname -a
```
* 查看發行版本
```
lsb_release -a
```
執行結果
```
root@kali:~# uname -a
Linux kali 4.17.0-kali1-amd64 #1 SMP Debian 4.17.8-1kali1 (2018-07-24) x86_64 GNU/Linux
root@kali:~# lsb_release -a
No LSB modules are available.
Distributor ID: Kali
Description: Kali GNU/Linux Rolling
Release: kali-rolling
Codename: kali-rolling
```
訂閱:
文章 (Atom)