Windowsu web arayüzüyle kontrol

illoarmad

Asistan
Katılım
18 Haziran 2012
Mesajlar
154
Reaksiyon puanı
0
Puanları
0
Şimdi arkadaşlar mesela web arayüzüyle php ile sunucuyu kontrol ediyoruz. Benim yapmak istediğim Bilgisayarın ip yi tarayıcıya girince bi ekran çıkacak. orada butonlar olacak. Windows üzerinde işlemler yapabileceğim. Program çalıştırmak, bilgisayarı kapatmak, dosya indirmek gibi. Bunu için PHP de kullanırım Python da, duruma göre başka dilde. Bunu yapmam için ne gibi şeyler önerirsiniz.
 

kizanlik

Asistan
Katılım
25 Mart 2012
Mesajlar
250
Reaksiyon puanı
0
Puanları
0
Add-on / plug-in yazmadan (varsa hazirini kullanmadan) olmaz. Normalde browserin disina cikilamaz. Birak yapmak istediklerini dosya okuyamazsin.
 

illoarmad

Asistan
Katılım
18 Haziran 2012
Mesajlar
154
Reaksiyon puanı
0
Puanları
0
Amacım tarayıcı ile ağ içi bilgisayar yönetimi. Mesela bu işi yapmak istediğim bilgisayara apache kurdum. Dil olarak php kullanıyorum. exec komutuyla herhangi bir uygulamayı çalıştırmak istiyorum. Ama çalıştıramadım.
 

kizanlik

Asistan
Katılım
25 Mart 2012
Mesajlar
250
Reaksiyon puanı
0
Puanları
0
Ca-lis-ti-ra-maz-sin!

Agi birak, localhostta bile yapamazsin.


Diyelim ki Apache/PHP ile harici program calistirabilmenin bir yolunu buldun,
belki... ama belki su ise yarar:

Apache servicein kullanicisini Administrator yaparsin,
calistirmak istedigin directorye de IUSR_... icin full yetki verirsin.

Bu cok tehlikeli.
 

illoarmad

Asistan
Katılım
18 Haziran 2012
Mesajlar
154
Reaksiyon puanı
0
Puanları
0
Benim düşüncem şu oldu. Client ve server yazıp bu işi gerçekleştirebiliyoruz. Client yerine tarayıcı kullanmak istemiştim. Neyse yapacak bişey yok o zaman.
 

kizanlik

Asistan
Katılım
25 Mart 2012
Mesajlar
250
Reaksiyon puanı
0
Puanları
0
Client, local user account uzerinde calisir. Yetkisi sinirliysa (administrators uyesi degilse mesela), o zaman da calismayabilir.

Dedigim gibi. En guvenli yol:

Add-on / plug-in yazmak
Desktopta calisan clientin portuna komut gondermek
Clientla da yapmak istedigimiz isleri yapmak

Baska yollarda surekli engelle karsilasirsin.

Add-on asamasi atlanabilir. Soyle:

Xyz portunu dinleyen client yazilir. Web sayfasindan komut verilince de clientin xyz portuna yonlendirilir.
 

illoarmad

Asistan
Katılım
18 Haziran 2012
Mesajlar
154
Reaksiyon puanı
0
Puanları
0
Anladığım kadarıyla apache için add-on yazmam gerekiyor. php için mod_php, python için mod_wsgi olduğu gibi.
 

kizanlik

Asistan
Katılım
25 Mart 2012
Mesajlar
250
Reaksiyon puanı
0
Puanları
0
Mod-PHP, Apache PHP modul demek. .php dosyasi istendiginde bu module gidiyor. Derlenip html olarak browsera gonderiliyor.

Boyle bir sey yazabilirsen olur. ".xyz" uzantili dosylar yazdigin module yonlendirilir. "Kapat.xyz" gelirse, kapatir mesela.

Burada da security problemi cikabilir ama digeri kadar genis yetki vermek yerine sadece module full yetki verilebilir.

