ROOTPLOIT
Server: LiteSpeed
System: Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User: niphet (1079)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: //lib64/python3.8/__pycache__/smtpd.cpython-38.opt-2.pyc
U

e5d@sZddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZm
Z
dddddgZejdZd	ZGd
ddZeadZd
ZdZd$ddZGdddejZGdddejZGdddeZGdddeZGdddeZGdddZddZ e!dkrVe Z"e"j#Z#de#krle#$dZ%e&e#de%e'e(dgZ)e#e%ddZ#nddl*Z)e+e)e#Z,e,e"j-e"j.fe"j/e"j0fe"j1e"j2dZ3e"j4r2zddl5Z5Wn.e6k
re7dej8d e9dYnXe5:d!d"Z;ze4e;Wn.e<k
r0e7d#ej8d e9dYnXze=Wne>k
rTYnXdS)%N)warn)
get_addr_specget_angle_addrSMTPChannel
SMTPServerDebuggingServer	PureProxyMailmanProxyzPython SMTP proxy version 0.3c@seZdZddZddZdS)DevnullcCsdSNselfmsgrr/usr/lib64/python3.8/smtpd.pywritefz
Devnull.writecCsdSrrrrrrflushgrz
Devnull.flushN)__name__
__module____qualname__rrrrrrr
esr

z, icCs4ttttjd|r&t|tjdt|dS)Nfile)print__doc__globalssysstderrexit)coderrrrusagepsr#c@seZdZdZdZdZeefddZe	ddZ
edd	d	fd
dZdd
Z
ddZe	ddZejddZe	ddZejddZe	ddZejddZe	ddZejddZe	ddZejddZe	dd Zejd!d Ze	d"d#Zejd$d#Ze	d%d&Zejd'd&Ze	d(d)Zejd*d)Ze	d+d,Zejd-d,Ze	d.d/Zejd0d/Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dS)SrricCs|Srr)xrrr<lambda>|rzSMTPChannel.<lambda>cCs0zt|jWStk
r*|jYSXdSr)maxcommand_size_limitsvalues
ValueErrorcommand_size_limitrrrrmax_command_size_limit~sz"SMTPChannel.max_command_size_limitNFc	
Cs&tjj|||d||_||_||_||_||_||_|rF|rFt	d|rdd|_
d|_d|_t
|_nd|_
d|_td|_d	|_|d|_d
|_|jt|_z||_WnBtk
r}z$||jdtjkrWYdSd}~XYnXtdt |jt!d
|"d|jt#fdS)NmapFdecode_data and enable_SMTPUTF8 cannot be set to True at the same timer
.r
.
FrzPeer:rz	220 %s %s)$asynchat
async_chat__init__smtp_serverconnaddrdata_size_limitenable_SMTPUTF8_decode_datar*_emptystring_linesep_dotsepNEWLINE_newlineord_set_rset_state
seen_greeting
extended_smtpr(clearsocketZgetfqdnfqdnZgetpeernamepeerOSErrorcloseargserrnoZENOTCONNrreprDEBUGSTREAMpush__version__)	rZserverr9r:r;r.r<decode_dataerrrrrr7s@


zSMTPChannel.__init__cCs.|j|_d|_g|_d|_d|_|ddS)NFrr2)COMMAND
smtp_statemailfromrcpttosrequire_SMTPUTF8	num_bytesset_terminatorrrrr_set_post_data_statesz SMTPChannel._set_post_data_statecCs|d|_g|_dSNr)r\
received_datareceived_linesrrrrrDszSMTPChannel._set_rset_statecCstdtd|jS)NzTAccess to __server attribute on SMTPChannel is deprecated, use 'smtp_server' insteadrDeprecationWarningr8rrrr__servers
zSMTPChannel.__servercCstdtd||_dS)NzRSetting __server attribute on SMTPChannel is deprecated, set 'smtp_server' insteadr`rarvaluerrrrcs
cCstdtd|jS)NzUAccess to __line attribute on SMTPChannel is deprecated, use 'received_lines' insteadr`rrbr_rrrr__lines
zSMTPChannel.__linecCstdtd||_dS)NzSSetting __line attribute on SMTPChannel is deprecated, set 'received_lines' insteadr`rfrdrrrrgs
cCstdtd|jS)NzRAccess to __state attribute on SMTPChannel is deprecated, use 'smtp_state' insteadr`rrbrVrrrr__states
zSMTPChannel.__statecCstdtd||_dS)NzPSetting __state attribute on SMTPChannel is deprecated, set 'smtp_state' insteadr`rhrdrrrris
cCstdtd|jS)NzXAccess to __greeting attribute on SMTPChannel is deprecated, use 'seen_greeting' insteadr`rrbrErrrr
__greetings
zSMTPChannel.__greetingcCstdtd||_dS)NzVSetting __greeting attribute on SMTPChannel is deprecated, set 'seen_greeting' insteadr`rjrdrrrrks
cCstdtd|jS)NzSAccess to __mailfrom attribute on SMTPChannel is deprecated, use 'mailfrom' insteadr`rrbrWrrrr
__mailfroms
zSMTPChannel.__mailfromcCstdtd||_dS)NzQSetting __mailfrom attribute on SMTPChannel is deprecated, set 'mailfrom' insteadr`rlrdrrrrms
cCstdtd|jS)NzQAccess to __rcpttos attribute on SMTPChannel is deprecated, use 'rcpttos' insteadr`rrbrXrrrr	__rcpttoss
zSMTPChannel.__rcpttoscCstdtd||_dS)NzOSetting __rcpttos attribute on SMTPChannel is deprecated, set 'rcpttos' insteadr`rnrdrrrros
cCstdtd|jS)NzTAccess to __data attribute on SMTPChannel is deprecated, use 'received_data' insteadr`rrbr^rrrr__datas
zSMTPChannel.__datacCstdtd||_dS)NzRSetting __data attribute on SMTPChannel is deprecated, set 'received_data' insteadr`rprdrrrrqs
cCstdtd|jS)NzKAccess to __fqdn attribute on SMTPChannel is deprecated, use 'fqdn' insteadr`rrbrIrrrr__fqdn
s
zSMTPChannel.__fqdncCstdtd||_dS)NzISetting __fqdn attribute on SMTPChannel is deprecated, set 'fqdn' insteadr`rrrdrrrrss
cCstdtd|jS)NzKAccess to __peer attribute on SMTPChannel is deprecated, use 'peer' insteadr`rrbrJrrrr__peers
zSMTPChannel.__peercCstdtd||_dS)NzISetting __peer attribute on SMTPChannel is deprecated, set 'peer' insteadr`rtrdrrrrus
cCstdtd|jS)NzKAccess to __conn attribute on SMTPChannel is deprecated, use 'conn' insteadr`rrbr9rrrr__conn s
zSMTPChannel.__conncCstdtd||_dS)NzISetting __conn attribute on SMTPChannel is deprecated, set 'conn' insteadr`rvrdrrrrw%s
cCstdtd|jS)NzKAccess to __addr attribute on SMTPChannel is deprecated, use 'addr' insteadr`rrbr:rrrr__addr+s
zSMTPChannel.__addrcCstdtd||_dS)NzISetting __addr attribute on SMTPChannel is deprecated, set 'addr' insteadr`rxrdrrrry0s
cCs&tj|t|d|jrdnddS)Nr0utf-8ascii)r5r6rQbytesrYr
rrrrQ7s
zSMTPChannel.pushcCs|d}|j|jkr|j}n|j|jkr*|j}|r<|j|kr<dS|rR|jt|7_|jrl|j	t
|dn|j	|dS)Nrz)rVrUr,DATAr;rZlenr=r_appendstr)rdatalimitrrrcollect_incoming_data<sz!SMTPChannel.collect_incoming_datac
Cs|j|j}tdt|tdg|_|j|jkr|jd}|_|sT|	ddS|j
sdt|d}|d}|dkr|
}d}n$|d|
}||dd}|jr|j|n|j}||kr|	ddSt|d	|d}|s|	d
|dS||dS|j|jkr(|	dd|_dS|jrR|j|jkrR|	dd|_dSg}||jD]:}	|	r|	d|jkr||	ddn
||	qb|j||_|j|j|j|jf}
i}|j
s|j|jd
}|j j!|
|}|"|s|	dn
|	|dS)NzData:rrz500 Error: bad syntaxrz r$z500 Error: line too longZsmtp_z&500 Error: command "%s" not recognizedz451 Internal confusionz552 Error: Too much mail data)mail_optionsrcpt_options250 OK)#r>joinr_rrOrPrVrUrZrQr=rfindupperstriprFr(r+getattrr}r;splitr?r@rrBr^rJrWrXrrr8process_messager\)
rlineZszicommandargZmax_szmethodrtextrMkwargsZstatusrrrfound_terminatorLsl





zSMTPChannel.found_terminatorcCsH|s|ddS|jr&|ddS|||_|d|jdS)Nz501 Syntax: HELO hostname503 Duplicate HELO/EHLOz250 %s)rQrErDrIrrrrr	smtp_HELOs

zSMTPChannel.smtp_HELOcCs|s|ddS|jr&|ddS|||_d|_|d|j|jrr|d|j|jdd7<|js|d|jr|d	|jdd
7<|ddS)Nz501 Syntax: EHLO hostnamerTz250-%sz250-SIZE %sMAILz250-8BITMIMEz250-SMTPUTF8
z250 HELP)	rQrErDrFrIr;r(r=r<rrrr	smtp_EHLOs&



zSMTPChannel.smtp_EHLOcCs|r|dn
|ddS)Nz501 Syntax: NOOPrrQrrrr	smtp_NOOPszSMTPChannel.smtp_NOOPcCs|d|dS)Nz221 Bye)rQZclose_when_donerrrr	smtp_QUITs
zSMTPChannel.smtp_QUITcCs0t|}|d||kr,||dSdSr])r~rr)rkeywordrZkeylenrrr_strip_command_keywordsz"SMTPChannel._strip_command_keywordcCsF|sdS|dr$t|\}}nt|\}}|s<||fS|j|fS)N)rr<)lstrip
startswithrrZ	addr_spec)rraddressrestrrr_getaddrszSMTPChannel._getaddrcCsHi}|D]:}|d\}}}|r,|r2|s2dS|r:|nd||<q|S)N=T)	partitionisalnum)rparamsresultZparameqrerrr
_getparamsszSMTPChannel._getparamscCs|rd}|}|dkr$|dq|dkr8|dq|dkr^d}|jrR||7}||q|dkrd	}|jrx||7}||q|d
kr|dq|dkr|d
q|dkr|dq|dkr|dq|dkr|dq|dn
|ddS)N [SP <mail-parameters>]ZEHLOz250 Syntax: EHLO hostnameZHELOz250 Syntax: HELO hostnamerz 250 Syntax: MAIL FROM: <address>ZRCPTz250 Syntax: RCPT TO: <address>r}z250 Syntax: DATAZRSETz250 Syntax: RSETZNOOPz250 Syntax: NOOPZQUITz250 Syntax: QUITZVRFYz250 Syntax: VRFY <address>zD501 Supported commands: EHLO HELO MAIL RCPT DATA RSET NOOP QUIT VRFYzD250 Supported commands: EHLO HELO MAIL RCPT DATA RSET NOOP QUIT VRFY)rrQrF)rrZextendedZlc_argrrrr	smtp_HELPs:zSMTPChannel.smtp_HELPcCs@|r2||\}}|r"|dq<|d|n
|ddS)NzB252 Cannot VRFY user, but will accept message and attempt deliveryz502 Could not VRFY %sz501 Syntax: VRFY <address>)rrQ)rrrrrrr	smtp_VRFYszSMTPChannel.smtp_VRFYcCs|js|ddStd|tdd}|jr4|d7}|dkrJ||dS|d|}||\}}|sv||dS|js|r||dS|jr|ddS|	|_
||j
}|dkr||dS|js|
dd	}|d
kr|ddS|jr8|
dd
}|dkr d|_n|d
k	r8|ddS|
dd}|r|sb||dS|jrt||jkr|ddSt|dkr|ddS||_td|jtd|ddS)N503 Error: send HELO firstz	===> MAILrz 501 Syntax: MAIL FROM: <address>rzFROM:z503 Error: nested MAIL commandZBODY7BIT)rZ8BITMIMEz1501 Error: BODY can only be one of 7BIT, 8BITMIMEZSMTPUTF8FTz&501 Error: SMTPUTF8 takes no argumentsZSIZEz:552 Error: message size exceeds fixed maximum message sizerz:555 MAIL FROM parameters not recognized or not implementedzsender:r)rErQrrPrFrrrWrrrrr=popr<rYisdigitr;intr~keys)rr	syntaxerrrrZbodysmtputf8sizerrr	smtp_MAILsh














zSMTPChannel.smtp_MAILcCs|js|ddStd|td|js6|ddSd}|jrH|d7}|dkr^||dS|d|}||\}}|s||dS|js|r||dS|	|_
||j
}|dkr||dSt|
dkr|d	dS|j|td
|jtd|ddS)Nrz	===> RCPTrz503 Error: need MAIL commandz501 Syntax: RCPT TO: <address>rzTO:rz8555 RCPT TO parameters not recognized or not implementedzrecips:r)rErQrrPrWrFrrrrrrr~rrXr)rrrrrrrr	smtp_RCPT7s@







zSMTPChannel.smtp_RCPTcCs(|r|ddS||ddS)Nz501 Syntax: RSETr)rQrDrrrr	smtp_RSETZs

zSMTPChannel.smtp_RSETcCsZ|js|ddS|js(|ddS|r:|ddS|j|_|d|ddS)Nrz503 Error: need RCPT commandz501 Syntax: DATAs
.
z#354 End data with <CR><LF>.<CR><LF>)rErQrXr}rVr[rrrr	smtp_DATAas



zSMTPChannel.smtp_DATAcCs|ddS)Nz502 EXPN not implementedrrrrr	smtp_EXPNpszSMTPChannel.smtp_EXPN),rrrrUr}r+collectionsdefaultdictr(propertyr,DATA_SIZE_DEFAULTr7r\rDZ_SMTPChannel__serversetterZ_SMTPChannel__lineZ_SMTPChannel__stateZ_SMTPChannel__greetingZ_SMTPChannel__mailfromZ_SMTPChannel__rcpttosZ_SMTPChannel__dataZ_SMTPChannel__fqdnZ_SMTPChannel__peerZ_SMTPChannel__connZ_SMTPChannel__addrrQrrrrrrrrrrrrrrrrrrrrrws

'	





















>#6#c@s2eZdZeZedddfddZddZddZdS)	rNFcCs||_||_||_||_||_|r.|r.tdtjj||dzNt	j
|dt	ji}||dd|dd|
|||dWn|Yn(Xtd|jjtt||ftddS)	Nr/r-typerr$z0%s started at %s
	Local addr: %s
	Remote addr:%sr)Z
_localaddr_remoteaddrr;r<r=r*asyncore
dispatcherr7rHZgetaddrinfoZSOCK_STREAMZ
create_socketZset_reuse_addrZbindZlistenrLr	__class__rtimectimerP)rZ	localaddrZ
remoteaddrr;r.r<rSZgai_resultsrrrr7xs6
zSMTPServer.__init__c	Cs6tdt|td|||||j|j|j|j}dS)NzIncoming connection from %sr)rrOrP
channel_classr;_mapr<r=)rr9r:Zchannelrrrhandle_acceptedszSMTPServer.handle_acceptedcKstdSr)NotImplementedErrorrrJrWrXrrrrrrszSMTPServer.process_message)	rrrrrrr7rrrrrrrts
c@seZdZddZddZdS)rcCsld}|}|D]V}|rL|sLd|d}t|ts@t|d}t|d}t|ts^t|}t|qdS)Nr$zX-Peer: rrz)
splitlines
isinstancerrOencoder)rrJrZ	inheaderslinesrZ
peerheaderrrr_print_message_contents

z&DebuggingServer._print_message_contentcKsXtd|r@|dr&td|d|dr@td|d|||tddS)Nz%---------- MESSAGE FOLLOWS ----------rzmail options: %srzrcpt options: %s
z%------------ END MESSAGE ------------)rgetrrrrrrs

zDebuggingServer.process_messageN)rrrrrrrrrrscs,eZdZfddZddZddZZS)rcs.d|kr|drtdtt|j||dS)Nr<z$PureProxy does not support SMTPUTF8.r*superrr7rrMrrrrr7szPureProxy.__init__c	Csf|d}d}|D]}|sq(|d7}q||d|dt|}||||}td|tddS)Nrrr$z
X-Peer: %szwe got some refusals:r)rinsertrAr_deliverrrP)	rrJrWrXrrrrrefusedrrrrs


zPureProxy.process_messagec
Csddl}i}zB|}||jd|jdz||||}W5|XWn|jk
r}ztdtd|j	}W5d}~XYnft
|jfk
r}zBtd|jtdt
|dd}t
|dd	}	|D]}
||	f||
<qW5d}~XYnX|S)
Nrr$zgot SMTPRecipientsRefusedrZgotZ	smtp_codeZ
smtp_errorignore)smtplibZSMTPZconnectrquitZsendmailZSMTPRecipientsRefusedrrPZ
recipientsrKZ
SMTPExceptionrr)rrWrXrrrseZerrcodeerrmsgrrrrrs$ zPureProxy._deliver)rrrr7rr
__classcell__rrrrrscs$eZdZfddZddZZS)r	cs.d|kr|drtdtt|j||dS)Nr<z'MailmanProxy does not support SMTPUTF8.rrrrrr7
szMailmanProxy.__init__cCs*ddlm}ddlm}ddlm}ddlm}g}	|D]t}
|
dd}|d}t|dkrfq8|d}
t|dkr|d	}nd
}|	|
r8|dkrq8|	
|
|
|fq8|	D]\}
}
}||
qtdd

|td|r||||}td|tdi}||}||}|ds&||d<|dsDtt|d<|	D]\}
}
}td|
td||
}|s|j|
dd}|||
<|d
kr|j|d	dn|dkr|j|d	dnh|dkr|j|d	dnN|dkr|j|d	dn4|dkrH|dkrd|d <nd!|d <|j|d	dqHdS)"Nr)StringIO)Utils)Message)MailList@-r`r$r)radminownerrequestrleavezforwarding recips:rrzwe got refusals:fromZFromdateZDatezsending message to)lock)tolistr)Ztoadminr)Ztoownerr)Z	torequest)rrrZ	subscribeZSubjectZunsubscribe)iorZMailmanrrrlowerrr~Zlist_existsrremoverrrPrrrrZEnqueue)rrJrWrXrrrrrZ	listnamesZrcptZlocalpartsZlistnamerrZmlistsrrZmlistrrrrsb










