CHEAT SHEET З РІЗНИМИ ДАНИМИ, ДЛЯ ПЕРЕВІРКИ ЧИСЛОВОГО, ТЕКТОВОГО ТА МИЛЬНОГО ПОЛЯ

Багато хто з нас стикається з регресією в готовому функціоналі або з первинною перевіркою нових полів або взагалі нових форм з набором полів. І нам головне переконатися в тому, що поле може сховати або не може сховати у зв'язку з вимогами функціонала, що працює. А як може бути інакше, поки ми не переконаємося в цьому і не повтикаємо різні види даних у ці поля, ми не дізнаємося як працюватиме наш функціонал, чи це числове поле, чи це буквене.

TOOLS FOR FIND VULNERABILITY

Логин Свят

1/2/20230 min read

CHEAT SHEET З РІЗНИМИ ДАНИМИ, ДЛЯ ПЕРЕВІРКИ ЧИСЛОВОГО, ТЕКТОВОГО ТА МИЛЬНОГО ПОЛЯ

Багато хто з нас стикається з регресією в готовому функціоналі або з первинною перевіркою нових полів або взагалі нових форм з набором полів. І нам головне переконатися в тому, що поле може сховати або не може сховати у зв'язку з вимогами функціонала, що працює. А як може бути інакше, поки ми не переконаємося в цьому і не повтикаємо різні види даних у ці поля, ми не дізнаємося як працюватиме наш функціонал, чи це числове поле, чи це буквене.

Вирішив підготувати універсальний файл на перевірку поля на всі можливі значення та проговорити тут на що потрібно звертати увагу в тому чи іншому полі. а це ви можете також автоматизувати за допомогою тулзи Burp Suite, дивитись в цьому відео

Числове поле:

Давайте розглянемо приклад на числовому полі. Наприклад, у нас є цифрове поле з такими вимогами, є поле, яке має приймати від 1 до 99.9. Які в цьому випадку ми повинні розглянути кейси:

- Коректне значення, застосовуємо граничне значення, а це: 1, 50, 99.9

- Некоректне значення, застосовуємо закордонне значення, а це: 0.99, 99.99, 100

- Дробове число (врахувати як з точкою так і комою), а це наприклад: 2,5 та 2.5

- Дробове число з великою кількістю цифр після коми, а це наприклад: 2.99999 - Нуль 0

- Пусте поле: _____, нічого не заповнюємо

- Пробіл (як між цифрами так і просто без, на початку цифри і наприкінці), а це наприклад: просто пробіл, 5 , 5 5

- Чи не цифрове число (Як спец знаки так і прості символи), а це наприклад: ~!@#$%^&*()_+?/|\ чи fdgf чи 24афвыав4 чи 前年夏天

- Негативне число, а це наприклад: -2 чи -2.22

- Рівняння, а це наприклад: 5*5

- XSS, а це наприклад: ›‹svg/onload=confirm()›

- SQL injection, а це наприклад: ' or sleep(20)#

- Різні дати, а це наприклад: 12.12.20, 12,12,20, 12/12/20

- Емоджі, а це наприклад: 😛 🤑 :-)

- Дуже велике значення, а краще взяти набір з таких кількостей 255, 256 і 1024, щоб переконатися, що база даних не впаде якщо немає перевірки на ній, що в неї кладуть, приклади нижче, починаються на початку того значення скільки в ньому символів:

255325435345355345435423534656546456345345345342523453425346546563634514341256575787687365433567645342545432665464545354354353453454354354354354326565474747365234546546546457657657658675645456546546357676576554634654565465476576576625435436563456753456654

2562325435345355345435423534656546456345345345342523453425346546563634514341256575787687365433567645342545432665464545354354353453454354354354354326565474747365234546546546457657657658675645456546546357676576554634654565465476576576625435436563456753456654

1024323254353453553454354235346565464563453453453425234534253465465636345143412565757876873654335676453425454326654645453543543534534543543543543543265654747473652345465465464576576576586756454565465463576765765546346545654654765765766254354365634567534566543232543534535534543542353465654645634534534534252345342534654656363451434125657578768736543356764534254543266546454535435435345345435435435435432656547474736523454654654645765765765867564545654654635767657655463465456546547657657662543543656345675345665432325435345355345435423534656546456345345345342523453425346546563634514341256575787687365433567645342545432665464545354354353453454354354354354326565474747365234546546546457657657658675645456546546357676576554634654565465476576576625435436563456753456654323254353453553454354235346565464563453453453425234534253465465636345143412565757876873654335676453425454326654645453543543534534543543543543543265654747473652345465465464576576576586756454565465463576765765546346545654654765765766254354365634567534566543254

Текстове поле:

