Дар сервери почтаи Exim
Дар конфигуратсияи пешфарз, ҳамла метавонад аз ҷониби корбари маҳаллӣ бидуни мушкилиҳои нолозим анҷом дода шавад, зеро ACL "verify = recipient" истифода мешавад, ки санҷишҳои иловагии суроғаҳои берунаро анҷом медиҳад. Ҳамлаи дурдаст метавонад ҳангоми тағир додани танзимот рух диҳад, масалан, ҳамчун MX дуюмдараҷа барои домени дигар, нест кардани ACL "verify=Recipient" ё тағироти муайян ба local_part_suffix). Ҳамлаи дурдаст низ имконпазир аст, агар ҳамлакунанда қодир бошад, ки пайвастшавӣ ба серверро барои 7 рӯз боз нигоҳ дорад (масалан, фиристодани як байт дар як дақиқа барои гузаштан аз вақт). Ҳамзамон, эҳтимол дорад, ки векторҳои оддии ҳамла барои истисмори фосилавии мушкилот вуҷуд дошта бошанд.
Ин осебпазирӣ дар натиҷаи санҷиши нодурусти суроғаи гиранда дар функсияи delivery_message() дар файли /src/deliver.c муайян шудааст. Бо истифода аз форматкунии суроғаҳо, ҳамлакунанда метавонад ба иваз кардани маълумоти худ ба аргументҳои фармоне, ки тавассути функсияи execv() бо ҳуқуқи реша даъват карда мешавад, ноил шавад. Амалиёт истифодаи усулҳои мураккаберо, ки барои пур кардани буфер ё вайрон кардани хотира истифода мешаванд, талаб намекунад; иваз кардани аломатҳои оддӣ кифоя аст.
Мушкилот бо истифодаи конструксия барои табдили суроға алоқаманд аст:
teslim_localpart = васеъ_сатр (
string_sprintf("${қисми_маҳаллӣ:%s}", new->адрес));
таҳвил_домен = васеъ_сатр (
string_sprintf("${домен:%s}", new->адрес));
Функсияи expand_string() як комбинатсияи аз ҳад зиёд мураккаб аст, аз ҷумла эътирофи фармони "${run{commandarguments}", ки боиси оғози коркарди беруна мегардад. Ҳамин тариқ, барои ҳамла дар дохили сеанси SMTP, корбари маҳаллӣ танҳо бояд фармонеро ба мисли 'RCPT TO “username+${run{...}}@localhost” фиристад, ки дар он localhost яке аз ҳостҳо аз рӯйхати local_domains аст, ва номи корбар номи корбари мавҷудаи маҳаллӣ аст.
Агар сервер ҳамчун релеи почта кор кунад, он гоҳ фиристодани фармони 'RCPT TO "${run{...}}@relaydomain.com"' кифоя аст, ки дар он ҷо relaydomain.com яке аз ҳостҳои дар relay_to_domains номбаршуда мебошад. бахши танзимот. Азбаски Exim барои қатъ кардани ҳолати имтиёз (deliver_drop_privilege = бардурӯғ) пешфарз намекунад, фармонҳое, ки тавассути "${run{...}}" интиқол дода мешаванд, ҳамчун реша иҷро карда мешаванд.
Қобили зикр аст, ки осебпазирӣ буд
Ислоҳ барои версияҳои қаблӣ, ки дар тақсимот истифода мешаванд, ҳоло танҳо ҳамчун дастрас аст
Манбаъ: opennet.ru