Android emülatörünü mitmproxy ile çalıştırmak

mitmproxy, HTTP bağlantılarını debug etmek için kullanılan bir çeşit açık kaynak araçtır. Bu araç bize, debug edilecek bağlantının arasına sokabileceğimiz bir proxy oluşturur ve proxy ettiği bağlantıya ait HTTP isteklerini bize sunar. Bu yazıda bir Android emülatörü ile mitmproxy’i nasıl birlikte kullanabileceğimizi göstereceğim. Buradan önce mitmproxy’nin son sürümünü indiriyoruz. Linux ve macOS için binary’lerini indirelim ve uygun bir yere çıkartalım. sudo tar -xzf mitmproxy-x.x.x-xxxxxx.tar.gz -C /usr/local/bin Konsoldan mitmweb -p 8080 komutunu gönderdiğiniz zaman 8080 portunda bir proxy servisi başlatılacaktır....

23 Nisan 2021

Yemeksepeti'ne yapılan siber saldırı

Yemeksepeti’ne yapılan saldırıdan 27 Mart günü haberim oldu. Yaklaşık 21.5 milyon kişinin ad-soyad, doğum tarihi, telefon numarası, adres bilgileri, e-posta ve şifreler artık olmaması gereken bir yerlerde! Yemeksepeti’nin açıklamasına göre saldırı 18 Mart 2021 tarihinde, yetkisiz kişiler tarafından sunucularından veri çalınması şeklinde gerçekleşmiş. Bu veriler arasında ad-soyad, doğum tarihi, telefon numarası, adres bilgileri, e-posta ve şifreler bulunuyormuş. Daha önce Anonymous’un yayınladığı 46.8 milyon kişinin bilgileri yanında bu, çok daha güncel bilgiler içeriyor ve TC kimlik olmasa da telefon numarası içeriyor....

12 Nisan 2021

Kodumun kalitesini nasıl buluyorum?

Bu soruyu hiç kendinize sordunuz mu? Yazdığınız kodun kalitesinden memnun kalmadığınız oldu mu? Ben bu soruyu kendime defalarca sordum. Kodun okunabilirliği ve belirli standartlara bağlı kalınması kodun kalitesini arttıran en önemli faktörlerden birisidir. Eğer kodunuz başkaları tarafından kolayca anlaşılamıyorsa veya geliştirme yaparken sürekli bir şeyleri kopyalamak zorunda kalıyorsanız, kodunuzda ciddi sorunlar var demektir. Kodu tasarlamak, kodu geliştirmekten çok daha zordur; bir yapıyı oluşturduğunuz zaman bu yapıyı değiştirmek, her şeyi en baştan yazmak kadar uğraştıracaktır....

8 Nisan 2021

Türkiye'de sosyal medya yasası

İlk olarak 4 Mayıs 2007’de kabul edilen 5651 sayılı kanuna, 29 Temmuz 2020’de getirilen 7253/6 sayılı ek maddeler 1 Ekim 2020 itibarıyla yürürlülüğe girdi. Yeni ek maddelerle birlikte, Türkiye’den günlük erişimi bir milyonu geçen yurtdışı menşeili sosyal ağ sağlayıcılarına yeni yükümlülükler getiriliyor. Buna göre idari makamlarca sosyal ağ sağlayıcılarına gönderilen taleplerin yerine getirilmesi ve cevaplandırılması için en az bir temsilci bulundurma zorunluluğu getirildi. Kanuna göre temsilcinin kimlik ve iletişim bilgileri kolayca görülebilecek ve doğrudan erişilebilecek şekilde internet sitesinde yer almalı ve ayrıca temsilcinin Türk vatandaşı olma zorunluluğu bulunacak....

6 Ekim 2020

Dosya türleri nasıl çalışır?

Bilgisayar sistemlerinde her dosya türü farklı amaçlarla kullanılır. Genelde mov ve avi gibi dosya türleri video’larda kullanılırken, png, jpg ve gif ise görseller için kullanılmakta. Fakat dosya türlerinin farklılıkları sadece isimleriyle kalmıyor. Her dosya türünün kendine özel specification’ları bulunur; yani ilgili dosya türünün nasıl encode ve decode edileceğini belirten bir dökümantasyona sahiptir. İnsanlara göre dosya türleri text ve binary olarak ikiye ayrılırken bilgisayar tarafından hepsi bit’lerden oluşan birer dosya olarak görülür....

2 Haziran 2020

Wireguard kurulumu ve kullanımı

Wireguard son günlerde popüler hale gelen bir VPN yazılımıdır. OpenVPN’e göre çok daha performanslıdır ve kurulumu daha kolaydır. Wireguard ile iki farklı ağı birbirine sanal olarak bağlayabilirsiniz. Çok uzatmadan kuruluma geçelim. Wireguard’ın kendi sitesinden kendi platformunuza uygun olanı kurun: https://www.wireguard.com/install/ Örnek olarak sunucumuz Ubuntu ise, dökümanlarda anlatılan kuruluma göre yapalım: sudo add-apt-repository ppa:wireguard/wireguard sudo apt-get update sudo apt-get install wireguard Bu arada Linux header modülleri yüklü değilse bunu da kurmayı unutmayın....

2 Nisan 2020

Google, User-Agent'ı bitiriyor

Google yakın zamanda kendi web tarayıcısı Chrome’da, User-Agent’ı devre dışı bırakıp yerine ilk olarak Kasım 2015’te IETF’ye gönderdiği taslaktaki gibi “Client Hints” sistemine geçerek köklü bir değişiklik yapmayı planlıyor. Kendi savundukları iddialara göre User-Agent’lar kullanıcıları tanımlamak için yetersiz, cihazları tanımlamak için harici veritabanı gerektiriyor ve önbellek dostu değil. Ayrıca passive fingerprinting denilen, sabit bir veriye bağımlı kalınmaktaymış. Bu da kullanıcıların gizliliğini ihlal edebilirmiş. Şu anda kullanılmakta olan geleneksel yöntemler, uygulama ve sunucular için taşınabilir olmadığını, yapımı masraflı hale getirdiğini, ayrıca istekleri şişirdiği için performansı da düşürdüğünü belirtmişler....

26 Mart 2020

Bilgisayarlar nasıl rastgele sayı üretebilir?

Bilgisayarlar, aritmetik işlemleri bir insandan çok daha hızlı şekilde hesaplayabilmesi amacıyla tasarlanmıştır. Bilinen ilk bilgisayar milattan önce Çin’de, bizim “abaküs” olarak bildiğimiz basit bir makine olarak icad edilmişti. Gün geçtikçe daha gelişmiş makinelere ihtiyaç duyuldu. Mekanik hesap makinesi denilen, içerisinde çarklar dolu bir makine kullanılmaya başlandı. The Imitation Game filminde anlatılan ortaya çıkış hikayesinde olduğu gibi, zamanın mevcut imkanlarıyla yapılan hesaplamaların da artık yetersiz kalmasıyla, yeni çözümler aranmaya başlandı. İşte modern bilgisayarlar bundan sonra ortaya çıktı....

14 Mart 2020

Telnet neden var?

Telnet bize, karşıdaki bir sunucuya bağlanıp klavyenizdeki tuşlar ile (ASCII karakterler de diyebiliriz) istekler gönderebileceğimiz bir arayüz sunar. Telnet TCP kullanarak istekleri gönderir ve karşı tarafa düz metin halinde giderler. Bu yüzden network’ü gözetleyen birisi varsa mesajınız bu kişilere de görünür olacaktır. İsteklerin karşıya şifrelenip gönderilmesi için TLS var ancak bu yazıda yalnızca Telnet’ten bahsedeceğim. Telnet’in geçmişi bilgisayarların ağ bağlantılarının yeni yapılmaya başlandığı yıllara dayanır. Günümüzde çok sık kullanılan bir yazılım değildir ama bizlere TCP ve metin tabanlı tüm protkolleri, başka bir program gerekmeksizin kullanabilmemize imkan sağlar....

2 Şubat 2020

Vi'den nasıl çıkılır?

