Linkler
VM Link : https://www.vulnhub.com/entry/pentester-lab-web-for-pentester,71/
Github : https://github.com/D35m0nd142/LFISuite
Makineyi içeri aktar dedik ve kaliyle birlikte bridged seçtik. Makinede ifconfig yazarak veya netdiscover -i eth0 yazarak ip adresini öğrenebiliriz.Size tavsiyem /var/www/ klasörüne gidin ve açıklı dosyaları inceleyin kodlama dilleri bilmeniz burada işe yarayacak oradaki kodları okuyacaksınız ve yanlışı bulacaksınız.
Eğer web for pentester a domain yönlendirme yapmak istersek nano /etc/hosts yaparak (ctrl + x yapıp onaylamayı unutmayın) ve aşağıdaki gibi
ifconfig ile bulduğumuz ip nin yanına istediğiniz domaini yazabilirsiniz isterseniz fbi.gov yazın )
Yönlendirme başarılı.
Manuel LFI Exploit :
[ame]https://www.youtube.com/watch?v=aAkWBE4D2G8[/ame]
Otomatik LFI Exploit / Shell Alma :
[ame]https://www.youtube.com/watch?v=MtGQ_seoA84[/ame]
Manuel RFI Exploit :
[ame]https://www.youtube.com/watch?v=-f20YV9jJ3k&feature=youtu.be[/ame]
Otomatik RFI Exploit / Shell Alma :
[ame]https://www.youtube.com/watch?v=CVi_we8Dm8o[/ame]
Öncelikle lfi ve rfi için php ile lab gibi bişey yapalım
Header.php
Footer.php
intro.php
lfi.php
rfi.php
LFI den başlayalım.
http://localhost/fileincl/lfi.php?page=intro.php
localhost a kurdugunuzu varsayarak böyle bi url ye gideceksiniz ofansifde anlattığımı denerseniz eğer açığı göreceksiniz.
Evet defans konusunda
çok kısa bi anlatım yapacağım anlayacağınız dilden php de variable yani değişkenler vardır bunları tanımlamazsanız eğer böyle açıklar çıkabilir attığım kodlarda page değişkeni tanımlanmamış eğer siz
böyle değiştirirseniz lfi açığı kullanılmaz hale gelecektir. İşte bu kadar basit aslında defans olayı
include($_GET["page"]); -- include($_GET["intro.php"]);
sadece bu değişimi yaptık yani page e onun gerçek değerini yaptık.
RFI den devam ediyoruz.
http://localhost/fileincl/rfi.php?page=intro.php
yeniden localhosta kurdugunuzu varsayıyorum bu linke gittiniz öncelikle rfi deneyin bakalım var mı evet var Şimdi onu kaldıralım.
Aynı şekilde page yerine intro yaparsanız lfi kullanılamayacaktır.
$file = $_GET["page"].".php"; -- $file = $_GET["intro"].".php";
Sorularınız olursa buraya ekleyeceğim dostlar.
Soru 1 : RFI ve LFI Arasındaki Fark Nedir ?
Cevap 1 : Remote File Include (RFI) ve Local File Include (LFI) arasındaki fark adlarından da anlaşılacağı üzere local yerel yani sistem içinde exploit edilebilir rfi ise dışarıdan dosya çağırarak exploit ettik yani sömürdük.
Ek Kaynaklar :
Shell Nasıl Alınır : https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/File Inclusion
Kodlari İnceleyin.
https://www.exploit-db.com/docs/turkish/24628-[turkish]---local-file-inclusion.pdf
VM Link : https://www.vulnhub.com/entry/pentester-lab-web-for-pentester,71/
Github : https://github.com/D35m0nd142/LFISuite
Konular
: » Manuel Lfi Exploit
» Auto Lfi Exploit
» Manuel Rfi Exploit
» Auto Rfi Exploit
» Lfi Defans
» Rfi Defans
» Auto Lfi Exploit
» Manuel Rfi Exploit
» Auto Rfi Exploit
» Lfi Defans
» Rfi Defans
Makineyi içeri aktar dedik ve kaliyle birlikte bridged seçtik. Makinede ifconfig yazarak veya netdiscover -i eth0 yazarak ip adresini öğrenebiliriz.Size tavsiyem /var/www/ klasörüne gidin ve açıklı dosyaları inceleyin kodlama dilleri bilmeniz burada işe yarayacak oradaki kodları okuyacaksınız ve yanlışı bulacaksınız.
Eğer web for pentester a domain yönlendirme yapmak istersek nano /etc/hosts yaparak (ctrl + x yapıp onaylamayı unutmayın) ve aşağıdaki gibi
ifconfig ile bulduğumuz ip nin yanına istediğiniz domaini yazabilirsiniz isterseniz fbi.gov yazın )
Yönlendirme başarılı.
Manuel LFI Exploit :
[ame]https://www.youtube.com/watch?v=aAkWBE4D2G8[/ame]
Otomatik LFI Exploit / Shell Alma :
[ame]https://www.youtube.com/watch?v=MtGQ_seoA84[/ame]
Manuel RFI Exploit :
[ame]https://www.youtube.com/watch?v=-f20YV9jJ3k&feature=youtu.be[/ame]
Otomatik RFI Exploit / Shell Alma :
[ame]https://www.youtube.com/watch?v=CVi_we8Dm8o[/ame]
Öncelikle lfi ve rfi için php ile lab gibi bişey yapalım
Header.php
Kod:
<?php header("X-XSS-Protection: 0") ?>
<!DOCTYPE html>
<html lang="en">
<head>
<**** charset="utf-8">
<title>THT / Hakyiyenhacky3r</title>
<**** name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="https://turkhackteam.org/">turkhackteam.org</a>
<div class="nav-collapse collapse">
<ul class="nav">
<li class="active"><a href="/">Home</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
<div class="container">
Footer.php
Kod:
<footer>
<p>© Hakyiyenhacky3r</p>
</footer>
</div> <!-- /container -->
</body>
</html>
intro.php
Kod:
THT / TurkHackTeam
lfi.php
Kod:
<?php require_once 'header.php'; ?>
<?php
if ($_GET["page"]) {
include($_GET["page"]);
}
?>
<?php require_once 'footer.php'; ?>
rfi.php
Kod:
<?php require_once 'header.php'; ?>
<?php
if ($_GET["page"]) {
$file = $_GET["page"].".php";
$file = preg_replace('/\x00.*/',"",$file);
include($file);
}
?>
<?php require_once 'footer.php'; ?>
LFI den başlayalım.
http://localhost/fileincl/lfi.php?page=intro.php
localhost a kurdugunuzu varsayarak böyle bi url ye gideceksiniz ofansifde anlattığımı denerseniz eğer açığı göreceksiniz.
Evet defans konusunda
çok kısa bi anlatım yapacağım anlayacağınız dilden php de variable yani değişkenler vardır bunları tanımlamazsanız eğer böyle açıklar çıkabilir attığım kodlarda page değişkeni tanımlanmamış eğer siz
Kod:
<?php require_once 'header.php'; ?>
<?php
if ($_GET["page"]) {
include($_GET["intro.php"]);
}
?>
<?php require_once 'footer.php'; ?>'
böyle değiştirirseniz lfi açığı kullanılmaz hale gelecektir. İşte bu kadar basit aslında defans olayı
include($_GET["page"]); -- include($_GET["intro.php"]);
sadece bu değişimi yaptık yani page e onun gerçek değerini yaptık.
RFI den devam ediyoruz.
http://localhost/fileincl/rfi.php?page=intro.php
yeniden localhosta kurdugunuzu varsayıyorum bu linke gittiniz öncelikle rfi deneyin bakalım var mı evet var Şimdi onu kaldıralım.
Aynı şekilde page yerine intro yaparsanız lfi kullanılamayacaktır.
$file = $_GET["page"].".php"; -- $file = $_GET["intro"].".php";
Sorularınız olursa buraya ekleyeceğim dostlar.
Soru 1 : RFI ve LFI Arasındaki Fark Nedir ?
Cevap 1 : Remote File Include (RFI) ve Local File Include (LFI) arasındaki fark adlarından da anlaşılacağı üzere local yerel yani sistem içinde exploit edilebilir rfi ise dışarıdan dosya çağırarak exploit ettik yani sömürdük.
Ek Kaynaklar :
Shell Nasıl Alınır : https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/File Inclusion
Kodlari İnceleyin.
https://www.exploit-db.com/docs/turkish/24628-[turkish]---local-file-inclusion.pdf
Moderatör tarafında düzenlendi: