Առաջադրանքի լուծում pwnable.kr 25 - otp. Linux ֆայլի չափի սահմանափակում

Առաջադրանքի լուծում pwnable.kr 25 - otp. Linux ֆայլի չափի սահմանափակում
Այս հոդվածում մենք կլուծենք 25-րդ խնդիրը կայքից pwnable.kr.

Կազմակերպչական տեղեկատվությունՀատկապես նրանց համար, ովքեր ցանկանում են նոր բան սովորել և զարգանալ տեղեկատվական և համակարգչային անվտանգության ցանկացած ոլորտում, ես կգրեմ և կխոսեմ հետևյալ կատեգորիաների մասին.

  • PWN;
  • գաղտնագրություն (Crypto);
  • ցանցային տեխնոլոգիաներ (Ցանց);
  • հակադարձ (Reverse Engineering);
  • ստեգանոգրաֆիա (Stegano);
  • WEB-ի խոցելիության որոնում և շահագործում:

Բացի սրանից, ես կկիսվեմ իմ փորձով համակարգչային դատաբժշկական փորձաքննության, չարամիտ ծրագրերի և որոնվածի վերլուծության, անլար ցանցերի և լոկալ ցանցերի վրա հարձակումների, pentests-ի և գրելու շահագործման ոլորտում:

Որպեսզի օգնեմ ձեզ արդի մնալ նոր հոդվածների, ծրագրերի և այլ տեղեկությունների հետ, ես ստեղծել եմ Telegram ալիք и խումբ՝ ցանկացած հարց քննարկելու համար I&KB ոլորտում։ Նաև ձեր անձնական հարցումները, հարցերը, առաջարկությունները և առաջարկությունները Ես անձամբ կանդրադառնամ դրան և կպատասխանեմ բոլորին:.

Ամբողջ տեղեկատվությունը ներկայացված է միայն կրթական նպատակներով: Այս փաստաթղթի հեղինակը որևէ պատասխանատվություն չի կրում որևէ մեկին պատճառված վնասի համար՝ այս փաստաթղթի ուսումնասիրությունից ստացված գիտելիքների և տեխնիկայի օգտագործման արդյունքում:

Օտպ առաջադրանքի լուծում

Շարունակենք երկրորդ բաժինը։ Ես անմիջապես կասեմ, որ դա ավելի բարդ է, քան առաջինը, բայց այս անգամ նրանք չեն տրամադրում ծրագրի սկզբնական կոդը: Մի մոռացեք քննարկման մասին այստեղ (https://t.me/RalfHackerPublicChat) և այստեղ (https://t.me/RalfHackerChannel): Եկեք սկսենք.

Սեղմեք պատկերակի վրա՝ ստորագրությամբ otp: Մեզ տրվում է հասցե և նավահանգիստ՝ միանալու համար:

Առաջադրանքի լուծում pwnable.kr 25 - otp. Linux ֆայլի չափի սահմանափակում

Մենք միանում և նայում ենք սերվերի շուրջը:

Առաջադրանքի լուծում pwnable.kr 25 - otp. Linux ֆայլի չափի սահմանափակում

Դրոշ, որը մենք չենք կարող կարդալ, ծրագիր և դրա սկզբնական կոդը: Դիտարկենք աղբյուրը։

Առաջադրանքի լուծում pwnable.kr 25 - otp. Linux ֆայլի չափի սահմանափակում

Եկեք դասավորենք այն: Ծրագիրը որպես փաստարկ ընդունում է գաղտնաբառ:

Առաջադրանքի լուծում pwnable.kr 25 - otp. Linux ֆայլի չափի սահմանափակում

Հաջորդը, պատահական 16 բայթը պահվում է otp փոփոխականում:

Առաջադրանքի լուծում pwnable.kr 25 - otp. Linux ֆայլի չափի սահմանափակում

tmp թղթապանակում ստեղծվում է պատահական անունով ֆայլ (առաջին 8 բայթը otp է) և պատահական 8 բայթ է գրվում դրան (երկրորդ 8 բայթը՝ otp)։

Առաջադրանքի լուծում pwnable.kr 25 - otp. Linux ֆայլի չափի սահմանափակում

Չգիտես ինչու, ստեղծված ֆայլի արժեքը կարդացվում և համեմատվում է մուտքագրված գաղտնաբառի հետ:

Առաջադրանքի լուծում pwnable.kr 25 - otp. Linux ֆայլի չափի սահմանափակում

Հենց այստեղ է հայտնվում խոցելիությունը: Այն բաղկացած է գեներացված համարը ֆայլում միջանկյալ պահելուց: Մենք կարող ենք սահմանափակել ֆայլի չափը, օրինակ, 0-ով, այնուհետև գրելիս և կարդալիս 0-ը կհամեմատեն գաղտնաբառի հետ, դա կարելի է անել այսպես.

# ulimit -f 0

Առաջադրանքի լուծում pwnable.kr 25 - otp. Linux ֆայլի չափի սահմանափակում

Հիմա եկեք գործարկենք ծրագիրը:

Առաջադրանքի լուծում pwnable.kr 25 - otp. Linux ֆայլի չափի սահմանափակում

Մենք սխալ ենք ստանում. Կարևոր չէ, այն կարող է մշակվել նույն պիթոնի միջոցով:

python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')" 

Առաջադրանքի լուծում pwnable.kr 25 - otp. Linux ֆայլի չափի սահմանափակում

Մենք ստանում ենք դրոշը և մեր հեշտ 100 միավորը: Եվ մենք շարունակում ենք. հաջորդ հոդվածում կանդրադառնանք համացանցին։ Դուք կարող եք միանալ մեզ Telegram.

Source: www.habr.com

Добавить комментарий