zMailmanProxy.process_message)rrrr7rrrrrrr	sc@seZdZdZdZdZdZdS)OptionsTrNF)rrrsetuid	classname
size_limitr<rrrrr_src
Cspz.ttjdddddddddd	g\}}Wn.tjk
r\}ztd|W5d}~XYnXt}|D]\}}|d
krtdqh|dkrtttdqh|d
krd|_	qh|dkr||_
qh|dkrtjaqh|dkrd|_
qh|dkrhzt|}||_Wqhtd|tjdtdYqhXqht|dkr<d}d}nPt|dkrX|d}d}n4t|dkrx|d}|d}ntddt||d}	|	dkrtdd||d|	|_zt||	dd|_Wn$tk
rtdd|YnX|d}	|	dkrtdd||d|	|_zt||	dd|_Wn$tk
rjtdd|YnX|S) Nr$z	nVhc:s:duzclass=Znosetuidversionhelpzsize=debugr)z-hz--helpr)z-Vz	--version)z-nz
--nosetuidF)z-cz--class)z-dz--debug)z-uz
--smtputf8T)z-sz--sizezInvalid size: rzlocalhost:8025zlocalhost:25r`zInvalid arguments: %s:zBad local spec: %szBad local port: %szBad remote spec: %szBad remote port: %s)getoptrargverrorr#rrrRr!rrr rPr<rrr~
COMMASPACErr	localhost	localportr*
remotehost
remoteport)
ZoptsrMroptionsoptrZint_sizeZ	localspecZ
remotespecrrrr	parseargsfsv






r__main__r1r$)r<z7Cannot import module "pwd"; try running with -n option.rnobodyr`z3Cannot setuid "nobody"; try running with -n option.)r)?rosrNrrrHrr5rwarningsrZemail._header_value_parserrr__all__rZprogramrRr
rPrArrr#r6rrrrrr	rrrrrrfindZlastdot
__import__rlocalsmodrrZclass_rr	r
rrr<proxyrpwdImportErrorrr r!getpwnamrPermissionErrorZloopKeyboardInterruptrrrr<module>Ps

M-SB