Merge branch 'main' of git.leizour.fr:CyberFlingues/arp-spoofing into main

This commit is contained in:
iMax 2025-01-21 12:40:19 +01:00
commit f5be203305
9 changed files with 90 additions and 33 deletions

View file

@ -1,10 +0,0 @@
from flask import *
import OpenSSL as ssl
import requests
public_serv= open("./server/ssl.public.key")
data='Hello World !'

View file

@ -2,4 +2,4 @@ FROM python:alpine
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "client.py"]
CMD ["python", "main.py"]

25
RSA/client/main.py Normal file
View file

@ -0,0 +1,25 @@
from flask import *
import ssl
import requests
import rsa
data = 'Hello World !'
with open("../server/ssl/public.key", "rb") as public_serv_file:
public_serv = public_serv_file.read()
with open("ssl/id_rsa", "rb") as private_key_file:
private_key = private_key_file.read()
public_key_serv = rsa.PublicKey.load_pkcs1(public_serv)
private_key_client = rsa.PrivateKey.load_pkcs1(private_key)
crypt = rsa.encrypt(data.encode(), public_key_serv)
# Afficher le message original (pour vérification)
print(data)
response = requests.post('https://localhost:5000', data={'message': crypt, 'signature': signature}, verify=False)
#print(response.text)

View file

@ -1,2 +1,3 @@
flask==3.1.0
pyopenssl==25.0.0
requests==2.26.0

28
RSA/client/ssl/id_rsa Normal file
View file

@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCxCQfJ2qoYRU+0
hZ8sNeaGmUNl0A5m48+z2LgRA4XTkeurF83YuJl1zKJhpGjlCMl+jmf069lDCL0r
xthxtx5WlUaXDPOKRxYuiC7g4qjD92aHT8oloEhvk+PEJgn/9ZsqhB0uO7mpkGuQ
0lLFJ5zaUrIPNuGeeAj8nuDQpNrtGHGfBdXWfaPVdnhFf5uwsOPkAHssw8Ygqay1
0fnBOPq1luJNJQW2aGrXxYuBnd7Uujt8AI/OzBB73+zWXpxQKmqGS+bg93W07Lg2
11K9UB9vnwO0NejM1UZPKJ6T7N7CUvrkD2DZZdtPz020mcGF13lK2efiuTAlsKMu
4u2xWZX5AgMBAAECggEAEU8duNRX/x7VEoRiB145wifoBA4ElSC++l7nwu9s5+kD
eWtOurAfKPpaAgv4yYlDZ3agSWe/NU5Rw0miI0l704wC0S/4pn4ZeBvj4XmnyzPm
4rdKv2+yxV4DTfaeJwLU1KJYLAtg4BL5Frl0UvHIOecN9m4vlGE4wmJSVB6vh7DL
NBjRcXzeUWfjuieg9HvSJpnt7HcXD8kWWa0euXC0Yxd0dAZ90jguvm+3exq3KySX
tFQtnzKftkiTQMLTQE3wZvsDp2hCpeVX1blS9ubai4JApG4oMa5MOVYzQgJya2vm
IdqRW8lYeIW6qP4HaJ3ZU83umi+Wb62pDEiW38OnlQKBgQDwPCUAkrQeXj7gcwhG
78UVvOD2FHEaGz4AWrnPAJWwRcwLcMaV606IjOha/52tSzdsnrei+jdHMI/w3iWe
ZLvNWjjd9IaDaB/iZtjktnXe3kNaL3XpORuxiDi4pIrgtuKlVv9E5b9Bdo1YCn0b
aOKgCOGwP5WqrdtyFxpEsDtwcwKBgQC8pyfVRBFWH/CozM4rWGpO8RCOjEN0rdpV
1DXjgj36oj6xKrDMKTOZ7X2j/W6EYH1aoikPAEdt4ywgMVnfOzISUKdkSmYTyXbo
rjbyqKp91wQbkWVttHdN6qaTWHtl6YUgi17LCNZVYD95rXC7a/izGps7ggYvWOft
S96Iye+g4wKBgQC8yLbXPXH4D13f6eXOQOuiynwKRUQgHNpbUvCDQFVhYWgYcXZN
J83eNsT9hbQ2E06puAxdMb4w3nOu+BOd5lFC7ayUl20BZNjxhJrbGJuGGSnafENv
lGYz2/We/Ab60h1Hixcs4FKsseofDpcD7CdzVadtZnpJ1zgE7yzAX7FGCwKBgQCm
QfZD6FoS+dEhImWsI56E9cRurESiprjdnUjkuRqgMK5pesMXGlSEmp14kdf9SAAR
iQoAU3Gf8W4o7PVUW5n0NCpho4O0en+V7js0vdqLTpwrI4ctGLdv7pVhE8Ckfxm5
Jbqj2qTx1wH53RWVx0EFrzQRTLTgs0yqf4ueJ8FMmwKBgEi99cX3XyfToiQWU3X9
yLRYfV85i9UCBmFRb1EMtHhTZCBKpo5GrpvdnNN5AQpl4iXYvKGEapX8TXXELwC9
M+u9eqDEb+l5H2X3dWeDx782yDr1SvkSnfdLBXaSWH1mqWaN74bv6b1+rsUL+rIw
7Vb74+c88t6HdN644dR0UvJY
-----END PRIVATE KEY-----

View file

@ -0,0 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsQkHydqqGEVPtIWfLDXm
hplDZdAOZuPPs9i4EQOF05HrqxfN2LiZdcyiYaRo5QjJfo5n9OvZQwi9K8bYcbce
VpVGlwzzikcWLogu4OKow/dmh0/KJaBIb5PjxCYJ//WbKoQdLju5qZBrkNJSxSec
2lKyDzbhnngI/J7g0KTa7RhxnwXV1n2j1XZ4RX+bsLDj5AB7LMPGIKmstdH5wTj6
tZbiTSUFtmhq18WLgZ3e1Lo7fACPzswQe9/s1l6cUCpqhkvm4Pd1tOy4NtdSvVAf
b58DtDXozNVGTyiek+zewlL65A9g2WXbT89NtJnBhdd5Stnn4rkwJbCjLuLtsVmV
+QIDAQAB
-----END PUBLIC KEY-----

View file

@ -1,20 +0,0 @@
import ssl
from flask import *
import flask_wtf as wtf
print(ssl.OPENSSL_VERSION)
context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
context.load_cert_chain(certfile='ssl/CA.crt', keyfile='ssl/CA.key')
app= Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
@app.route('/data', methods=['POST'])
def receiv():
encrypted_data = request.form['data']
if __name__ == "__main__":
app.run(ssl_context=context)

View file

@ -3,5 +3,6 @@ WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
EXPOSE 80
EXPOSE 443
EXPOSE 5000
CMD ["python", "__init__.py"]
CMD ["python", "main.py"]

23
RSA/server/main.py Normal file
View file

@ -0,0 +1,23 @@
import ssl
from flask import Flask, render_template, request
app = Flask(__name__)
app.config['SECRET_KEY'] = 'c&S2QL9DDhZjwlqPoRYRGSN6gOidjaC9f25CW#SF1AinsMg7$3*JxC3e^9FnuliC5DWfhAPwiPcAMJcutBn#5k&VsIP0KBOMf9VvzKTN@Wuuq5i*UjoonTZEMHiyabpI' # Required for Flask-WTF
# SSL Configuration
context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
context.load_cert_chain(certfile='ssl/CA.crt', keyfile='ssl/CA.key')
@app.route("/")
def index():
return render_template("index.html")
@app.route('/data', methods=['POST'])
def receive():
encrypted_data = request.form.get('data', None) # Safely get form data
if encrypted_data:
return f"Received encrypted data: {encrypted_data}", 200
return "No data received", 400
if __name__ == "__main__":
app.run(ssl_context=context, host='0.0.0.0', port=5000) # Allow external access