Evet. Olabilirligi var bence.
 

engerex

Dekan
Katılım
16 Ağustos 2008
Mesajlar
7,676
Reaksiyon puanı
26
Puanları
228
Eğer amacın sadece uzaktan kontrol ise LogMeIn yapıyor. Program yazmak için uğraşıyorsan yine de incele derim.
 

eSa

Dekan
Katılım
5 Kasım 2011
Mesajlar
9,782
Reaksiyon puanı
352
Puanları
263
Teamviewer tarzı bir program işinizi görmüyor mu?
 

LeaveNhA

Doçent
Katılım
4 Aralık 2011
Mesajlar
598
Reaksiyon puanı
5
Puanları
18
Aynısını kendime tasarlamayı düşünüyorum hemde cep telefonumdan fareyi yönetebilmek için.

tarayıcı ajax/jquery rahatça tasarlanır, sunucu tarafı ise sadece özgün komutları sunucudaki programa argüman olarak aktarır. :D

Bunu yapıcam, ikidir film izlerken ses birden yükseliyor, elimde akıllı telefon var (sözde, akıllı ya) kalkıp kısıyorum sesi pc'den. :D

yaparsam referans olur kardeşimize, ama algoritma yukarıdaki gibidir, hiç olmadı C++ ile soket programlama ile halledebilirsin bence. :D
 
Katılım
31 Aralık 2007
Mesajlar
17,485
Reaksiyon puanı
188
Puanları
243
Vakt-i zamanında Windows kullanırken C# ile bir uygulama geliştirmiştim sistemin bilgilerini alıp konsola basıyordu. PHP ile de bir arayüz yapıp exec komutu ile bunu çalıştırıp sistemin bilgilerini alabiliyordum. Açıkçası pratikte exec komutu ile yaptıramayacağınız şey yok ama bir çok sunucuda exec komutu sunucu içerisinde kapalı gelir. Bunu güvenlik ayarlarından açmanız gerekir. Açtıktan sonra atıyorum PHP'de $_GET üzernden yakaladığın bir komutu direk sistem üzerinde çalıştırabilirsin. Bu tamamen senin işi nasıl yaptığına bağlı. Konsol üzerinden işlerini halledebiliyorsan bunun için PHP'de bir arayüz yazabilirsin. Zor bir şey değil açıkçası...
 

green_lion

Asistan
Katılım
19 Şubat 2006
Mesajlar
327
Reaksiyon puanı
5
Puanları
18
Exec ile yaparsın ben daha önce ping ve bir kaç komut çalıştırdım. exec ile zaten komut satırında herşeyi yaparsın. Ben iis ile kullandım ve iis security den administratore bağladım. Çatır çatır da çalışabildi. Apache konusunda zayıfım ama servisi kullanan user i administrator ile değiştirirsen olur diye düşünüyorum.
 

nobody946

Doçent
Katılım
4 Mayıs 2012
Mesajlar
508
Reaksiyon puanı
2
Puanları
18
Bazı siteler sen hiç komut vermeden bilgisayarında program çalıştırabiliyor örneğin Samsung Apps sitesine girdiğin zaman bilgisayarındaki Kies isimli programı çalıştırıyor. Bir incele böyle birşey var yani.
 
Katılım
31 Aralık 2007
Mesajlar
17,485
Reaksiyon puanı
188
Puanları
243
Bazı siteler sen hiç komut vermeden bilgisayarında program çalıştırabiliyor örneğin Samsung Apps sitesine girdiğin zaman bilgisayarındaki Kies isimli programı çalıştırıyor. Bir incele böyle birşey var yani.

Öyle bir şey olabilmesi için sistemde belirli yazılımlar üzerinden belirli protokoller yazılıma atanmalı ki browser öyle bir istek gerçekleştirdiğinde işletim sistem bu protokol isteğini sistemdeki programa yöneltsin. Kısacası o olay kies'in yeteneği. Web sitesi sadece protokol çağrısı yapıyor o kadar...
 

