0x00 前言
? ? ? ? XSS Platform 平臺主要是用作驗證跨站腳本攻擊。該平臺可以部署在本地或服務器環境中。我們可以使用 XSS Platfrom 平臺搭建、學習或驗證各種類型的 XSS 漏洞。
????????
????????
0x01 環境說明
HECS(云耀云服務器) |
xss platform |
Ubuntu 22.04 |
Nginx 1.24.0 |
MySQL 5.6.51 |
Pure-Ftpd 1.0.49 |
phpMyAdmin 5.2.1 |
PHP 7.2.34 |
????????
????????
0x02 準備工作
Ⅰ使用 OneinStack?為服務器安裝 LNMP 一鍵包。
https://oneinstack.com/
?????????
Ⅱ在自動安裝頁面下,選擇 Nginx 、 PHP 、 MySQL 、 Pure-FTPd 以及 phpMyAdmin 。選擇好以后,復制安裝命令到服務器中執行即可。
wget -c http://mirrors.oneinstack.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --php_option 7 --phpcache_option 1 --php_extensions zendguardloader,ioncube,sourceguardian,gmagick,fileinfo,imap,ldap,phalcon,yaf,redis,memcached,mongodb,swoole,xdebug --phpmyadmin --db_option 3 --dbinstallmethod 1 --dbrootpwd 9d7owghn --pureftpd --reboot
????????
????????
0x03 驗證LNMP
Ⅰ經過漫長的等待, LNMP 安裝完成。在服務器中會打印出相關的安裝路徑以及用戶密碼。
Nginx安裝目錄:/usr/local/nginx(Web服務器)數據庫安裝目錄:/usr/local/mysql
數據庫數據目錄:/data/mysql
數據庫用戶:root
數據庫密碼:9d7owghnPHP安裝目錄:/usr/local/php
Opcache控制面板URL:http://192.168.0.53/ocp.php(PHP緩存控制面板)Pure-FTPd安裝目錄:/usr/local/pureftpd(FTP服務器)
創建FTP虛擬主機腳本:./pureftpd_vhost.shphpMyAdmin目錄:/data/wwwroot/default/phpMyAdmin(MySQL管理工具)
phpMyAdmin控制面板URL:http://192.168.0.53/phpMyAdmin首頁URL:http://192.168.0.53/(網站首頁)
????????
Ⅱ訪問 xprober 監控,檢查相應組件是否正常工作。
http://xxx.xxx.xxx.xxx/xprober.php
????????
????????
0x04 下載XSS Platform
Ⅰ下載 xss platform 項目。?
https://github.com/78778443/xssplatform
????????
Ⅱ這里使用 Xftp 工具,將 xssplatform 項目上傳到網站根目錄下。
/data/wwwroot/default
????????
0x05?安裝XSS Platform
Ⅰ打開網站首頁安裝 XSS Platform ,發現左下角顯示?project/conf 文件夾不可寫。這種情況是因為權限不夠導致的。
http://xxx.xxx.xxx.xxx/
????????
Ⅱ將 xssplatform 網站提權。
chmod -R 777 /data/wwwroot/default
????????
Ⅲ再次訪問網站首頁,這時 “其他人” 也擁有了最高權限,便可以正常執行 XSS Platform 的安裝了。
????????
Ⅳ這里填寫空白信息即可,也就是紅框中的數據庫密碼、管理員以及管理員密碼。數據庫密碼在之前安裝 LNMP 時,服務器為我們打印出來了。關于管理員和管理員密碼自定義設置即可。
????????
Ⅴ成功導入數據信息后,點擊進入首頁。這時 XSS Platform 平臺已搭建完成。
????????
Ⅵ注意將 xssplatform 網站降權。
chmod -R 755 /data/wwwroot/default
????????
????????
0x06 配置偽靜態頁面?
Ⅰ打開 nginx/conf 配置目錄。如果找不到目錄使用 find 查找 nginx.conf 文件即可。
cd /usr/local/nginx/conf
????????
Ⅱ編輯 nginx.conf 文件,將以下代碼插入到 default 中,對 URL 規則進行重寫。保存并退出。
rewrite "^/([0-9a-zA-Z]{6})$" /index.php?do=code&urlKey=$1 last;
rewrite "^/do/auth/(\w+?)(/domain/([\w\.]+?))?$" /index.php?do=do&auth=$1&domain=$3 last;
rewrite "^/register/(.*?)$" /index.php?do=register&key=$1 last;
rewrite "^/register-validate/(.*?)$" /index.php?do=register&act=validate&key=$1 last;
關于偽靜態頁面配置的說明:
- Nginx配置方法:
rewrite "^/([0-9a-zA-Z]{6})$" /index.php?do=code&urlKey=$1 last; rewrite "^/do/auth/(\w+?)(/domain/([\w\.]+?))?$" /index.php?do=do&auth=$1&domain=$3 last; rewrite "^/register/(.*?)$" /index.php?do=register&key=$1 last; rewrite "^/register-validate/(.*?)$" /index.php?do=register&act=validate&key=$1 last;
- ?Apache配置方法:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^([0-9a-zA-Z]{6})$ /index.php?do=code&urlKey=$1 [L] RewriteRule ^do/auth/(\w+?)(/domain/([\w\.]+?))?$ /index.php?do=do&auth=$1&domain=$3 [L] RewriteRule ^register/(.*?)$ /index.php?do=register&key=$1 [L] RewriteRule ^register-validate/(.*?)$ /index.php?do=register&act=validate&key=$1 [L] </IfModule>
????????
Ⅲ重啟 nginx 使配置生效。
nginx -s reload
????????
????????
0x07 XSS Platform訪問
Ⅰ訪問?XSS Platform 平臺,輸入剛剛創建的管理員和管理員密碼執行登錄。
?????????
Ⅱ登錄成功如下顯示。
????????
????????
0x08 配置公共模塊
Ⅰ 打開第一個?XSS-1.sql 數據庫文件,通過替換的方式將所有顯示 xxx.xxx.xxx.xxx 的替換為自己的域名或 IP 。保存并退出。
????????
Ⅱ打開第二個?XSS-2.sql 數據庫文件,通過替換的方式將所有顯示 xxx.xxx.xxx.xxx 的替換為自己的域名或 IP 。保存并退出。
????????
Ⅲ為了可以通過公網訪問 phpMyAdmin 管理頁面,需要先進行降權。
chmod -R 755 /data/wwwroot/default
????????
Ⅳ訪問 phpMyAdmin 管理頁面,輸入剛剛在服務器中打印的賬號密碼。
http://xxx.xxx.xxx.xxx/phpMyAdmin/
????????
Ⅴ選擇 xssplatform 數據庫。點擊上方導入按鈕,選擇第一個 XSS-1 數據庫。最后執行導入。
????????
Ⅵ繼續點擊上方導入按鈕,選擇第二個 XSS-2 數據庫。最后執行導入。
????????
Ⅶ檢查公共模塊,所有模塊均已成功導入。
????????
Ⅷ配置完成后,需要執行提權。
chmod -R 777 /data/wwwroot/default
????????
????????
0x09 總結
至此XSS Platform環境搭建完成。由于作者水平有限,文中若有錯誤與不足歡迎留言,便于及時更正。