JSP | Doğrulama kodu(Özel) | Recaptcha(Custom)

Merhaba, Genellikle formları bot ve spamlardan korumak amacıyla kullanılan doğrulama kodu için Google'un apisini kullanıyordum. Hem tasarımı olsun hemde hızlı olmasından dolayı. Fakat formları post ettikten sonra ajax ile belirli Konu J2EE tarafından açılmış, 119 kişi tarafından görüntülenip, 0 yanıt almış.

Özel Yazılım Trojan+, güncellemeli ve garantili. Sadece 690TL! Kredi kartınıza 12 taksit kolaylığı!


Karşı sistemi kendi makineniniz gibi kullandıran uzaktan yönetim programı.
  • Canlı ekran izleme,vnc ve mouse kontrolü
  • Antiviruslerce %100 tanınmaz, güncelleme garantili
  • Ortam sesi dinleme
  • Webcam izleme
  • Online/offline keylogger
  • Kopyala/Yapıştır, Clipboard Yöneticisi (Canlı)
  • Warlogger desteği
  • Çalıştırma,upload,download,yeniden adlandırma,silme,gizli çalıştırma,thumbnail görüntüleme(indirmeden dosya görme)
  • Registry yöneticisi (tam özellikli)
  • Msn şifrelerini ve geçmişteki tüm adresleri çıkartma
  • Firefox şifrelerini çözme
  • Görev yöneticisi, görev sonlandırma
  • Çalışan programları listeleme
  • Bağlı sistemlerin yaptığı işlemleri tek listede görme!
  • Binder / dosya birleştirici
  • Virus tipinde resource kullanmadan bindleme özelliği
  • Mp3,resim,jpeg,vs her türlü dosya ile birleşip,exploitler ile link üzerinden,htmlden yayılır
  • Keyloggerda dll kullanmadan system hooklarıyla loglama ve tabii dll kullanmadan kimse yapamıyorken %100 sisteme zarar vermeden stabil bütün dünya dillerinde loglama.
  • Internet Explorer 9 şifre çözme
  • Chrome Şifreleri (bütün sürümler)
  • Firefox Şifreleri (bütün sürümler)
  • Internet Exporer Şifreleri (bütün sürümler)
  • Safari Şifreleri (bütün sürümler)
  • Reklam Bot ile site reklamı, dosya yükletme, bulaştırma,vs. MSN,Yahoo Messenger,ICQ ve AIM sistemlerinin hepsini tanır. Reklam bot aynı anda birden fazla sisteme komut verebilir.
  • Browserda geçmiş verileri, form girdilerini kayıt edip trojandan erişme
  • Klavye Kilitleme
  • Mouse Kilitleme
  • Masaüstü Gizleme
  • Sistemlere takılı flash/usb disk varsa bulaştırma Birden fazla sisteme aynı anda autorun oluşturabilir.
  • Uzaktan exe yükletme Aynı anda birden fazla sisteme exeleri tek komutla yükletebilir.
  • Fake sistem kilitleme. Tek tıklama ile karşı sistemi restart/yeniden başlat moduna geçmiş gösterip kilitleme. Kullanıcı fişten çekmediği sürece siz istemedikçe bilgisayarı kapatamaz, yeniden başlatamaz.
  • Karşı sistemin yeniden başlatılma talebinde masaustu ve bütün ekranı kapanıyor gibi gösterip kapanış sesini çalara kullanıcıyı bekletme. Kullanıcı sistemi kapatmak istediğinde siz izin vermezseniz windows kapanmaya çalışıyor gibi görünür ancak yonetim panelinden her türlü işlem yapılır.
  • Sistem servislerini yönetme
  • Outlook şifreleri çözme. (bütün outlook versiyonları outlook expressler dahil)
  • Otomatik güncelleme özelliği ile yakalanma durumunda kısa sürede otomatik güncelleme alma
Sadece 690 TL! Satın almak için iletişim formunu kullanabilirsiniz.


Ayrıca, iki farklı üst sürümü var:
Özel Trojan 990 TL: İstediğiniz isimle çalışıp, istediğiniz yere kopyalanır ve başlangıçta, msconfig'de, registry'de görünmez.
ÖZEL TROJAN 1490 TL: Görev yöneticisinde ve sistemin hiç bir yerinde görünmez.


Sürümler: 1200 TL: - Kimsenin bulamayacağı şekilde çalışır!> m3hm3t. 1750 TL: %100 gizlidir, RAM'de çalışır ve bentrojanim.exe olarak çalışsa dahi hiç bir yerde görünmez.

Wardom.Com.TR bir bilgisayar güvenliği sitesidir; hack konuları bilgisayar güvenliğinin ve bilgisinin uç noktaları olduğundan dolayı, kullanıcıları bu konularda bilgilendirmek ve güvenliklerini arttırmak için yazılmaktadır.

Geri Dön   Wardom.Com.TR > Programlama > Java
Üye Ol Sözlük Üye Listesi Arama Yeni Mesajlar Forumları Okundu İşaretle

Konu Başlıkları: are you human java jsp recaptcha
Üye Olmadan Yorum Yazmak İçin Tıklayın!
JSP | Doğrulama kodu(Özel) | Recaptcha(Custom) konusundaki toplam yorum: 0, okunma sayısı: 119.
 
Eski 08-09-2011, 11:22   #1
J2EE
Forum Kalfası
 
J2EE's Avatar
 
Kayıt Tarihi: Oct 2008
Üye numarası: #268608
Yer: Bakırköy
Mesaj sayısı: 1,866
Karma etkisi: 3755 J2EE seviye: 2000J2EE seviye: 2000J2EE seviye: 2000J2EE seviye: 2000J2EE seviye: 2000J2EE seviye: 2000J2EE seviye: 2000J2EE seviye: 2000J2EE seviye: 2000J2EE seviye: 2000J2EE seviye: 2000
Karma: 375073
JSP | Doğrulama kodu(Özel) | Recaptcha(Custom)

Merhaba,

Genellikle formları bot ve spamlardan korumak amacıyla kullanılan doğrulama kodu için Google'un apisini kullanıyordum. Hem tasarımı olsun hemde hızlı olmasından dolayı. Fakat formları post ettikten sonra ajax ile belirli div alanlarının içini refresh ettirdiğinizde malesef Google apisi kayboluyor. Bunun sebebi google apisinin çalışma mantığı sayfanın refresh edilmesine göre kod üretmesidir. Bunu aşmak için kendi doğrulama kodumu yazmaya karar verdim. Kaynak olarak 7-8 tane kaynak buldum derleyip, ufak bir şey ürettim.


İşe koyulalım.

