Çeşitli açıkları tespit edip kapatmak | Siber güvenlik serisi #1

  • Konuyu Başlatan Konuyu Başlatan GreXLin85
  • Başlangıç tarihi Başlangıç tarihi
  • Görüntüleme 941

GreXLin85

Odunlara Vur Vur Vur!
Katılım
22 Haziran 2018
Mesajlar
28
Elmaslar
15
Puan
3.760
Yaş
22
Konum
Kuzey Kıbrıs Türk Cumhuriyeti
Minecraft
GreXLin85
Merhaba bugün sizlere birkaç adet açığı nasıl kapatabileceğimizi anlatacağım
SQL Açığı tespiti ve engellenmesi ;
diyelim ki
Kod:
sayfa.php?id=85
diye bir sayfamız var biz bu sayfada id çekerek sayfayı gösteriyoruz ama burası sadece id yani sayı değer alabilecek şekilde tasarlandı
siber korsan gelip buraya string yazarsa örnek olarak ' işaretini
Kod:
id=85'
şeklinde koyarsa sayfamız SQL hatası verir ve açık olduğunu tespit eder ve burdan sızar
şimdi ben örnek bir kod sayfa yazayım

PHP:
<?php

$id = $_GET["id"];

//bla bla sql komutları bla bla
$sqlid = "sqlden çekilen id";
$sql = "sqlden çekilen herhangi bir veri";
   
if($id == $sqlid){
    print $sql;
}
?>
şeklinde bir kodumuz var ve biz açık olduğunu tespit ettik tek yapmamız gereken

Kod:
$id = $_GET["id"];
Kısmını
Kod:
$id = intval($_GET["id"]);
olarak değiştirmek
ve sorunumuz çözülüyor
--------------------------------------------------------
XSS Açığı ;
Web sitemizde XSS açığını içeren örnek bir sayfa kodlayalım
PHP:
<?php
if($_POST){
    $veri = $_POST["veri"];
    print $veri;
}
?>
<form action="" method="POST">
<input type="text" name="veri">
</form>
bu sayfada gelen veri direkt ekrana yazdırılıyor bu durumda her türlü işlem yaptırılabilir biz bunu engellemek için filtrelememiz gerekiyor gelen veriyi yani
Kod:
$veri = $_POST["veri"];
kısmını
Kod:
$veri = htmlspecialchars($_POST["veri"]);
olarak değiştirmemiz gerekiyor
ve sorunumuz çözülüyor
 
Galiba foruma yeni geldin hoş geldin böyle rehber yapanlar lazım.
 
Güzel konu olmuş, XSS taktiğini bilmiyordum. PHP'den fazla anlamam ancak SQL injection olayında,

PHP:
$id = mysql_real_escape_string($_GET["ID"])

fonksiyonunu kullanmak daha iyi olur gibi. Giren veri sayı olmadığında daha işlevsel olur bu fonksiyon.
 
Güzel konu olmuş, XSS taktiğini bilmiyordum. PHP'den fazla anlamam ancak SQL injection olayında,

PHP:
$id = mysql_real_escape_string($_GET["ID"])

fonksiyonunu kullanmak daha iyi olur gibi. Giren veri sayı olmadığında daha işlevsel olur bu fonksiyon.
Bu yöntemi Bypass edebiliyoruz ;)
Gönderi otomatik olarak birleştirildi:

Galiba foruma yeni geldin hoş geldin böyle rehber yapanlar lazım.
Evet dün gece kayıt oldum ve teşekkürler
 

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst