Jump to content
php.lv forumi

poison null


martins256

Recommended Posts

Un pati prezentācija ir vienkārši nenormāli haotiska :).

 

Bet vispār tas exploits, cik saprotu, ir vienkārši ļaunīgi noformatēts HTTP POST pieprasījums, kas attēla (bet reāli php skripta) nosaukumu padod ar nulles baitu pa vidu. Bet vispār nezināju par tādu. Paldies, ka pastāstīji par to.

 

PS. Kā trim var palīdzēt aizsargāties pret to ?

Link to comment
Share on other sites

labak iemet linku no kada ista movie tu to skatijies

Link to comment
Share on other sites

martins256, man šķiet, ka tu te nedaudz mānies.

 

Gribu redzēt to tavu exploitu, jo cik izmēģinājos, tad vienkārši

Content-Disposition: form-data; name="file"; filename="evil_script.php[sheit nulles bits]bilde.jpg"\r\n

neko nevar izdarīt, jo php pusē iekš $_FILES['file']['name'] tāpat nonāk tikai nosaukums līdz nulles bitam. Tātad, ja esmu ieviesis kaut elementārāko pārbaudīti

if (substr($_FILES['file']['name'], -4, 4) == '.jpg') { // ir ok }

tad exploits paliek neiespējams, bet ja neesmu ieviesis šādu pārbaudi, tad vienkārši no šāda "exploita" nav jēgas, jo tik pat labi varu vienkāršu php failu sūtīt nemaz nemēģinot maskēt to.

 

Parādi exploitu, kas mācēs appiet uploadu, kas pārbauda vai $_FILES['file']['name'] beidzas ar '.jpg'.

 

PS. Un tas pats sākums, kur tu māžojies ar to bildi un forumu ? wtf ? Protams, tāda hakošana ir iespējama, ja serveris mistiski nez kāpēc izdomā pārsēt caur php jpg failus, bet nu ar null byte tam nav nekāds sakars. Man kaut kā vairāk šķiet, ka tu uzskrēji virsū http://seclists.org/fulldisclosure/2006/Sep/0185.html un pārprati visu to būtību.

Edited by andrisp
Link to comment
Share on other sites

martins256, tas kods, ko tu man atsūtīji, nemaz nestrādā.

 

Ok, izlaboju kļūdiņas. It kā strādā. Bet reāli tur nav nekāds exploits. Ir tieši tas, ko es teicu.

 

Izmaini $fails_buus= '2.1.7.php'."".'asd.jpg'; uz vienkārši $fails_buus= '2.1.7.php'; un tāpat fails uploadēsies, jo tev nav nekādas aizsardzības pret .php paplašinājumiem. Pieliekam klāt kaut elementārāko aizsardzību, un "exploits" nestrādā, a ja aizsardzības nav vispār, tad tas exploits arī vispār nav vajadzīgs. Tātad jēgas nekādas.

 

Bet vispār null byte ievainojamības pastāv gan.

 

Piemērs. Kaut kur kādā kodā:

 

require($_GET['file'].'.html');

 

Pieprasam skripts.php?file=/svariigs/fails[nulles bits]

 

require nometīs visu, kas aiz nulles bita.

 

Tāpat šeit var staigat arī pa direktorijām ar /../, bet tas ir cits stāsts.

Edited by andrisp
Link to comment
Share on other sites

×
×
  • Create New...