Sol Reklam
Sağ Reklam

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

GreXLin85

Somon Balığı Selam Vermeye Geldi
Katılım
22 Haziran 2018
Mesajlar
23
Elmaslar
16
Puanlar
3.760
Yaş
20
Yer
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
 

beeboy07

Yaratık Tuzağı: Çalışıyor

Discord:

beeboy07#1737

Katılım
4 Temmuz 2016
Mesajlar
687
Elmaslar
659
Puanlar
15.030
Yer
İstanbul
Galiba foruma yeni geldin hoş geldin böyle rehber yapanlar lazım.
 

Duoquote

Koydum Çalışma Masasını
Katılım
12 Mart 2017
Mesajlar
55
Elmaslar
23
Puanlar
13.320
Yaş
24
Minecraft
Duoquote
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.
 

GreXLin85

Somon Balığı Selam Vermeye Geldi
Katılım
22 Haziran 2018
Mesajlar
23
Elmaslar
16
Puanlar
3.760
Yaş
20
Yer
Kuzey Kıbrıs Türk Cumhuriyeti
Minecraft
GreXLin85
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
 
Neden altınlarını Discord sunucumuzda kazmıyorsun? TIKLA VE KATIL!
Yukarı