LeaveNhA

Doçent
Katılım
4 Aralık 2011
Mesajlar
598
Reaksiyon puanı
5
Puanları
18
Şimdi arkadaşlar mesela web arayüzüyle php ile sunucuyu kontrol ediyoruz. Benim yapmak istediğim Bilgisayarın ip yi tarayıcıya girince bi ekran çıkacak. orada butonlar olacak. Windows üzerinde işlemler yapabileceğim. Program çalıştırmak, bilgisayarı kapatmak, dosya indirmek gibi. Bunu için PHP de kullanırım Python da, duruma göre başka dilde. Bunu yapmam için ne gibi şeyler önerirsiniz.

sdnSaltClass.recv('LeaveNhA')->KonuyuHortlat("!!!");

Hehehe, bu dediğini dün yaptım, tabi sadece basit klavye girişi yapıyorum, biraz yoğunum, hatta bi hayli, akşama video çekip koyucam buraya, eğer tamamen bunu kast ediyorsan geliştirmende yardımcı olabilirim. ;D
 

illoarmad

Asistan
Katılım
18 Haziran 2012
Mesajlar
154
Reaksiyon puanı
0
Puanları
0
sdnSaltClass.recv('LeaveNhA')->KonuyuHortlat("!!!");

Hehehe, bu dediğini dün yaptım, tabi sadece basit klavye girişi yapıyorum, biraz yoğunum, hatta bi hayli, akşama video çekip koyucam buraya, eğer tamamen bunu kast ediyorsan geliştirmende yardımcı olabilirim. ;D

Merakla ve sabırsızlıkla bekliyorum. :))
 

LeaveNhA

Doçent
Katılım
4 Aralık 2011
Mesajlar
598
Reaksiyon puanı
5
Puanları
18
şimdi çektim ufak bi upload sürecinden sonra sizlerle. [MENTION=194661]eSa[/MENTION], [MENTION=25201]cgrszone[/MENTION], [MENTION=257183]kizanlik[/MENTION], [MENTION=39332]engerex[/MENTION], [MENTION=126564]re13el[/MENTION] ...
 

illoarmad

Asistan
Katılım
18 Haziran 2012
Mesajlar
154
Reaksiyon puanı
0
Puanları
0
Teşekkürler. Yani yapılması gereken sunucu tarafındaki programa parametre yollamak, bu yolla herşey yaptırılabilir. Tabi dikkat edilmezse güvenlik sorunları çıkabilir, ama dikkat edilirse sorunlar minimuma indirilebilir. Sonuçta parametre yolladığımız programla kısıtlıyoruz yapılacakları. Hatta başta şifre istersek, şifre girişlerde de bruteforce için önlem alırsak(bekletme, captcha girme gibi) daha güvenli olur. Şifre doğruysa program paramatre verilerek çalıştırılır. Programda açık olmaması için dikkat etmek gerek. Programın birden fazla çalışmasını da engellemek, cpu yu yormaması açısından ve de karışıklık çıkmaması açısından güzel olur, bla bla bla....
 

LeaveNhA

Doçent
Katılım
4 Aralık 2011
Mesajlar
598
Reaksiyon puanı
5
Puanları
18
Teşekkürler. Yani yapılması gereken sunucu tarafındaki programa parametre yollamak, bu yolla herşey yaptırılabilir. Tabi dikkat edilmezse güvenlik sorunları çıkabilir, ama dikkat edilirse sorunlar minimuma indirilebilir. Sonuçta parametre yolladığımız programla kısıtlıyoruz yapılacakları. Hatta başta şifre istersek, şifre girişlerde de bruteforce için önlem alırsak(bekletme, captcha girme gibi) daha güvenli olur. Şifre doğruysa program paramatre verilerek çalıştırılır. Programda açık olmaması için dikkat etmek gerek. Programın birden fazla çalışmasını da engellemek, cpu yu yormaması açısından ve de karışıklık çıkmaması açısından güzel olur, bla bla bla....

e madem bu kadar tekniğe hakimsin, beni neden uğraştırdın be insafsız. :D

bende sandım ki bi bilgin yok ama öğreniyorsun geliştiriyorsun kendini, küstüm oynamıyorum ben. :D
 

illoarmad

Asistan
Katılım
18 Haziran 2012
Mesajlar
154
Reaksiyon puanı
0
Puanları
0
e madem bu kadar tekniğe hakimsin, beni neden uğraştırdın be insafsız. :D

bende sandım ki bi bilgin yok ama öğreniyorsun geliştiriyorsun kendini, küstüm oynamıyorum ben. :D

Yoo yaptıkların, anlattıların işime yaradı. Daha geniş düşünmemi sağladı mesela. Diğer arkadaşların düşünceleriyle vazgeçmiştim. Güvenliğin şu haliyle de sağlanabileceğini düşünmemi sağladın. En önemlisi ben bütün işleri parça parça yaptıracaktım, tek bir programa parametre yollayarak bütün işlerin yaptırılmasının daha uygun olduğunu anladım böylece. :)
 

LeaveNhA

Doçent
Katılım
4 Aralık 2011
Mesajlar
598
Reaksiyon puanı
5
Puanları
18
ya güvenliği sunucuda da programlarsın o kadar sıkıntı mı ?

php ile oturum kontrolünü biraz araştır, oturumu açan giriş yapan insanlar görebilsin sadece arayüzü...

bu da sdn de ilk video'um, arkası gelir umarım. :D
 
Katılım
31 Aralık 2007
Mesajlar
17,485
Reaksiyon puanı
188
Puanları
243
Yoo yaptıkların, anlattıların işime yaradı. Daha geniş düşünmemi sağladı mesela. Diğer arkadaşların düşünceleriyle vazgeçmiştim. Güvenliğin şu haliyle de sağlanabileceğini düşünmemi sağladın. En önemlisi ben bütün işleri parça parça yaptıracaktım, tek bir programa parametre yollayarak bütün işlerin yaptırılmasının daha uygun olduğunu anladım böylece. :)

Biz de farklı bir şey söylemedik zaten :) Sadece yapılabilecekleri görmen sanırım bakış açını değiştirmiş :) Daha bir çok kombinasyonla bir sürü şey yapabilirsin. Ajax teknolojilerini kullanarak programdan gelecek yanıtları ekrana rapor olarak döktürebilirsin. Tabi exec'in yaratabileceği güvenlik açıkları da olabilir. Mesela sistem komutu göndermen durumunda parametrelerin arasına bir başka komut koyup sisteme zarar verilebilir. Bir nevi SQL Injection yöntemleri ile 3 aşağı 5 yukarı aynı risklere sahip. Girilen parametreleri kontrol edip gerekli karakterleri değiştirmek güvenlik için iyi olacaktır.
[MENTION=211307]LeaveNhA[/MENTION] eline sağlık uğramışsın bayağı :) Bu arada Sublime Text 2 kullanman gözümden kaçmadı :D
 

illoarmad

Asistan
Katılım
18 Haziran 2012
Mesajlar
154
Reaksiyon puanı
0
Puanları
0
Biz de farklı bir şey söylemedik zaten :) Sadece yapılabilecekleri görmen sanırım bakış açını değiştirmiş :) Daha bir çok kombinasyonla bir sürü şey yapabilirsin. Ajax teknolojilerini kullanarak programdan gelecek yanıtları ekrana rapor olarak döktürebilirsin. Tabi exec'in yaratabileceği güvenlik açıkları da olabilir. Mesela sistem komutu göndermen durumunda parametrelerin arasına bir başka komut koyup sisteme zarar verilebilir. Bir nevi SQL Injection yöntemleri ile 3 aşağı 5 yukarı aynı risklere sahip. Girilen parametreleri kontrol edip gerekli karakterleri değiştirmek güvenlik için iyi olacaktır.
@LeaveNhA eline sağlık uğramışsın bayağı :) Bu arada Sublime Text 2 kullanman gözümden kaçmadı :D

