Pages

Showing posts with label Web. Show all posts
Showing posts with label Web. Show all posts

Saturday, January 25, 2014

Microsoft Hackcon CTF - Challenge 8 - Email Harvesting

The question was to find all the emails of the given site. The initial page of the site showed just a link, a link to another page. That page contained 2 links both leading to 2 different pages. From that point on wards each page showed 2 different links to 2 other pages and so on. The 11th level of page showed one email id.

From this style of information, we could deduce that the arrangement is similar to that of a binary tree. Since the page at the 11th level showed the email address, there would be 2^10 ie., 1024 email ids. So we needed to design a version of binary tree traversal algorithm to get all the email ids.

Wednesday, January 1, 2014

Same Origin Policy and JSONP


Some days back, I was developing a mobile application that needed communication with the server. Since I was learning about node.js, I decided to give it a try and make the web app in node. Earlier I used J2EE Servlets, which seems fairly simple, but very heavyweight for my educational projects. So, I thought node.js will be a lightweight substitute. Also, I was not using the native mobile application development to develop the app on android. I was using Phonegap to make a HTML-CSS-JS based app, and used jQuery mobile to do the JS part. So I thought if I opted for node.js on server side, it will be an all Javascript project which seemed like fun.

As I started and tried to do the basic things I always try out first - Send something from client to server, do something with the data, Send back something to the client, display it - I was addressing a new problem that I was not familiar with - Same Origin Policy.

Saturday, December 21, 2013

Event Driven Asynchronous Callbacks in node.js


In J2EE Servlets, which I previously used for web application development, each request is handled by a separate java thread. The whole requests runs on that thread unless we create a new thread to do things inside it. PHP also does work in a similar way. But node is quite different in this. Node works as a single process. If there is a slow part somewhere in the program, then the whole process will be slow, and no other requests will be taken up in the meantime. This may be heard as a very big disadvantage, but there is a workaround that makes node.js advantageous over others. That is by using Event Driven Asynchronous Callbacks.

Tuesday, December 17, 2013

A newbie's path to web application development using node.js


Javascript have always amazed me. It has a unique talent of doing complex things in a very easy manner, proved by the amazing jQuery. Some time ago, I had struggled to do pretty much everything related to web and mobile app development, but javascript have done me a lot of help. I used jQuery mobile with Phonegap to build my small android applications with considerable less amount of time compared to what I used to take when I was using its traditional coding way. Occasionally, I also had to create some backend web applications for my mobile app to communicate, for which I studied some basics of J2EE Servlets. My applications needed only the basic things, just a web server to communicate with and do some database operations. Presently, a friend of mine asked me to help him out with his academic project and was looking forward on creating another web app backend with J2EE, I stumbled upon node.js. I knew it could do what I want and better with a lot less effort. So I thought I would give it a try, and here I am blogging as I study more about node.js

Saturday, December 14, 2013

Using Firebug Firefox Extension to manipulate cookie headers

Sure, You can always use webscrap for manipulating HTTP Request, But this method is a lot simpler.

Steps:
1. Install the Firebug plugin for firefox
2. Open it, the icon will be there at the top right corner.