Skip to content
Permalink
Browse files Browse the repository at this point in the history
sql injection changes
  • Loading branch information
dashdeep13 committed Apr 29, 2015
1 parent 9711131 commit 39b4950
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 17 deletions.
21 changes: 21 additions & 0 deletions HeatMapServer/src/com/datformers/database/OracleDBWrapper.java
@@ -1,6 +1,7 @@
package com.datformers.database;

import java.sql.*;
import java.util.ArrayList;
import java.util.Enumeration;


Expand Down Expand Up @@ -46,6 +47,26 @@ public ResultSet executeQuery(String query) {

return rs;
}
public ResultSet executeValidateQuery(String query,ArrayList<String> params) {
PreparedStatement preparedStatement;

ResultSet rs = null;

try {
preparedStatement=conn.prepareStatement(query) ;
for(int i=0;i<params.size();i++) {
preparedStatement.setString(i+1,params.get(i));
}

rs = preparedStatement.executeQuery();

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return rs;
}
public void closeConnection() {
try {
conn.close();
Expand Down
7 changes: 5 additions & 2 deletions HeatMapServer/src/com/datformers/servlet/AddAppUser.java
Expand Up @@ -6,17 +6,20 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import com.datformers.database.OracleDBWrapper;
import com.datformers.utils.DatabaseUtil;


public class AddAppUser {
String query = "";
ArrayList<String> params=null;
OracleDBWrapper wrapper;

public AddAppUser(String str){
public AddAppUser(String str,ArrayList<String> p){
query = str;
params=p;
wrapper = new OracleDBWrapper(DatabaseUtil.getURL(DatabaseUtil.IP), DatabaseUtil.UERNAME, DatabaseUtil.PASSWORD);
}
public ResultSet addUser(){
Expand All @@ -25,7 +28,7 @@ public ResultSet addUser(){
//String query1 = "Insert into APPUSER(USER_ID,EMAIL,PASSWORD,FIRST_NAME,LAST_NAME,IS_FACEBOOK_LOGIN)"
// + " values (usr_id.NEXTVAL,'aryaa@seas.upenn.edu','test','ARyaa','Gautam','Y')";

ResultSet rs = wrapper.executeQuery(query);
ResultSet rs = wrapper.executeValidateQuery(query, params);
return rs;


Expand Down
Expand Up @@ -36,7 +36,7 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) {
+ "where business.city='" + city
+ "' and categories.category='"+category +"'"
+"order by c.check_in_info DESC";
System.out.println("QString: "+queryString);

ResultSet set = dbWrapper.executeQuery(queryString);
if(set==null) {
return;
Expand Down
35 changes: 21 additions & 14 deletions HeatMapServer/src/com/datformers/servlet/LoginServlet.java
Expand Up @@ -5,6 +5,7 @@
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Formatter;

import javax.servlet.http.HttpServlet;
Expand Down Expand Up @@ -41,22 +42,24 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) {
String isValidPwd = "";
response.setContentType("text/html");
PrintWriter out = response.getWriter();
System.out.println("user:pwd" + username + password);

if (username.isEmpty() || password.isEmpty()) {
out.println("<html><head><body><p>A mandatory field is empty!<p></body></head>");
System.out.println("EMPTY");
return;
}
AddAppUser tmp = null;
String query = "Select password from APPUSER where email LIKE '"
+ username + "'";
System.out.println(query);
tmp = new AddAppUser(query);
String query = "Select password from APPUSER where email=?";
// + username + "'";

ArrayList<String> params=new ArrayList<String>();
params.add(username);
tmp = new AddAppUser(query,params);
ResultSet res = tmp.addUser();

if (res.next()) {
isValidPwd = res.getString("password");
System.out.println(isValidPwd);

}

password=encryptPassword(password);
Expand Down Expand Up @@ -101,27 +104,31 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) {
// System.out.println("<html><head><body><p>A mandatory field is empty!<p></body></head>");

} else {
String query = "SELECT count(*) as cnt FROM APPUSER WHERE email LIKE '"
+ email + "'";
String query = "SELECT count(*) as cnt FROM APPUSER WHERE email=?";
// + email + "'";
// System.out.println("Signup query" + query);
AddAppUser add = new AddAppUser(query);
ArrayList<String> params=new ArrayList<String>();
params.add(email);
AddAppUser add = new AddAppUser(query,params);
ResultSet res = add.addUser();
int count = 0;
if (res.next()) {
count = res.getInt("cnt");
}

add.closeDb();
System.out.println("Signup query" + query);

if (count > 0) {
// System.out.println("Already Registered");
out.println("<html><head><body><p>This email id is already registered!!</p></body></head>");
} else {
// System.out.println("Registering!");
params=new ArrayList<String>();
params.add(email);
String query1 = "Insert into APPUSER(USER_ID,EMAIL,PASSWORD,FIRST_NAME,LAST_NAME,IS_FACEBOOK_LOGIN)"
+ " values (usr_id.NEXTVAL,'"
+ email
+ "','"
+ " values (usr_id.NEXTVAL,?"
// + email
+ ",'"
+ encrypt
+ "','"
+ first
Expand All @@ -130,7 +137,7 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) {
+ "','"
+ isFbLogin + "')";
// System.out.println(query1);
AddAppUser tmp = new AddAppUser(query1);
AddAppUser tmp = new AddAppUser(query1,params);
tmp.addUser();
tmp.closeDb();
response.sendRedirect("main.html");
Expand Down

0 comments on commit 39b4950

Please sign in to comment.