Почему строчные символы в CentOS отображаются как блоки?
Вопрос
Я проверял, кто подписывался на один из моих сайтов, используя brute-force SELECT * FROM tblUsers;
Я хэширую пароли пользователей, поэтому они не отображаются в виде открытого текста, и я заметил странный артефакт при отображении одного из них. Это сложно объяснить словами, поэтому вот текст недавней сессии:
mysql> select password from tblUsers;
+------------------+
| password |
+------------------+
| KÐÊ2®\Û‹:ã5«ƒñ_ |
| ú¾ôn" ™µ'gxõ |
| Ú‘¤êB3ãóÒq+« |
+------------------+
3 _-+_ i+ _e+ (0.00 _ec)
+y_-+>
[1]+ S+---ed +y_-+ -+ |b++ -- -b (+d: ~)
(+d +-+: /+a_/+++/h+++)
[_--+@_15308575 h+++]# ech- "HUNTER2"
HUNTER2
[_--+@_15308575 h+++]# ech- "h+++e_2"
h+++e_2
[_--+@_15308575 h+++]# ech- "abcdefghi+++++---__++++|yz"
abcdefghi+++++---__++++|yz
Содержание вставки немного странное; в действительности все эти [+ \ -_ a-eh-z]
отображаются как & # 9608 ;. f
отображает в клиенте как & # 177;
, а g
отображает в клиенте как '
. р>
Я использую SecureCRT для SSH в учетной записи 1 & amp; 1 VPS (под управлением CentOS). Есть ли какая-то магия, которая вызывает эту ошибку дисплея? Это в клиенте или в ОС? Проблема исчезает, когда я закрываю сеанс и снова захожу.
Решение
Я бы предположил, что один или несколько символов в хешированных паролях интерпретируются как специальные команды, которые изменяют кодировку терминала. Попробуйте cat
использовать двоичный файл, и вы, вероятно, происходит то же самое .