Как создать шелл-код буквенно-цифровыми буквами? - PullRequest
0 голосов
/ 02 октября 2018

Я работаю над назначением HW переполнения буфера.Уязвимый код принимает три аргумента.Следующий код проверяет содержимое трех аргументов.

if (strlen( arguement1 ) > 16){ //check arg1 }

for (i = 0; i < strlen( argument2 ); i++)
{
    if (!isalnum (arg[i])) { //check arg2 is alphaneumeric }
}

if (strlen( argument 3 ) > 16){ //check arg3 }

Я планирую вставить буквенно-цифровой код оболочки в arg2 и вернуть адрес возврата в начало arg2.Я нашел буквенно-цифровой шелл-код здесь .Однако я не понимаю, как это работает.Это то, что я пробовал

run $(python -c 'print "\x90"*16+" "+"A"*30+"XHgwMVx4MzBceDhmXHhlMlx4MTNceGZmXHgyZlx4ZTFceDI0XHgxYlx4MjBceDFjXHgxN1x4MjdceDAxXHhkZlx4NzhceDQ2XHgwYVx4MzBceDAxXHg5MFx4MDFceGE5XHg5Mlx4MWFceDBiXHgyN1x4MDFceGRmXHgyZlx4MmZceDYyXHg2OVx4NmVceDJmXHg3M1x4Njg="+"A"*1116+" \x30\xcc\xff\xff"')


//I put \x90 into arg1 and shellcode I found into arg2 and return address into arg3

Я знаю, что мне нужен декодер, но где бы я его положил и где его найти?

...