Bu yılın ilk blog yazısını Vi ile yazmak istedim. Vi gerçekten, sanıldığı kadar zor mu? Bu yazıda, bu metin editörü hakkındaki önyargıları kırabileceğimizi umuyorum. Linux’a yeni başlayanlar için Vi ya da Vim sanırım bir çıkmaz sokak. Öyle ki Stack Overflow’da “Vim’den nasıl çıkılır?” sorusu 2 milyondan fazla görüntülenmiş. Vi’yi araba öğrenmek gibi düşünebiliriz. Öğrenmek için bir kaynak şart ve bir süre kullanıp pratik yapmanız gerekiyor. Vi ve Vim birbirine benzeyen temel komutları aynı, iki ayrı yazılımdır....

4 Ocak 2020

Linux'ta servis oluşturmak

Linux’ta servisler, uygulamaların arkaplanda asenkron biçimde çalışmalarını sağlar. Web uygulama veya yazdığınız herhangi bir sistem yazılımı, servisler sayesinde sistemle birlikte otomatik olarak açılıp, arkaplanda çalışır hale getirilebilirler. Servisleri “systemd” isimli bir program kullanarak oluşturacağız. Ubuntu, Debian, Fedora, Arch Linux, Gentoo, RHEL/CentOS gibi birçok platformlarda varsayılan olarak yüklü gelir ve “systemd” bu amaçla kullanılmaktadır. Örnek bir “systemd” servis dosyası formatı: [Unit] Description=Örnek blog sitesi After=network.target [Service] Type=simple Restart=always WorkingDirectory=/opt/iamdual/ ExecStart=/usr/bin/python3 /opt/iamdual/server.py [Install] WantedBy=multi-user....

10 Temmuz 2019

PHP 8.0 nelerle geliyor?

Bu yazıda PHP 8.0 hakkında kesinleşen ve tartışılan yeni özellikler hakkında bilgiler vereceğim. PHP 7.0’ın çıkışı özellikle performans iyileştirmeleriyle dikkatleri üzerine çekmiş, ve hatta Facebook’un yayınladığı performans odaklı HHVM isimli PHP motoruna olan talebi de azaltmıştı. PHP 8.0 da en az PHP 7.0 kadar konuşulacak yeni özelliklerle geliyor. PHP8’de beklenen en büyük yenilik JIT derlemesi. Yaklaşık iki ay önce, PHP’nin JIT taslağı, PHP geliştiricileri tarafından oylandı ve kabul edildi. Buna göre PHP8’e JIT’in uygulanacak olması kesinleşti....

27 Mayıs 2019

Raspberry Pi'yi IP kamera yapmak

Bugün uğraşmayı çok sevdiğim Raspberry Pi ile yaptığım bir başka proje daha; RaspiCam. Raspberry Pi kullanarak hobi amaçlı ya da gizli güvenlik kamerası yapabilirsiniz. Bunun için bize Raspberry Pi ve kamera modülü gerekiyor. İlk önce yayın sunucumuzu ayarlayalım. Bu sunucu Raspberry Pi’nizin kendisi de olabilir, uzak bir sunucu da. Yayına yerel ağ dışından erişecekseniz, bağlantı problemleri yaşamamak için uzak bir sunucu kullanmanızı öneririm. Aksi taktirde Raspberry Pi’niz yeterli olacaktır. Yayınları RTMP protokolü kullanarak yapacağız....

18 Mayıs 2019

Elasticsearch nedir?

İlişkisel veritabanları (RDBMS), indexlenmiş veriler dışındaki aramalarda oldukça yavaş bir arama performansı sağlar. Bu da e-ticaret ya da büyük ölçekli bir proje için istenmeyen bir durum oluşturmaktadır. Elasticsearch, büyük veriler arasında hız kaybı yaşanmadan arama yapılmasını sağlayan döküman tabanlı, NoSQL bir veritabanıdır. Elasticsearch’ın yapılma amacı aramalardaki bu kritik sorunun çözümünü sağlamaktır. Elasticsearch ilk olarak, Apache Software Foundation’ın Lucene isimli belge arama kütüphanesi kullanılarak yapılmaya başlanmış ve 2010 yılında ortaya çıkmış. Java diliyle yazıldığı için her platformda çalışabilecek şekilde ölçeklenebilmektedir....

9 Mayıs 2019

Wikipedia engelinin gerçek sebebi

29 Nisan 2017’de Wikipedia’nın engellenmesinin ardından tam iki sene geçti. Engel, BTK’nın anayasadaki internet ortamında yapılan yayınlar hakkında düzenlemeleri içeren 5651 sayılı kanuna göre aldığı kararla başladı. Wikipedia’nın “özgür ansiklopedi” mottosu bilginin kaynaksız olarak eklenmesini değil, ansiklopediye ücretsiz olarak erişilebilmesinden gelmektedir. Yani “güvenilir” bir kaynak olmadıktan sonra herhangi bir bilgi eklentisi yapamıyorsunuz. Wikipedia’nın engellenme gerekçesi olarak “Türkiye’nin terör örgütlerine yardımda bulunması"nı konu alan haber kaynaklarının, Suriye İç Savaşı’na yabancı müdahalesi ve Devlet destekli terörizm maddelerine eklenmesi olarak gösteriliyor....

29 Nisan 2019

Serverless nedir?

Son zamanlarda sıkça duyduğumuz bir terim olan serverless, ismi gibi sunucu gerektirmeyen bir şey midir? ve bize sağlayacağı faydalar nelerdir? Öncelikle serverless, sunucu gerektiren bir kavramdır. Bu isim ile anlatılmaya çalışılan şey, sunucu ile ilgilenmenizin gerekmediğidir. Sunucu kapasitesi & donanım planlanması, işletim sistemi & yazılımların kurulumu ve sunucu güncellemeleri gibi sistem yöneticiliği gerektiren işlemler, üzerinde çalıştığınız “parlak” projenizi hayata geçirmeniz için ekstra zaman gerektirecektir. Serverless kavramında tüm bu vakit alan işlemleri cloud computing’e bırakarak, sunucular için endişelenmez sadece yazılıma odaklanmış olursunuz....

12 Aralık 2018

Basitçe anlatımla 2038 problemi

Bugün biraz gelecekten bahsedelim. 2038 yılı, Unix’in integer tipindeki (epoch ya da timestamp olarak da bilinen) zaman formatını kullanan tüm bilgisayar sistemlerini ilgilendiren bir yıl. Öyle ki bu yıla kadar, donanımsal veya yazılımsal güncelleme yapılmayan çok sayıda sistem ya kullanılamaz hale gelecek ya da bir şeyleri yanlış çalışacak. Peki nedir 2038 yılı problemi? 32-bit bilgisayar sistemlerinde ortaya çıkacak bu sorun, Unix zaman formatını kullanan tüm bilgisayar sistemlerini etkileyecek. Unix zamanını kısaca özetlemek gerekirse, 1 Ocak 1970’den itibaren bir numerik sayacın her saniye arttırılmasıyla çalışmaktadır....

18 Kasım 2018

Olmazsa olmaz linux programları

Bu yazıda sizlere hızla büyüyen Linux dünyası için küçük bir katkı yapmak istedim. Linux kullanıcılarının mutlaka denemesi gereken programları derledim. Blog okurlarının büyük çoğunluğu da bu kitleden oluştuğu için biraz developer oriented liste olacak. Programların çoğunu halen Debian tabanlı bir işletim sisteminde kullanıyorum. Sıralamanın herhangi bir önemi bulunmamaktadır. Haydi, başlayalım. 1) Sublime Text Kendisi developer dostu, default olması gereken bir notepad programıdır. Büyük boyutlu dosyaları açmak onun için dert değil. Bir notepad’de olması gereken her şeyden fazlasına sahip....

31 Ekim 2018 · Son güncellenme: 4 Nisan 2021

Minio ile Amazon S3 sunucusu oluşturmak

Amazon AWS S3, projelerimizin statik dosya barındırmasına büyük yardımı olan bir servistir. S3’te sorgu sayısı ve kapasitesine göre fiyatlandırma uygulanıyor. Her dil için kütüphanesi bulunduğundan, kısa sürede koda entegre edilebiliyor. Minio ise, S3’ün protokolünü kullanarak tıpkı S3 gibi davranan bir yazılımdır. Bu yüzden entegre etmek için herhangi bir S3 kütüphanesini kullanabiliyorsunuz. Amazon AWS’den hizmet almadan S3 ile geliştirme yapabilirsiniz veya kendi altyapınız üzerinden production ortamında çalıştırabilirsiniz. Minio Go diliyle yazılmış bir programdır ve çalıştırmak sadece Minio’nun binary dosyasına ihtiyaç duyarsınız....

19 Aralık 2016

Telegram botu yapımı

Botlara son zamanlarda internette sıkça rastladığımızı söyleyebiliriz. Telegram ve Facebook’un geliştiriciler için Bot API’leri oluşturduğunu duyurmasını, şirketlerin ve uygulamaların kendi botlarını oluşturmasını, geleceğin yapay zeka dünyasına adım atmak olarak yorumluyorum. Telegram botunu yapmaya, Telegram’a girerek başlayalım. Kişi arama bölümüne “botfather” yazalım. Bu bot, Telegram’ın geliştiricilere sunduğu resmi bottur. Kişiyi ekledikten sonra konuşma açıp /start diyoruz. Bu esnada bize gönderebileceğimiz komutları listeleyecektir. Yeni bir bot oluşturacağımız için ilk olarak /newbot komutunu gönderiyoruz....

27 Temmuz 2016

SQLCipher kullanımı

SQLCipher, SQLite veritabanlarımız için bir şifreleme yazılımıdır. SQLCipher genellikle, dağıttığımız uygulamalardaki SQLite veritabanlarını başkalarının okuyup değiştirebilmesini engellemek amacıyla şifrelemek için kullanılır. Örneğin bir Android uygulaması yaptınız ve uygulamadaki SQLite veritabanınında başkalarının okumasını istemediğiniz veriler var ya da oyununuzun verilerinin başkaları tarafından değiştirilip hile yapılmasını engellemek istiyorsunuz. O zaman SQLCipher tam size göre. OpenSSL kuruyoruz (OS X’e göre): curl -o openssl-1.0.2g.tar.gz https://www.openssl.org/source/openssl-1.0.2g.tar.gz tar xzf openssl-1.0.2g.tar.gz cd openssl-1.0.2g /Configure darwin64-x86_64-cc make make install brew link openssl --force </code></pre> Şimdi SQLCipher kuralım:...

27 Haziran 2016

Sızdırılan kimlik bilgilerinin perde arkası

15 Şubat 2016 tarihinde Anonymous’un Twitter hesabından atılan bir tweet ile başladı. Milyonlarca kişinin kimlik bilgilerinin bulunduğu veritabanı gün yüzüne çıkartıldı. Yıllardır el altından satılan bu veritabanı nasıl bu günlere geldi araştırma sonuçlarını burada açıklayacağım. İlk olarak 2009 yılında bir hukuk forumunda açılan bu konuya bakalım. Konuyu açan avukat, kendilerine gelen şahısların bu programı satmak istediğini söylemiş. Aynı programın satılmaya çalışıldığı diğer bir avukat, satıcılara bu verilerin kaynağını sormuş ve YSK’nın muhtarlıklarda astırdığı seçmen bilgilerinin tamamının program haline getirilmiş hali cevabını almış....

5 Nisan 2016

Anonymous'un yayınladığı Türkiye'deki vatandaşların bilgileri

Dün gece (15 Şubat 2016 günü) Anonymous tarafından yayınlanan Türkiye’deki vatandaşların büyük bölümümün kişisel bilgilerinin bulunduğu veritabanına, Ekşi Sözlük’te açılan bu başlıkla haberim oldu. Başlığı açan kişi sonradan sildiyse de gönderdiği içeriğe erişebilme şansı buldum. Anonymous’un twitter hesabından (@YourAnonNews) gönderilen tweet’te, Türkiye’deki vatandaşların bilgilerinin bulunduğu veritabanının indirme linki bulunuyor. RELEASE: Turkish National Police https://t.co/V7Obbml4tQ https://t.co/pAu9f8KaxO — Anonymous (@YourAnonNews) February 15, 2016 Başta sayfada linkler bulunuyor olsa da sonradan kaldırılmış (teknik sebeplerden)....

16 Şubat 2016