ืืื ืืืืจ!
ืืื ืืขืฆืื ืก ืืืึธืืฉื ืึท ืืึทืื ืืึธืืืื ืืืขืจืกืืข ืคืื โโโโืื ืคึผืจืึธืืจืึทืืืื ื ืืืึทื "ืืื ืฆื ืฉืึทืคึฟื ืืืื ืืืืืขื ืข ืืืขื ืึทืคึผืืึทืงืืืฉืึทื ืืื ืคืืึทืฉ." ืืื ืืื ืืึทืฉืืึธืกื ืฆื ืงืึธื ืกืึธืืืืืจื ืืืื ืืืืกื ืืื ืขืืืขืืข ืคึผืจืืืขืงื. ืคึฟืึทืจ ืึท ืืึทื ื ืฆืืึทื ืืื ืืื ื ืื ืืืืกื ืืืึธืก ืฆื ืฉืจืืึทืื ืืื ืืขืจ ืืขืืึทื ืง ืืขืงืืืขื ืฆื ืืืจ: "ืคืืจืืืืก ื ืืฉื ืืึทืื ืึท ืืื ื-ืืึทืงืงืืึธืจ ืืื ืคืืึทืฉ?"
ืืขืจ ืขืจืฉืืขืจ ืึธืคึผืฆืืขืก ืคึฟืึทืจ ืืืคึผืืึทืืขื ืืืืฉืึทื ืืื ืงืืืคึผืึทืืืืึทืืื ืคืื ืื ืืึทืงืืึธืจ ืืื ืืจืืืก ืืื ืืืื ืงืึธืคึผ. ืึธืืขืจ ืืื ืืึทืฉืืึธืกื ืฆื ืืื ืืึทืื ืึท ืจืฉืืื ืคืื ืืึทืงืืึธืจ ืงืืืคึผืึทืืืืึทืืื:
- ืืืืกื ืืื ืฆื ืขืคืขื ืขื ืืืขืืกืืืขืก
- ืืึธืื ืืึทืคึฟืขืื ืฉืืจื ืึทืงืกืขืก
- ืงืขื ืขื ืฆื ืขืคึฟืขื ืขื ืืืืื, ืคืึธืืึธืก, ืืืืืืืก
ืืขืจ ืขืจืฉืืขืจ ืคืื ื ืืื ืืึธืจ ืืจืื ื ืฆื ืื ืกืืจืืืขื ื ื ืืฆื ืื ืืืขื ืืืขืืขืจืขืจ ืืึธืืืืข. ืืื ืืึทืฉืืึธืกื ืฆื ืื ืกืืจืืืขื ื ืื ืจืืข ืคืื ื ื ืืฆื ืื OS ืืึธืืืืข. ืืื ืื ืืจืื ืืื ืืืื ืืืจื ืื OS ืืึธืืืืข, ืึธืืขืจ ืืื ืืืขื ื ืืฆื "ืืื ืงืก" (ืืขืจ ืืืืฃ ืืขื ืฉืคึผืขืืขืจ).
ืฉืจืืืื ืึท ืกืขืจืืืขืจ
ืึทืืื, * ืืจืืืจืึธืื * ืึทืืข ืื ืกืขืจืืืขืจ ืงืึธื:
from flask import Flask, request
import webbrowser
import os
import re
app = Flask(__name__)
@app.route('/mycomp', methods=['POST'])
def hell():
json_string = request.json
if json_string['command'] == 'test':
return 'The server is running and waiting for commands...'
if json_string['command'] == 'openweb':
webbrowser.open(url='https://www.'+json_string['data'], new=0)
return 'Site opening ' + json_string['data'] + '...'
if json_string['command'] == 'shell':
os.system(json_string['data'])
return 'Command execution ' + json_string['data'] + '...'
if json_string['command'] == 'link':
links = open('links.txt', 'r')
for i in range(int(json_string['data'])):
link = links.readline()
os.system(link.split('>')[0])
return 'Launch ' + link.split('>')[1]
if __name__ == '__main__':
app.run(host='0.0.0.0')
ืืื'ืืืข ืฉืืื ืืึทืืคึผื ืึทืืข ืื ืงืึธื, ืขืก ืืื ืฆืืึทื ืฆื ืืขืจืงืืขืจื ืื ืขืกืึทื ืก.
ืื ืงืึธื ืืืืคื ืืืืฃ ืื ืืืืข ืงืึธืืคึผืืืืขืจ ืืืืฃ ืคึผืึธืจื 5000. ืฆื ืื ืืขืจืึทืงื ืืื ืื ืกืขืจืืืขืจ, ืืืจ ืืืื ืฉืืงื ืึท JSON POST ืืขืื.
JSON ืืขืื ืกืืจืืงืืืจ:
{โcommandโ: โcomecommandโ, โdataโ: โsomedataโ}
ื ื, ืขืก ืืืื ืืื ืขื ืึทื 'ืงืึทืืึทื ื' ืืื ืื ืืึทืคึฟืขื ืืืจ ืืืืื ืฆื ืืืกืคืืจื. ืืื 'ืืึทืื' ืืขื ืขื ืื ืืึทืคึฟืขื ืึทืจืืืืขื ืื.
ืืืจ ืงืขื ืขื ืฉืจืืึทืื ืืื ืฉืืงื JSON ืจืืงืืืขืก ืฆื ืื ืืขืจืึทืงื ืืื ืื ืกืขืจืืืขืจ ืืึทื ืืืึทืื (ืจืืงืืืขืก ืืืขื ืืขืืคึฟื ืืืจ). ืึธืืขืจ ืืืจ ืงืขื ืขื ืฉืจืืึทืื ืึท ืงืึทื ืกืึธืื ืงืืืขื ื.
ืฉืจืืืื ืึท ืงืืืขื ื
ืงืึธื:
import requests
logo = ['nn',
'****** ********',
'******* *********',
'** ** ** **',
'** ** ** ** Written on Python',
'******* ** **',
'******** ** **',
'** ** ** ** Author: ROBOTD4',
'** ** ** **',
'** ** ** **',
'******** *********',
'******* ********',
'nn']
p = ''
iport = '192.168.1.2:5000'
host = 'http://' + iport + '/mycomp'
def test():
dict = {'command': 'test', 'data': 0}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
def start():
for i in logo:
print(i)
start()
test()
while True:
command = input('>')
if command == '':
continue
a = command.split()
if command == 'test':
dict = {'command': 'test', 'data': 0}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
if a[0] == 'shell':
for i in range(1, len(a)):
p = p + a[i] + ' '
dict = {'command': 'shell', 'data': p}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
p = ''
if a[0] == 'link':
if len(a) > 1:
dict = {'command': 'link', 'data': int(a[1])}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
else:
print('ะะพะผะผะฐะฝะดะฐ ะฝะต ัะพะดะตัะถะธั ะฐัะณัะผะตะฝัะพะฒ!')
if a[0] == 'openweb':
if len(a) > 1:
dict = {'command': 'openweb', 'data': a[1]}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
else:
print('ะะพะผะผะฐะฝะดะฐ ะฝะต ัะพะดะตัะถะธั ะฐัะณัะผะตะฝัะพะฒ!')
if a[0] == 'set':
if a[1] == 'host':
ip = a[2] + ':5000'
if command == 'quit':
break
ืืขืจืงืืขืจืื ืืขื:
ืขืจืฉืืขืจ ืคืื ืึทืืข, ืื ืจืืงืืืขืก ืืึธืืืืข ืืื ืืืคึผืึธืจืืื (ืคึฟืึทืจ ืื ืืขืจืึทืงืืื ื ืืื ืื ืกืขืจืืืขืจ). ืื ืืขืจ ืืขื ืขื ืืืกืงืจืืคึผืฉืึทื ื ืคืื ืื ืึธื ืืืื ืืื ืคึผืจืืืืจื ืคืึทื ืืงืฉืึทื ื. ืืื ืืขืืึธืื ืืขืจ ืฆืืงื ืืื ืืืึธืก ืื ืืึทืืืฉ ืืึทืคึผืึทื ื. ืืึธืื ืืืจ ืืืืขื ืขื ืืขื ืงืึธื? ืึทืืื ืืืจ ืคึฟืึทืจืฉืืืื ืื ืืืึทืืฉ ืคืื ืื ืืึทืืืฉ ืืืึธืก ืืึทืคึผืึทื ื ืืื ืืขื ืฆืืงื. ืึทืจืืึทื ืื ืืึทืคึฟืขื - ืขืก ืืื ืขืงืกืึทืงืืืืึทื. ืฉืขื - ืงืึทืืึทื ืื ืคึฟืึทืจ ืื ืืึทืคึฟืขืื ืฉืืจื (ืื ืืึธืืืง ืืื ืึทืืืขืง ืืืึธื).
ืืขืกื - ืืฉืขืง ืืืื ืืขืจ ืกืขืจืืืขืจ ืืื ืคืืืกื ืืืง (ืืึทืงืืึธืจ)
ืืื ืง - ื ืืฆื ืึท "ืืืจืืืืขื"
Openweb - ืขืคื ืึท ืืืขืืืืืื
ืคืึทืจืืึธืื - ืึทืจืืืกืืึทื ื ืืขื ืงืืืขื ื
ืฉืืขืื - ืืึทืฉืืขืืืงื ืื IP ืคืื ืืืื ืงืึธืืคึผืืืืขืจ ืืืืฃ ืื ืืืืข ื ืขืฅ
ืืื ืืืฆื ืืขืจ ืืืขืื ืืื ืง.
ืขืก ืืื ืึท ืืื ืง.ืืงืกื ืืขืงืข ืืืืึทืืขืจ ืฆื ืื ืกืขืจืืืขืจ. ืขืก ืึผืืื ืืื ืงืก (ืคืื ืืจื) ืฆื ืืขืงืขืก (ืืืืืืึธืื, ืคืึธืืึธืก, ืืืืื).
ืื ืกืืจืืงืืืจ ืืื ืืื ืืึธืก:
ะฟะพะปะฝัะน_ะฟััั>ะพะฟะธัะฐะฝะธะต
ะฟะพะปะฝัะน_ะฟััั>ะพะฟะธัะฐะฝะธะต
ืืึทื ืฅ
ืืืจ ืืึธืื ืึท ืืึทืงืืึธืจ ืกืขืจืืืขืจ ืคึฟืึทืจ ืงืึทื ืืจืึธืืืื ื ืึท ืงืึธืืคึผืืืืขืจ ืืืืฃ ืึท ืืืืข ื ืขืฅ (ืื ืึท ืืื-ืคื ื ืขืฅ). ืืขืงื ืืงืื, ืืืจ ืงืขื ืขื ืืืืคื ืืขื ืงืืืขื ื ืคึฟืื ืงืืื ืืืื ืืืึธืก ืืื ืึท ืคึผืืืืึธื ืืืขืจืืขืฆืขืจ.
ืคึผืก ืืื ืฆืืืขืืขืื ืื ืฉืืขืื ืืึทืคึฟืขื ืึทืืื ืึทื ืืืื ืึท ืงืึธืืคึผืืืืขืจ ืืืืฃ ืื ืืืืข ื ืขืฅ ืืื ืึทืกืืื ื ืึท ืึทื ืืขืจืฉ IP, ืขืก ืงืขื ืขื ืืืื ืืฉืืื ืืืฉื ืืืืึทื ืืื ืืขื ืงืืืขื ื.
ืืงืืจ: www.habr.com