Pwdec
merhabayın

Web Uygulamaları Güvenliği / File Inclusion Açığı

Linkler
VM Link : https://www.vulnhub.com/entry/pentes…-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






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


Bu resim yeniden boyutlandırıldı, tam halini görmek için tıklayınız.


Yönlendirme başarılı.

Bu resim yeniden boyutlandırıldı, tam halini görmek için tıklayınız.




Manuel LFI Exploit :

Otomatik LFI Exploit / Shell Alma :

Manuel RFI Exploit :

Otomatik RFI Exploit / Shell Alma :






Ö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>&copy; 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/Paylo…le%20Inclusion
Kodlari İnceleyin.
https://www.exploit-db.com/docs/turkish/24628-[turkish]—local-file-inclusion.pdf
Share

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *