mirror of
https://github.com/Justuser3310/jetwork.git
synced 2025-02-08 01:37:38 +00:00
Защита от проверки папок выше и других вещей.
This commit is contained in:
parent
5d8af2ed1b
commit
3f1a3e3a7d
24
network.py
24
network.py
@ -1,8 +1,13 @@
|
|||||||
|
# Работа с сетью
|
||||||
import socket
|
import socket
|
||||||
from requests import get
|
from requests import get
|
||||||
|
# Очевидно
|
||||||
import os
|
import os
|
||||||
from random import randint
|
from random import randint
|
||||||
|
# Работа с архивами
|
||||||
from shutil import unpack_archive
|
from shutil import unpack_archive
|
||||||
|
# Убираем ненужное (../some => some)
|
||||||
|
from re import compile, sub
|
||||||
|
|
||||||
from verify import *
|
from verify import *
|
||||||
|
|
||||||
@ -13,6 +18,7 @@ from verify import *
|
|||||||
# 2. [+] Проверка существования сайта
|
# 2. [+] Проверка существования сайта
|
||||||
# 3. [+] Передача сайта
|
# 3. [+] Передача сайта
|
||||||
# 4. Приём рассылки сайтов
|
# 4. Приём рассылки сайтов
|
||||||
|
# 5. Проверка всех сайтов
|
||||||
|
|
||||||
def port_gen():
|
def port_gen():
|
||||||
port = randint(4000, 4200)
|
port = randint(4000, 4200)
|
||||||
@ -23,6 +29,19 @@ def port_gen():
|
|||||||
port = randint(4000, 4200)
|
port = randint(4000, 4200)
|
||||||
return port
|
return port
|
||||||
|
|
||||||
|
# ../some => some
|
||||||
|
# Защита от проверки папок выше, чем нужно и др.
|
||||||
|
def v_check(check):
|
||||||
|
regex = compile('[^a-zA-Zа-яА-ЯЁё.]')
|
||||||
|
check = regex.sub('', check)
|
||||||
|
|
||||||
|
if check.count('.') > 1:
|
||||||
|
return 'BAD'
|
||||||
|
|
||||||
|
return check
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def server_http():
|
def server_http():
|
||||||
os.chdir("cached")
|
os.chdir("cached")
|
||||||
os.system("python -m http.server")
|
os.system("python -m http.server")
|
||||||
@ -52,6 +71,11 @@ def server(http_port):
|
|||||||
conn.send("pong".encode())
|
conn.send("pong".encode())
|
||||||
elif op[:3] == "is_":
|
elif op[:3] == "is_":
|
||||||
check = op[3:]
|
check = op[3:]
|
||||||
|
print(check)
|
||||||
|
# Защита от доступа выше
|
||||||
|
check = v_check(check)
|
||||||
|
print(check)
|
||||||
|
|
||||||
if os.path.exists(f'cached/{check}'):
|
if os.path.exists(f'cached/{check}'):
|
||||||
conn.send(str(http_port).encode())
|
conn.send(str(http_port).encode())
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user