Dediğin gibi yani, sonuçta hiç kimse sql sorgulaması yapmayın demiyor, sql sorgulaması sırasında önlem alıyoruz. Benim amacım kontrol için ayrı ayrı program yazmamaktı, android için ayrı, windows için ayrı linux için ayrı gibi.

Tekrardan güvenliği de şöyle düşünelim. Windows için "araci.exe -ekrangoruntusu 800x600" "araci.exe -kapat 5sn" burada çıkacak sorunları öngörmek gerek tabi, ondan sonrası da sorun değil". En temelde bruteforce için kullanılan yollardan captcha ve bekletme kullanmakta yardımcı olur.
 

LeaveNhA

Doçent
Katılım
4 Aralık 2011
Mesajlar
598
Reaksiyon puanı
5
Puanları
18
[MENTION=25201]cgrszone[/MENTION]; teşekkürler üstadım, aslında uğraşmak denmez ona, sadece hani yorumları okumak ve babamın iphone'undan video'yu bilgisayara atmak ha birde youtube'a upload etmek zor oldu o kadar. :D

geri kalanı üç beş satır niteliksiz kod zaten, ayrıca sublime text ayrı bir derya, halen çözme aşamasındayım, gerçekten mükemmel bi program, tasarımcısına da burdan tekrar tekrar teşekkür ediyorum. :D

bu video banada bişeyler kattı, mesela neymiş, iphone denen cihaz tam bir kullanıcı düşmanıymış, kendi dünyası var gibi davranıyormuş.
easyphp adında ki sezgisel mesajdan ziyade bağzen "hard" olabiliyormuş, Code::Block derleyicisi gerçekten bağzen işin b*kunu çıkarabiliyormuş, jquery'de hemen hemen her zamanki gibi, bir noktanın hesabını yapabiliyormuş. :D

uyku sersemiyim, yazdım bitirdim, ya sınıf seçicisi kullanıcam yazıyorum eklemiyor, dedim senin gibi framework'ü ben.... :D
bi baktım "." yok. :D

neyse öyle böyle 15 dakikalık sinirli bi süreçle hallettim, dediğim gibi programın yada sistemin geliştirme ve tasarım sürecinde sizinleyim, C++ biliyorum, yardımım dokunur... ;D

Dediğin gibi yani, sonuçta hiç kimse sql sorgulaması yapmayın demiyor, sql sorgulaması sırasında önlem alıyoruz. Benim amacım kontrol için ayrı ayrı program yazmamaktı, android için ayrı, windows için ayrı linux için ayrı gibi.

Tekrardan güvenliği de şöyle düşünelim. Windows için "araci.exe -ekrangoruntusu 800x600" "araci.exe -kapat 5sn" burada çıkacak sorunları öngörmek gerek tabi, ondan sonrası da sorun değil". En temelde bruteforce için kullanılan yollardan captcha ve bekletme kullanmakta yardımcı olur.

bruteforce güzel yöntem ama kriptoloji tutkunu biri olarak daha iyi yöntemler var, özelliklede hatası yapısından kaynaklanan böyle bir sistem için... :D
 

illoarmad

Asistan
Katılım
18 Haziran 2012
Mesajlar
154
Reaksiyon puanı
0
Puanları
0
Evet, bunu yaptım. Malzemeler, Python, CherryPy modülü, Image modülü, ImageGrap modülü. Genel ağa(internete açmak için) port yönlendirmek yeterli. Güvenlik önlemleri almak işten değil. Arayüzde şifreyi girince o anki ekran görüntüsü web arayüzüyle karşımıza çıkıyor.
 
Üst