Yordamchi dasturda
“Pwfeedback” opsiyasi parolni kiritishda har bir kiritilgan belgidan keyin “*” belgisini ko‘rsatishga imkon beradi. Sababli
Muammoning mohiyati shundan iboratki, kiritish paytida ^U (chiziqni tozalash) maxsus belgisidan foydalanilganda va yozish operatsiyasi bajarilmasa, chiqish “*” belgilarini tozalash uchun mas'ul bo'lgan kod mavjud bufer hajmi bo'yicha ma'lumotlarni qayta o'rnatadi, lekin bunday qilmaydi. ko'rsatgichni buferdagi boshlang'ich qiymat joriy holatiga qaytaring. Ekspluatatsiyaga hissa qo'shadigan yana bir omil - ma'lumotlar terminaldan emas, balki kirish oqimi orqali kelganda "pwfeedback" rejimini avtomatik ravishda o'chirib qo'ymaslikdir (bu kamchilik, masalan, tizimlarda yozish xatosi yuzaga kelishi uchun sharoit yaratishga imkon beradi. bir tomonlama
Buzg'unchi stekdagi ma'lumotlarni qayta yozish ustidan to'liq nazoratga ega bo'lganligi sababli, unga o'z imtiyozlarini root qilish uchun oshirish imkonini beruvchi ekspluatatsiya yaratish qiyin emas. Muammodan sudo ruxsatlari yoki sudoer-dagi foydalanuvchiga xos sozlamalardan qat'i nazar, har qanday foydalanuvchi foydalanishi mumkin. Muammoni bloklash uchun /etc/sudoers-da “pwfeedback” sozlamasi yo‘qligiga ishonch hosil qilishingiz kerak va agar kerak bo‘lsa, uni o‘chirib qo‘ying (“Defaults !pwfeedback”). Muammo borligini tekshirish uchun kodni ishga tushirishingiz mumkin:
$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Parol: Segmentatsiya xatosi
Manba: opennet.ru