Розгляньмо приклад на текстове поле. Наприклад, у нас є текстове поле з такими вимогами, є поле, яке має приймати від 1 до 100 символів і має приймати тільки латинські символи. Які в цьому випадку ми повинні розглянути кейси:

- Коректне значення (Великі букви, дрібні, змішаний тип), а це наприклад: lowcasename, UPPERCASENAME, CaMelCaseNAme

- Порожнє поле, а це просто пробіл

- Пробіли (як між словами так і просто без тексту, на початку тексту і наприкінці), а це наприклад: просто пробіли, leadingspaceandend, space in middle text

- Цифри (як прості, дробові так і з мінусом), а це наприклад: 12.12.20, 525252, -2

- Спеціалісти, а це наприклад: ~!@#$%^&*()_+?/|\,

- XSS, а це наприклад: ›‹svg/onload=confirm()›

- SQL injection, а це наприклад: ' or sleep(20)#

- Емоджі, а це наприклад: 😛 🤑 :-)

- Мовний текст (китайські символи, арабські символи, кирилиця, латиниця, український апостроф і буква і і Ї), а це наприклад: آذربایجان, 前年夏天, Укр'іЇ, Рустекст

- Некоректне значення, а краще взяти набір з таких кількостей 255, 256 і 1024, щоб переконатися що база даних не впаде якщо немає перевірки на ній, що в неї кладуть, приклади нижче, починаються на початку того значення скільки в ньому символів:

255аывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаыва вфв

256аывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаыва вфва

1024авпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаыва вфвааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаыва вфвааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаыва вфвааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаывааывфавпавпаворпаврпіЇ'авыавылоаролварво рарар фырагшыврарыаыва вфвавыфпуапцукпу

Мильне поле:

Давайте розглянемо приклад на мильному полі. Наприклад у нас є поле для введення мила з такими вимогами, є поле, яке має приймати емейли, у яких є назва пошти, і є домен, на якому зареєстрований емейл, відповідно поле має приймати від 10 до 255 символів і має приймати тільки латинські символи. . Які в цьому випадку ми повинні розглянути кейси:

- Великі та маленькі літери в назві мила та доменної частини, а це наприклад: lowercasemail@example.com, CamelCasemaIl@ExamPle.com, UPPERCASEMALL@EXAMPLE.COM

- Кирилічні імена та домени, а це наприклад: кириліческемило@example.com, кириліческемило@кириличний.домен

- Цифри на початку та в кінці назви мила та доменної частини, а це наприклад: 23numberlocal45@example.com, numberindomain@123example.456com

- Кілька точок у назві мила та доменної частини, а це наприклад: one.two.point@example.com, twopoint.indomain@exam.ple.com

- Дефіси в назві мила та доменної частини, а це наприклад: one-two-hyphen@exam-ple.com, twohyphen-indomain@ex-am-ple.com

- Нижнє підкреслення в назві мила та доменної частини, а це наприклад: twounderscore_indomain@exam_ple_com

- Довга назва мила 255 символу (за стандартом назви мила 64 символи, доменна частина 190 символів), а це наприклад:

255bbigmailnameinthismessage.anagainverybigmailnameinthismessage@verybigmailnameinthisdomainandtwiceverybigmailnameinthisdomainandtwiceverybi.gmailnameinthisdomainandtwiceverybigmailnameinthisdomainandtwiceverybigmailverybigmailnameinthisdomainandtwicever

- Довжина понад допустимі значення (назва понад 64, доменна частина 190), а це наприклад:

257bbigmailnameinthismessage.anagainverybigmailnameinthismessaged@verybigmsailnameinthisdomainandtwiceverybigmailnameinthisdomainandtwiceverybi.gmailnameinthisdomainandtwiceverybigmailnameinthisdomainandtwiceverybigmailverybigmailnameinthisdomainandtwicever

- Пусте поле, а це просто пробіл

- Пробіл, mailwithspace@example.com

- Мило без символу @, а це наприклад: mailwithoutdog.example.com

- Мило без імені, а тільки з доменом і на оборот, а це наприклад: @example.com, mailwithoutdomain@

- Дві точки підряд у якійсь частині, а це наприклад: mailwi..thpoint@example.com

- Крапка спочатку і в кінці імені мила та домену, а це наприклад: .mailwithpoint@example.com.

- Спецсимволи в милі, а це наприклад: mail~!#$%^&*()_+?/|\@example.com

- Емоджі в милі, а це наприклад: mail~!@😛 🤑example.com

- XSS, а це наприклад: ›‹svg/onload=confirm()›

- SQL injection, а це наприклад: ' or sleep(20)#

Ось у принципі всі кейси які можуть бути під ці поля, але знову ж таки всі кейси врахувати не можливо, тому краще його підредагувати під ваші умови поля, що перевіряється, тобто під вимоги до вашого поля.