Posting blog "
How I hacked Jroller.com" ini menjelaskan bagaimana kita bisa mengupload file yang berbahaya dengan memanfaatkan bug pada kode program. Triknya sebenarnya simple yaitu menggunakan null byte pada nama file yang akan diupload. Dibawah ini contoh sederhana bagaimana nama file
trojan.jsp\000.gif
dapat berubah menjadi
trojan.jsp
public class Test {
public static void main(String[] args) {
String uploadedFileName = "trojan.jsp\000.gif";
byte[] buffer = new byte[8192];
int bytesRead = 0;
try {
InputStream stream = new FileInputStream("C:\\test.log");
// Save a file with strange file name
OutputStream bos = new FileOutputStream("C:\\"+ uploadedFileName);
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);
}
bos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Jadi hati-hatilah dengan kode program kita, validasi yang benar akan menghindarkan kita dari lubang keamanan.
No comments:
Post a Comment