Yapı olarak, spagetti koddan nefret etmem ve bir düzen aşığı olarak. Var olan web sayfalarının (jsp) içine minimum kod yazmayı esas kabul ediyorum. Bütün işi arka tarafta mutfakta(class'lar içinde) yapıp bize lazım olanı elde edip, sunmak en iyilerinden biri olsa gerek.

Recaptcha Class'ı.

MyReCaptcha.java


Kütüphaneler


Alıntı:
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Iterator;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author turgay
*/

Alıntı:

public class MyReCaptcha {

public MyReCaptcha(HttpServletRequest request, HttpServletResponse response) {


String imageFormat = "jpg";
response.setContentType("image/" + imageFormat);

try {
// Imaj Ozellikleri

Color backgroundColor = Color.BLUE; //Arka Plan rengi
Color borderColor = Color.black; //Kenarlık Rengi
Color textColor = Color.white; // Yazi rengi
Font textFont = new Font("Arial", Font.PLAIN, paramInt(request, "fontSize", 20)); //Yazi tipi
int charsToPrint = 6; //Yazi boyutu
int width = paramInt(request, "width", 100); //imaj genisliği
int height = paramInt(request, "height", 30); //imaj yükseklşiği
float horizMargin = 20.0f; //yatak bosluk
float imageQuality = 0.95f; // Imaj kalitesi(Maksimum deger 1.0)
double rotationRange = 0.7; // Yazılarin ekrandaki durusu (Donus deger aralıgı)

BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

Graphics2D g = (Graphics2D) bufferedImage.getGraphics();

g.setColor(backgroundColor);
g.fillRect(0, 0, width, height);

g.setColor(textColor);
g.setFont(textFont);

FontMetrics fontMetrics = g.getFontMetrics();
int maxAdvance = fontMetrics.getMaxAdvance();
int fontHeight = fontMetrics.getHeight();

String elegibleChars = "ABCDEFGHJKLMPQRSTUVWXYabcdefhjkmnpqrstuvwxy234567 89";
char[] chars = elegibleChars.toCharArray();

float spaceForLetters = -horizMargin * 2 + width;
float spacePerChar = spaceForLetters / (charsToPrint - 1.0f);

StringBuffer finalString = new StringBuffer();

for (int i = 0; i < charsToPrint; i++) {
double randomValue = Math.random();
int randomIndex = (int) Math.round(randomValue * (chars.length - 1));
char characterToShow = chars[randomIndex];
finalString.append(characterToShow);

int charWidth = fontMetrics.charWidth(characterToShow);
int charDim = Math.max(maxAdvance, fontHeight);
int halfCharDim = (int) (charDim / 2);

BufferedImage charImage = new BufferedImage(charDim, charDim, BufferedImage.TYPE_INT_ARGB);
Graphics2D charGraphics = charImage.createGraphics();
charGraphics.translate(halfCharDim, halfCharDim);
double angle = (Math.random() - 0.5) * rotationRange;
charGraphics.transform(AffineTransform.getRotateIn stance(angle));
charGraphics.translate(-halfCharDim, -halfCharDim);
charGraphics.setColor(textColor);
charGraphics.setFont(textFont);

int charX = (int) (0.5 * charDim - 0.5 * charWidth);
charGraphics.drawString("" + characterToShow, charX,
(int) ((charDim - fontMetrics.getAscent())
/ 2 + fontMetrics.getAscent()));

float x = horizMargin + spacePerChar * (i) - charDim / 2.0f;
int y = (int) ((height - charDim) / 2);
g.drawImage(charImage, (int) x, y, charDim, charDim, null, null);

charGraphics.dispose();
}

g.setColor(borderColor);
g.drawRect(0, 0, width - 1, height - 1);

Iterator iter = ImageIO.getImageWritersByFormatName(imageFormat);
if (iter.hasNext()) {
try {
ImageWriter writer = (ImageWriter) iter.next();
ImageWriteParam iwp = writer.getDefaultWriteParam();
if (imageFormat.equalsIgnoreCase("jpg") || imageFormat.equalsIgnoreCase("jpeg")) {
iwp.setCompressionMode(ImageWriteParam.MODE_EXPLIC IT);
iwp.setCompressionQuality(imageQuality);
}
writer.setOutput(ImageIO.createImageOutputStream(r esponse.getOutputStream()));
IIOImage imageIO = new IIOImage(bufferedImage, null, null);
writer.write(null, imageIO, iwp);
} catch (IOException ex) {
Logger.getLogger(MyReCaptcha.class.getName()).log( Level.SEVERE, null, ex);
}
} else {
throw new RuntimeException("no encoder found for jsp");
}

request.getSession().setAttribute("captcha", finalString.toString()); // Dogrulama kodunun dogrulugunu test icin session ataması

g.dispose();
} catch (Exception ioe) {
throw new RuntimeException("Unable to build image", ioe);
}

}

public static String paramString(HttpServletRequest request, String paramName, String defaultString) {
return request.getParameter(paramName) != null ? request.getParameter(paramName) : defaultString;
}

public static int paramInt(HttpServletRequest request, String paramName, int defaultInt) {
return request.getParameter(paramName) != null ? Integer.parseInt(request.getParameter(paramName)) : defaultInt;
}
}
Arayüzde kullanımı

index.jsp

Alıntı:
<%--
Document : index
Created on : 08.Eyl.2011, 09:50:24
Author : turgay
--%>

<%@page import="util.MyReCaptcha"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Ozel Dogrulama Kodu</title>
<style>

</style>
</head>
<body>
<table>
<tr><td>
<form method="POST" action="index.jsp">
<% MyReCaptcha cs = new MyReCaptcha(request, response);%>
<input type="text" name="recaptcha" id="recaptcha" />
<%if(session.getAttribute("captcha").equals(reques t.getParameter("recaptcha"))){
out.println("Dogru");
}else{
out.println("Yanlis");
}%>
</form>

</td></tr>
</table>
</body>
</html>
Ekran :



Kolay gelsin.

Kullanımda problem yaşayanlar, bu başlık altından sorabilir.

Yararlandıgım kaynaklar.

Kaynak 1

Kaynak 2

Düzenleyen J2EE : 08-09-2011 at 11:33.
J2EE Çevrimdışı   Alıntı Yaparak Cevapla

Görüntülediğiniz konu içerik sağlayıcı paylaşım sitelerinden biri olan Wardom Internet Adresimizde 5651 Sayılı Kanunun 8. Maddesine ve T.C.Knın 125. Maddesine göre yayınlanmakta olup içeriğinden yazarı sorumludur. Bu konu hakkında yapılacak tüm hukuksal şikayetler için webmaster \@wardom.org adresi ile iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 (üç) gün içerisinde Wardom yönetimi olarak tarafımızca gereken işlemler yapılacak ve avukatlarımız size dönüş yapacaktır.
Üye Olmadan Yorum Yazmak İçin Tıklayın!
Konudaki toplam yorum: 0, okunma sayısı: 119.
Cevapla





Şu Anda Konuyu Görüntüleyenler: 1 (0 üye ve 1 misafir)
 
Konu Araçları Bu Konuda Ara
Bu Konuda Ara:

Gelişmiş Arama

Bu Konuda Aradığınızı Bulamadıysanız Şunlara Bakmanızı Öneririz
Konu Konu Yazarı Forum Cevaplar Son Mesaj
windovslive e-posta doğrulama sorunu trmytwins MSN, ICQ, IM Güvenliği 0 16-08-2011 21:38
E-Posta Doğrulama (Resimli Anlatım) Sylvester Stallone MSN, ICQ, IM Güvenliği 3 26-08-2010 17:29
WARDOMDA İLK! HOTMAiLDEN İSTEDİĞİNİZ GİBİ ADRES ALIN!!! (Doğrulama Mesajı Geliyor) fmetin MSN, ICQ, IM Güvenliği 58 19-03-2007 20:07

Gönderme Kuralları
You may not post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smilies Açık
[IMG] Kodu Açık
HTML Kodu Kapalı

Forum Seç


Hacking ve Bilgisayar Güvenliği Öğrenmek İçin!

Forum saati Türkiye saatine göredir. GMT +3. Şuan saat: 17:00.
(Türkiye için GMT +2 seçilmelidir.)


Wardom.org



İçerik sağlayıcı paylaşım sitelerinden biri olan Wardom Internet Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Wardom hakkında yapılacak tüm hukuksal şikayetler için webmaster \@wardom.org adresi ile iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 (üç) gün içerisinde Wardom yönetimi olarak tarafımızca gereken işlemler yapılacak ve avukatlarımız size dönüş yapacaktır.