Nasıl tarayabilir / vulnerabilites için benim kod tüylenme?

8 Cevap php

Benim app tüylenme veya güvenlik açıklarını taramak için otomatik bir yol arıyorum. Hackleme bilginin 0 olduğunu varsayalım lütfen. Ben bir internet bağlantısı dayanmadan yerel olarak tüylenme için bir yol gerekir bu yüzden de kaynak benim localhost üzerinde. Bazı güvenlik uzmanları bana bazı ipuçları veya öneriler verebilir misiniz? Ben en iyi ne seçenekleri emin değilim.

Edit:

Thanks for the effort to answer, but none so far seems to get the point. (o soruyu yardımcı olduğu) daha spesifik olmak ister ama belirli bir ürünün reklamını gibiyim görüşler etkileyen veya sondaj olmadan ediyorum. Ben isimden söz etmek wapiti (üzgünüm gibi bir şey arıyorum, ama vardı kulüpler, çünkü bugüne kadar SQL enjeksiyonu hakkında bilgi edinmek gibi cevaplar, xss vs bu soruya açıkça gerçek değil "uzman" cevaplar. I zaten biliyorum bu (seriously, does this question sound like it could asked by someone who doesn't know salt about security?)

Ben how test yapmalıyım soruyorum, whether test yapmalıyım sormuyorum. I already decided otomasyonu dahil (ve kimse bana yararsız kanıtlıyor bir uzman cevap vermedikçe hiç bu kararın geri dönüş yok), bu yüzden otomatikleştirmek istiyorum benim karar saygı lütfen. Ben liste hack her derlenmiş xss, sql enjeksiyon, vb geçmesi ve siteme karşı elle kendimi denemek istemiyorum (even hackers don't hack that way). Sorusunu alır herkes süper ekstra puan.

Some people are asking why not just learn. Best practices (which I know) are not the same as knowing hacking. Some people want to argue they're a flip-coin, but I definitely don't agree :) hence I need a protection tool by someone with the "hacker mentality". How is that going to hurt, in fact, you should try it too ;) Expert answers please from those who know.

8 Cevap

services açıkları için otomatik tarama yapacağız ki vardır. Onlar her şeyi yakalamak değil, ama sorunları belirlemenize yardımcı olacaktır. Yapabileceğiniz en iyi şey bu hizmetlerden birini kullanmak ve bazı güvenlik en iyi uygulamaları öğrenmektir.

sql injection ve cross site scripting öğrenmeye başlayın. Bu güvenlik açıkları düzeltmek için en büyük ve en kolay olanlardır.

Savunmaya Programlama IMHO her programcı öğrenmesi gereken bir beceridir.

There is no substitute for understanding these issues on your own.

Kesinlikle sizin sorunuzu yanıtlamak için test etmeniz gereken yol bir araç kullanmaktır. Eğer kullanabileceğiniz araçlar 2 ana tipi, aktif çalışan bir web sitesi ya da webapp oluşturmak için kullanabileceğiniz kaynak kodu üzerinde çalışan bir statik analiz aracı yoklayan bir güvenlik tarayıcı vardır.

Kısa cevap wapiti veya geğirmek gibi güvenlik tarama aracı istiyorum. Bu gibi araçlar dinamik oluşturmak ve siteniz için benzersiz güvenlik testleri yürütmek. Siz elle kendi sitenizi yararlanmaya çalışabilir ama bu çok zaman alır ve herhangi bir değer sağlamak değildir. Her konu için geçerlidir bu siteye benzersiz çünkü bilinen xss veya sql enjeksiyon sorunların bir listesi geçmesi için yararsız olacaktır. Size daha sıkı bir güvenlik stres testi vererek yapabilirsiniz sonra Ayrıca bu araçlar sitenizi daha saldırabilir.

2 kullanabileceğiniz ana araçları, statik analiz araçları ve dinamik analiz araçları vardır. Kaynak kodu okumak Statik analiz araçları, veri uygulaması akar yolunu anlamaya ve güvenlik sorunları arayın. Köklerindeki çoğu güvenlik sorunları, bir uygulamanın bir parçası olmayan akar bazı verileri kontrol etmek için bir kullanıcı izin böylece uygulama çalışmıyor ve sen, durdurma problemine karşı "tahmin" ve çalışmakla statik analiz yöntemi ovmak bile üzerinden her bir kod yolu iyi sonuçlar verebilir. Statik analiz araçları dil bağımlı olan ve en pahalıdır. Bazı ücretsiz olanları FxCop (C #) vardır, PMD ve findbugs (java), bkz http://en.wikipedia.org/wiki/List%5Fof%5Ftools%5Ffor%5Fstatic%5Fcode%5Fanalysis

Istediğiniz daha ne gibi bunun karşı testler böylece (daha yaygın sadece "güvenlik tarayıcı" olarak adlandırılır) Dinamik analiz araçları kurulum sizin webapp gerektirir, bu sesler. Burada en sevdiğim araç bazı ücretsiz olanlar da iyi Wapiti dahil, geğirmek olduğunu. Bu araçlar, app verilerini nasıl işleyeceğini bakmak girişler için bakmak ve güvenlik açıklarını tetiklemek amacıyla kötü niyetli veri ile doldurmak olacaktır. Test cross-site scripting, tarayıcı bir sayfaya bakmak ve her sorgu dizesi değer haline javascript eklemek, çerez değeri, form değer vs ve daha sonra kötü niyetli javascript geri echod eğer sayfa görmek için kılacak yansıtılan için bir örnek test olacaktır sayfa.

Büyük olasılıkla ihtiyaç veya bir Fuzzer istemiyorum. Ayrıştırma bir sürü kod olduğunda Fuzzing araçları çoğunlukla bunu yapıyoruz bir protokol için iyi bir uyum olurdu oysa bu yüzden bir fuzzer bir webapp için en uygun değildir size yardımcı olur. Orada yukarıda listelenen güvenlik tarayıcı araçları sınırlı tüylenme yetenekleri ve muhtemelen bu daha sonra ihtiyacım yok. Fuzzers da inşa etmek için zaman ayırın. Zaten doğru olanı yapıyor inşa az kütüphaneler webapp durumda tabiri caizse az "oynamak için fuzzers oda" var, var çünkü Fuzzers sık c / c + + kodunda daha fazla şeyler bulabilirsiniz.

Eğer otomasyon (muhtemelen muhtemelen anlayamazsın sonuçlar verecek olan) deli gitmeden önce, ben yerine güvenli kod yazma okumak ve yanlış yapıyorsun şeyleri tanımlamak için öğrenmek öneririm. İşte başlamak için bazı öğreticiler:

http://php.net/manual/en/security.php

Bu başarısız, ben bunu göze eğer bir güvenlik firması için kodunuzu dış kaynak öneririm.

İyi şanslar!

Eğer C bilmek koşuluyla, sen başak ile çalışabilir, Onun makul sadece son kullanıcı, biçim dizesi saldırılar için olağan% x% x% x testleri ve dokunduğu olabilir şey taşmaları için manuel kontrol yapmak için her zaman iyi statik analiz gayretli olmak.

Şeftali Surat ve SPIKE hem de belgelenmiştir.

Kendi yazma önemsiz olduğunu, bu başarısız.

Tüylenme ne olduğunu bilmek ve yaklaşım isteyebilirsiniz nasıl mutlaka iyice güvenlik açıkları ve kusurları için yazılım test etmek ve değerlendirmek için gerekli becerileri yol açmaz. Eğer otomatik test kullanmanız gerekir, ama sen bu kadar yeni giriş yolları, etkileşimleri ve bulmak gibi aracı yapıyor test değiştirmek ayarlı bir şekilde.

Temelde, ne diyorum size bu gerçek bir katma değeri olmak istiyorsanız ne yaptığını bilmek gerekir olmasıdır. Sen sadece bir araç almak çalıştırmak ve iyi sonuçlar elde etmek için bekleyemeyiz. Sizinle veya sizin için ya da çalışmak için test bu tür yok birine ihtiyacım var. Araçlar yararlıdır, ama bu teknikte uzman birisi tarafından kullanıldığında sadece faydalı sonuçlar verebilir.

Ben Paros kullandım - http://www.parosproxy.org/ - kendi ücretsiz, kullanımı kolay ve görüntüler hem hata nedeni, olası düzeltme ve nasıl (genellikle bir link) çoğaltmak için.

Kolay tüm sitenizi yapılandırmak ve örümcekler için - aynı zamanda yerel kurulumları örümcek olabilir.

Bu aynı zamanda bir gui var.

Onun eski, ama onun iyi ve kolay.

Ben Wapiti yapılandırmak için çalıştım ama benim için çok zor basitçe oldu.

Ben (yukarıda benim diğer yanıt bakın) benim kendi uygulama için yıllardır bu konuyu araştırma ve Paros dayalı son zamanlarda fantastik bir araç bulundu oldum

Onun OWASP gelen ZAP ve ördekler fındık.

Yapabileceğiniz en iyi şeylerden biri bir build test seferlerine yaptığınızda öylesine inşa / proje otomasyon içine ZAP entegre olduğunu.

Daha da iyisi, daha sonra ...... onlardan cehennem tarama, test 'toplama' sayfalarına yanındaki selenyum için otomatik testler bunu oturabilir!

Onun gerçekten iyi belgelenmiş, ama sayfa başına testler yüzlerce çalışan olarak hızlı bir PC gerekir. Eğer bir bütün site yapıyorsanız biraz zaman alabilir.

Eğer düşünebilirsiniz diğer bazı araçları vardır

Ben kullanımı scarily kolay ve çok çok kapsamlı .... bu aracı buldum.

Ben ne düşündüm ZAP ile bir 'yalancı pozitif' var oldu zaman, ben sqlmap ile sayfayı taramak istiyorum (Python kullanmak nasıl şekil vermeliyim - kolay, birkaç saat sürdü) ve sqlmap yanlış pozitif doğrulamak olacaktır ya veya güvenlik açıklarını bulmak.

Lütfen bir WAMP (LAMP aksine) yığını, ve PHP Açığı Hunter bakmak isteyebilirsiniz php koduna ettik erişimi çalışıyorsa (http://www.autosectools.com/Page/PHP-Vulnerability-Hunter-Change-Log).