Pis deyil bro əsas çalışırsan amma səhvlərin var:
Kod:
$cmd = (isset($_GET['cmd']) ? $_GET['cmd'] : 'home');
include(PATH.'templates/'.$cmd.'.php');
Remote deyil local ile inclusiondur bu.
Fikir ver:
Kod:
include(PATH.'templates/'.$cmd.'.php');
CONSTANT.STRING_PATH. PARAMETER.php
Yəni:
[url]http://victim.tld/[PATH]/admin/index.php?cmd=../../../../../.././../../../../../../../../../etc/passwd%00[/url]
RFI ola bilməz orda
RFİ olsaydı belə ssenari görəcəkdin:
Kod:
$cmd = (isset($_GET['cmd']) ? $_GET['cmd'] : 'home');
include($cmd);
2-ci:
Open redirect deyil Open Forwarddır
http://www.owasp.com/index.php/Open_forward
header("Location: ".REL_PATH."index.php?survey=".$_GET['preview']);
Eyni applicationun müəyyən hissəsinə gedəcək redirect.
3-cu Əminsənki XSS-dir?Sualı verməyimdə səbəb odurki bütün ordakı data database.table-dən gəlir və səhifəyə echo edilir + cleanDataEnt() funksiyasına ötürüləndən sonra.
Birbaşa Klient side heçnə görmədim orda $_GET ya $_POST nəsə olsaydı o halda ən azından şübhələnə bilərdin ki,XSS-lik nəsə var.
4-cü də vəziyyət azdan-çoxdan şübhəlidir XSS barəsində yoxlamamış demək biraz çətin məsələdir.
Çünki orda sən HTTP move-dasan echo edilsə də nəsə o da brauzerin adres barındadır.Əsas səhifəyə echo lazımdır səndə olunsun.
XSS əvəzinə sonuncu RESPONCE SPLİT-ə yaxındır o daki aktual deyil artıq PHP >4.X.X ( x.x yadımda deyil artıq) ondan o tərəfə işləmir fixlənib çünki.
Belə düşünürəmki skripti oxumağına oxumusan azdan çoxdan amma tam başa düşməmisən o da gərək PHP dilini normal biləsən.
Çox yox 2-3 dəfə özün məsələn php-də nəsə yazsan beynin daha da açılışacaq.Çalış php -yə giriş.
+
Oxuduqdan sonra skripti çalış mütləq test elə həmişə ki,əmin olasan...